The public, graded record.
Player-level probabilities for every MLB slate: pitcher strikeouts, batter hits, batter home runs. Published before first pitch, graded against Statcast that night, never edited. The goal is calibration, not beating the market. When this engine says 30%, it should happen about 30% of the time, and this page is the test. Probabilities, not picks. Not betting advice.
Void rules, stated in advance: published late voids. Postponed voids. A pitcher who does not start, or a batter outside the starting nine, voids. Voids stay on the record.
Strikeout board
0.209 running Brier over 159 line-gradesOne distribution per probable starter. P(over) at the standard lines derives from the full strip, never estimated separately. Since 7/18, each starter publishes when the opposing lineup posts, so the lineup-aware feature sees the nine he actually faces; if a lineup still is not posted 60 minutes before first pitch, the prediction publishes from a roster-filtered projection instead. The archive records which (opp_nine_source).
| Pitcher | Matchup | First pitch | E[K] | K distribution 0 to 12+ | P(K>4.5) | P(K>5.5) | P(K>6.5) |
|---|---|---|---|---|---|---|---|
| Sean Burke | CWS vs TOR | 12:15 PM ET | 5.4 | 66% | 47% | 29% | |
| Trey Yesavage | TOR vs CWS | 12:15 PM ET | 4.8 | 56% | 39% | 20% | |
| Yoshinobu Yamamoto | LAD vs NYY | 12:35 PM ET | 6.0 | 73% | 56% | 35% | |
| Cam Schlittler | NYY vs LAD | 12:35 PM ET | 6.0 | 73% | 61% | 50% | |
| Grant Holmes | ATL vs TEX | 1:35 PM ET | 4.5 | 47% | 29% | 17% | |
| Sonny Gray | BOS vs TB | 1:35 PM ET | 5.0 | 54% | 42% | 23% | |
| Nolan McLean | NYM vs PHI | 1:35 PM ET | 5.6 | 69% | 50% | 36% | |
| Alan Rangel | PHI vs NYM | 1:35 PM ET | 4.9 | 57% | 39% | 28% | |
| Shane McClanahan | TB vs BOS | 1:35 PM ET | 4.9 | 54% | 37% | 19% | |
| Nathan Eovaldi | TEX vs ATL | 1:35 PM ET | 6.2 | 74% | 62% | 44% | |
| Joey Cantillo | CLE vs PIT | 1:40 PM ET | 5.8 | 66% | 55% | 40% | |
| Paul Skenes | PIT vs CLE | 1:40 PM ET | 6.0 | 70% | 59% | 43% | |
| Hunter Brown | HOU vs BAL | 2:10 PM ET | 5.4 | 65% | 47% | 27% | |
| Noah Cameron | KC vs SD | 2:10 PM ET | 5.1 | 62% | 44% | 22% | |
| Eury Pérez | MIA vs MIL | 2:10 PM ET | 5.5 | 65% | 50% | 33% | |
| Robert Gasser | MIL vs MIA | 2:10 PM ET | 4.9 | 56% | 39% | 23% | |
| Germán Márquez | SD vs KC | 2:10 PM ET | 4.2 | 41% | 24% | 13% | |
| Shota Imanaga | CHC vs MIN | 2:20 PM ET | 5.6 | 67% | 49% | 35% | |
| Zebby Matthews | MIN vs CHC | 2:20 PM ET | 5.0 | 59% | 39% | 19% | |
| Ryan Feltner | COL vs CIN | 3:10 PM ET | 4.9 | 56% | 35% | 22% |
Hits board
0.197 running Brier over 764 gradesA full hits distribution per starting batter against the announced starter. Since 7/18, batter predictions publish ONLY from posted starting lineups, as each team's card posts (typically 1 to 4 hours pre-game) — never from projections. A side whose lineup never posts pre-game gets no predictions that day, and voids now mean genuine post-posting changes. The 7/17 rows were projection-based with ~24% scratch voids, as declared at the time; both eras are labeled in the archive (lineup_source).
Chicago White Sox at Toronto Blue Jays
| Batter | Team | Opposing starter | P(1+ hit) | P(2+ hits) |
|---|---|---|---|---|
| Vladimir Guerrero Jr. | TOR | vs Sean Burke | 69% | 25% |
| Nathan Lukes | TOR | vs Sean Burke | 66% | 25% |
| Sam Antonacci | CWS | vs Trey Yesavage | 66% | 25% |
| Miguel Vargas | CWS | vs Trey Yesavage | 65% | 26% |
| Ernie Clement | TOR | vs Sean Burke | 64% | 26% |
| Tristan Peters | CWS | vs Trey Yesavage | 62% | 22% |
| Brandon Valenzuela | TOR | vs Sean Burke | 62% | 22% |
| Andrew Benintendi | CWS | vs Trey Yesavage | 62% | 22% |
| Kazuma Okamoto | TOR | vs Sean Burke | 61% | 21% |
| Braden Montgomery | CWS | vs Trey Yesavage | 60% | 20% |
| Munetaka Murakami | CWS | vs Trey Yesavage | 59% | 19% |
| Daulton Varsho | TOR | vs Sean Burke | 58% | 19% |
| Colson Montgomery | CWS | vs Trey Yesavage | 58% | 20% |
| Randal Grichuk | CWS | vs Trey Yesavage | 55% | 16% |
| Jonatan Clase | TOR | vs Sean Burke | 55% | 19% |
| Andrés Giménez | TOR | vs Sean Burke | 53% | 17% |
| Sean Keys | TOR | vs Sean Burke | 50% | 15% |
| Drew Romo | CWS | vs Trey Yesavage | 46% | 14% |
Los Angeles Dodgers at New York Yankees
| Batter | Team | Opposing starter | P(1+ hit) | P(2+ hits) |
|---|---|---|---|---|
| Andy Pages | LAD | vs Cam Schlittler | 67% | 24% |
| Shohei Ohtani | LAD | vs Cam Schlittler | 66% | 23% |
| Cody Bellinger | NYY | vs Yoshinobu Yamamoto | 66% | 23% |
| Ben Rice | NYY | vs Yoshinobu Yamamoto | 65% | 25% |
| Mookie Betts | LAD | vs Cam Schlittler | 64% | 23% |
| Trent Grisham | NYY | vs Yoshinobu Yamamoto | 62% | 22% |
| Tommy Edman | LAD | vs Cam Schlittler | 62% | 23% |
| Kyle Tucker | LAD | vs Cam Schlittler | 62% | 21% |
| Freddie Freeman | LAD | vs Cam Schlittler | 61% | 24% |
| Jasson Domínguez | NYY | vs Yoshinobu Yamamoto | 61% | 21% |
| Max Muncy | LAD | vs Cam Schlittler | 59% | 19% |
| Ryan McMahon | NYY | vs Yoshinobu Yamamoto | 57% | 17% |
| Jazz Chisholm Jr. | NYY | vs Yoshinobu Yamamoto | 56% | 18% |
| Dalton Rushing | LAD | vs Cam Schlittler | 56% | 19% |
| Teoscar Hernández | LAD | vs Cam Schlittler | 56% | 17% |
| Max Schuemann | NYY | vs Yoshinobu Yamamoto | 55% | 15% |
| Anthony Volpe | NYY | vs Yoshinobu Yamamoto | 54% | 17% |
| Ali Sánchez | NYY | vs Yoshinobu Yamamoto | 49% | 14% |
New York Mets at Philadelphia Phillies
| Batter | Team | Opposing starter | P(1+ hit) | P(2+ hits) |
|---|---|---|---|---|
| Juan Soto | NYM | vs Alan Rangel | 69% | 28% |
| A.J. Ewing | NYM | vs Alan Rangel | 67% | 25% |
| Bo Bichette | NYM | vs Alan Rangel | 66% | 25% |
| Carson Benge | NYM | vs Alan Rangel | 65% | 25% |
| Brandon Marsh | PHI | vs Nolan McLean | 65% | 26% |
| Kyle Schwarber | PHI | vs Nolan McLean | 65% | 24% |
| Trea Turner | PHI | vs Nolan McLean | 64% | 26% |
| Francisco Lindor | NYM | vs Alan Rangel | 64% | 22% |
| Alec Bohm | PHI | vs Nolan McLean | 63% | 22% |
| Bryce Harper | PHI | vs Nolan McLean | 63% | 22% |
| Bryson Stott | PHI | vs Nolan McLean | 62% | 23% |
| Brett Baty | NYM | vs Alan Rangel | 61% | 20% |
| Jared Young | NYM | vs Alan Rangel | 61% | 21% |
| Justin Crawford | PHI | vs Nolan McLean | 60% | 21% |
| Marcus Semien | NYM | vs Alan Rangel | 59% | 19% |
| J.T. Realmuto | PHI | vs Nolan McLean | 58% | 18% |
| Luis Torrens | NYM | vs Alan Rangel | 56% | 18% |
| Gabriel Rincones Jr. | PHI | vs Nolan McLean | 50% | 13% |
Tampa Bay Rays at Boston Red Sox
| Batter | Team | Opposing starter | P(1+ hit) | P(2+ hits) |
|---|---|---|---|---|
| Ceddanne Rafaela | BOS | vs Shane McClanahan | 69% | 28% |
| Yandy Díaz | TB | vs Sonny Gray | 68% | 25% |
| Wilyer Abreu | BOS | vs Shane McClanahan | 67% | 26% |
| Junior Caminero | TB | vs Sonny Gray | 66% | 24% |
| Jarren Duran | BOS | vs Shane McClanahan | 65% | 22% |
| Jonathan Aranda | TB | vs Sonny Gray | 64% | 25% |
| Andruw Monasterio | BOS | vs Shane McClanahan | 64% | 23% |
| Caleb Durbin | BOS | vs Shane McClanahan | 63% | 22% |
| Chandler Simpson | TB | vs Sonny Gray | 63% | 23% |
| Willson Contreras | BOS | vs Shane McClanahan | 62% | 25% |
| Connor Wong | BOS | vs Shane McClanahan | 60% | 20% |
| Romy Gonzalez | BOS | vs Shane McClanahan | 59% | 20% |
| Victor Mesa Jr. | TB | vs Sonny Gray | 58% | 18% |
| Richie Palacios | TB | vs Sonny Gray | 57% | 17% |
| Cedric Mullins | TB | vs Sonny Gray | 56% | 17% |
| Taylor Walls | TB | vs Sonny Gray | 55% | 17% |
| Hunter Feduccia | TB | vs Sonny Gray | 54% | 16% |
| Jahmai Jones | BOS | vs Shane McClanahan | 50% | 14% |
Texas Rangers at Atlanta Braves
| Batter | Team | Opposing starter | P(1+ hit) | P(2+ hits) |
|---|---|---|---|---|
| Ozzie Albies | ATL | vs Nathan Eovaldi | 71% | 27% |
| Matt Olson | ATL | vs Nathan Eovaldi | 69% | 26% |
| Wyatt Langford | TEX | vs Grant Holmes | 69% | 29% |
| Josh Jung | TEX | vs Grant Holmes | 67% | 28% |
| Brandon Nimmo | TEX | vs Grant Holmes | 67% | 24% |
| Michael Harris II | ATL | vs Nathan Eovaldi | 66% | 27% |
| Drake Baldwin | ATL | vs Nathan Eovaldi | 66% | 25% |
| Mauricio Dubón | ATL | vs Nathan Eovaldi | 66% | 24% |
| Ezequiel Duran | TEX | vs Grant Holmes | 64% | 23% |
| Brewer Hicklen | ATL | vs Nathan Eovaldi | 62% | 16% |
| Jake Burger | TEX | vs Grant Holmes | 62% | 23% |
| Joc Pederson | TEX | vs Grant Holmes | 60% | 20% |
| Austin Riley | ATL | vs Nathan Eovaldi | 60% | 20% |
| Kyle Higashioka | TEX | vs Grant Holmes | 59% | 19% |
| Jim Jarvis | ATL | vs Nathan Eovaldi | 59% | 20% |
| Evan Carter | TEX | vs Grant Holmes | 59% | 19% |
| Dominic Smith | ATL | vs Nathan Eovaldi | 59% | 20% |
| Nicky Lopez | TEX | vs Grant Holmes | 53% | 18% |
Pittsburgh Pirates at Cleveland Guardians
| Batter | Team | Opposing starter | P(1+ hit) | P(2+ hits) |
|---|---|---|---|---|
| Bryan Reynolds | PIT | vs Joey Cantillo | 67% | 25% |
| Ryan O'Hearn | PIT | vs Joey Cantillo | 66% | 26% |
| Chase DeLauter | CLE | vs Paul Skenes | 64% | 24% |
| Nick Gonzales | PIT | vs Joey Cantillo | 64% | 26% |
| Jake Mangum | PIT | vs Joey Cantillo | 63% | 25% |
| Brayan Rocchio | CLE | vs Paul Skenes | 62% | 21% |
| Jared Triolo | PIT | vs Joey Cantillo | 61% | 21% |
| Esmerlyn Valdez | PIT | vs Joey Cantillo | 60% | 23% |
| Travis Bazzana | CLE | vs Paul Skenes | 59% | 20% |
| Jacob Gonzalez | PIT | vs Joey Cantillo | 58% | 20% |
| Steven Kwan | CLE | vs Paul Skenes | 56% | 20% |
| Henry Davis | PIT | vs Joey Cantillo | 54% | 16% |
| Kahlil Watson | CLE | vs Paul Skenes | 52% | 15% |
| Kyle Manzardo | CLE | vs Paul Skenes | 52% | 14% |
| Billy Cook | PIT | vs Joey Cantillo | 51% | 13% |
| Gabriel Arias | CLE | vs Paul Skenes | 50% | 12% |
| Patrick Bailey | CLE | vs Paul Skenes | 50% | 13% |
| Petey Halpin | CLE | vs Paul Skenes | 49% | 14% |
Miami Marlins at Milwaukee Brewers
| Batter | Team | Opposing starter | P(1+ hit) | P(2+ hits) |
|---|---|---|---|---|
| Liam Hicks | MIA | vs Robert Gasser | 70% | 30% |
| Brice Turang | MIL | vs Eury Pérez | 69% | 25% |
| Xavier Edwards | MIA | vs Robert Gasser | 69% | 27% |
| Jackson Chourio | MIL | vs Eury Pérez | 69% | 27% |
| Christian Yelich | MIL | vs Eury Pérez | 65% | 24% |
| Garrett Mitchell | MIL | vs Eury Pérez | 64% | 23% |
| Javier Sanoja | MIA | vs Robert Gasser | 63% | 30% |
| Jake Bauers | MIL | vs Eury Pérez | 62% | 23% |
| Heriberto Hernández | MIA | vs Robert Gasser | 62% | 21% |
| Jakob Marsee | MIA | vs Robert Gasser | 61% | 21% |
| Andrew Vaughn | MIL | vs Eury Pérez | 60% | 21% |
| Joey Ortiz | MIL | vs Eury Pérez | 59% | 19% |
| Leo Jiménez | MIA | vs Robert Gasser | 59% | 18% |
| Kyle Stowers | MIA | vs Robert Gasser | 57% | 21% |
| Gary Sánchez | MIL | vs Eury Pérez | 57% | 17% |
| Esteury Ruiz | MIA | vs Robert Gasser | 55% | 17% |
| Griffin Conine | MIA | vs Robert Gasser | 55% | 18% |
| Braden Shewmake | MIL | vs Eury Pérez | 54% | 13% |
San Diego Padres at Kansas City Royals
| Batter | Team | Opposing starter | P(1+ hit) | P(2+ hits) |
|---|---|---|---|---|
| Jac Caglianone | KC | vs Germán Márquez | 68% | 29% |
| Fernando Tatis Jr. | SD | vs Noah Cameron | 68% | 27% |
| Xander Bogaerts | SD | vs Noah Cameron | 67% | 21% |
| Ty France | SD | vs Noah Cameron | 66% | 26% |
| Carter Jensen | KC | vs Germán Márquez | 66% | 25% |
| Lane Thomas | KC | vs Germán Márquez | 65% | 24% |
| Manny Machado | SD | vs Noah Cameron | 64% | 23% |
| Jackson Merrill | SD | vs Noah Cameron | 64% | 24% |
| Miguel Andujar | SD | vs Noah Cameron | 63% | 22% |
| Salvador Perez | KC | vs Germán Márquez | 63% | 20% |
| Luis Rengifo | SD | vs Noah Cameron | 62% | 23% |
| Nick Loftin | KC | vs Germán Márquez | 62% | 22% |
| Isaac Collins | KC | vs Germán Márquez | 61% | 20% |
| Tyler Tolbert | KC | vs Germán Márquez | 58% | 20% |
| Josh Rojas | KC | vs Germán Márquez | 58% | 18% |
| Luke Maile | KC | vs Germán Márquez | 53% | 15% |
| Luis Campusano | SD | vs Noah Cameron | 52% | 18% |
| Jase Bowen | SD | vs Noah Cameron | 51% | 16% |
Baltimore Orioles at Houston Astros
| Batter | Team | Opposing starter | P(1+ hit) | P(2+ hits) |
|---|---|---|---|---|
| Taylor Ward | BAL | vs Hunter Brown | 69% | 24% |
| Gunnar Henderson | BAL | vs Hunter Brown | 69% | 25% |
| Pete Alonso | BAL | vs Hunter Brown | 68% | 25% |
| Samuel Basallo | BAL | vs Hunter Brown | 62% | 22% |
| Leody Taveras | BAL | vs Hunter Brown | 58% | 19% |
| Colton Cowser | BAL | vs Hunter Brown | 54% | 15% |
| Jackson Holliday | BAL | vs Hunter Brown | 54% | 14% |
| Dylan Beavers | BAL | vs Hunter Brown | 53% | 15% |
| Coby Mayo | BAL | vs Hunter Brown | 51% | 14% |
Minnesota Twins at Chicago Cubs
| Batter | Team | Opposing starter | P(1+ hit) | P(2+ hits) |
|---|---|---|---|---|
| Pete Crow-Armstrong | CHC | vs Zebby Matthews | 70% | 26% |
| Nico Hoerner | CHC | vs Zebby Matthews | 68% | 23% |
| Seiya Suzuki | CHC | vs Zebby Matthews | 68% | 26% |
| Alex Bregman | CHC | vs Zebby Matthews | 67% | 26% |
| Michael Busch | CHC | vs Zebby Matthews | 65% | 24% |
| Ryan Jeffers | MIN | vs Shota Imanaga | 64% | 22% |
| Ian Happ | CHC | vs Zebby Matthews | 64% | 21% |
| Carson Kelly | CHC | vs Zebby Matthews | 64% | 25% |
| Josh Bell | MIN | vs Shota Imanaga | 63% | 25% |
| Brooks Lee | MIN | vs Shota Imanaga | 63% | 25% |
| Kody Clemens | MIN | vs Shota Imanaga | 63% | 23% |
| Dansby Swanson | CHC | vs Zebby Matthews | 62% | 17% |
| Austin Martin | MIN | vs Shota Imanaga | 62% | 22% |
| Luke Keaschall | MIN | vs Shota Imanaga | 61% | 22% |
| Pedro Ramírez | CHC | vs Zebby Matthews | 61% | 22% |
| Victor Caratini | MIN | vs Shota Imanaga | 60% | 20% |
| Royce Lewis | MIN | vs Shota Imanaga | 60% | 20% |
| Ryan Kreidler | MIN | vs Shota Imanaga | 59% | 18% |
Cincinnati Reds at Colorado Rockies
| Batter | Team | Opposing starter | P(1+ hit) | P(2+ hits) |
|---|---|---|---|---|
| Elly De La Cruz | CIN | vs Ryan Feltner | 69% | 30% |
| Sal Stewart | CIN | vs Ryan Feltner | 68% | 27% |
| Spencer Steer | CIN | vs Ryan Feltner | 67% | 24% |
| JJ Bleday | CIN | vs Ryan Feltner | 65% | 25% |
| Nathaniel Lowe | CIN | vs Ryan Feltner | 64% | 25% |
| Tyler Stephenson | CIN | vs Ryan Feltner | 63% | 21% |
| Dane Myers | CIN | vs Ryan Feltner | 62% | 20% |
| Eugenio Suárez | CIN | vs Ryan Feltner | 60% | 21% |
| TJ Friedl | CIN | vs Ryan Feltner | 54% | 18% |
Home run board
0.102 running Brier over 382 gradesP(1+ home run) per starting batter, the classic low-base-rate market. About 13% of starters homer on a given night, so probabilities live in the 2 to 30% range, exactly where calibration is hardest to fake. Posted lineups only since 7/18, published as they post. Park HR context is a model feature, built from our own data and strictly prior. Probability bars on this board are drawn on a 0 to 40% scale for legibility; the printed number is the truth.
Chicago White Sox at Toronto Blue Jays
| Batter | Team | Opposing starter | P(1+ HR) |
|---|---|---|---|
| Miguel Vargas | CWS | vs Trey Yesavage | 19% |
| Kazuma Okamoto | TOR | vs Sean Burke | 18% |
| Munetaka Murakami | CWS | vs Trey Yesavage | 16% |
| Colson Montgomery | CWS | vs Trey Yesavage | 15% |
| Vladimir Guerrero Jr. | TOR | vs Sean Burke | 14% |
| Andrew Benintendi | CWS | vs Trey Yesavage | 14% |
| Brandon Valenzuela | TOR | vs Sean Burke | 13% |
| Randal Grichuk | CWS | vs Trey Yesavage | 13% |
| Sam Antonacci | CWS | vs Trey Yesavage | 12% |
| Tristan Peters | CWS | vs Trey Yesavage | 11% |
| Daulton Varsho | TOR | vs Sean Burke | 11% |
| Drew Romo | CWS | vs Trey Yesavage | 10% |
| Jonatan Clase | TOR | vs Sean Burke | 9% |
| Nathan Lukes | TOR | vs Sean Burke | 8% |
| Braden Montgomery | CWS | vs Trey Yesavage | 8% |
| Sean Keys | TOR | vs Sean Burke | 7% |
| Ernie Clement | TOR | vs Sean Burke | 7% |
| Andrés Giménez | TOR | vs Sean Burke | 6% |
Los Angeles Dodgers at New York Yankees
| Batter | Team | Opposing starter | P(1+ HR) |
|---|---|---|---|
| Ben Rice | NYY | vs Yoshinobu Yamamoto | 19% |
| Shohei Ohtani | LAD | vs Cam Schlittler | 18% |
| Ryan McMahon | NYY | vs Yoshinobu Yamamoto | 16% |
| Jazz Chisholm Jr. | NYY | vs Yoshinobu Yamamoto | 15% |
| Trent Grisham | NYY | vs Yoshinobu Yamamoto | 14% |
| Mookie Betts | LAD | vs Cam Schlittler | 14% |
| Dalton Rushing | LAD | vs Cam Schlittler | 13% |
| Freddie Freeman | LAD | vs Cam Schlittler | 13% |
| Jasson Domínguez | NYY | vs Yoshinobu Yamamoto | 13% |
| Andy Pages | LAD | vs Cam Schlittler | 13% |
| Max Muncy | LAD | vs Cam Schlittler | 13% |
| Teoscar Hernández | LAD | vs Cam Schlittler | 12% |
| Max Schuemann | NYY | vs Yoshinobu Yamamoto | 11% |
| Tommy Edman | LAD | vs Cam Schlittler | 10% |
| Kyle Tucker | LAD | vs Cam Schlittler | 10% |
| Anthony Volpe | NYY | vs Yoshinobu Yamamoto | 9% |
| Cody Bellinger | NYY | vs Yoshinobu Yamamoto | 9% |
| Ali Sánchez | NYY | vs Yoshinobu Yamamoto | 5% |
New York Mets at Philadelphia Phillies
| Batter | Team | Opposing starter | P(1+ HR) |
|---|---|---|---|
| Kyle Schwarber | PHI | vs Nolan McLean | 23% |
| Juan Soto | NYM | vs Alan Rangel | 21% |
| Brandon Marsh | PHI | vs Nolan McLean | 20% |
| Francisco Lindor | NYM | vs Alan Rangel | 16% |
| Marcus Semien | NYM | vs Alan Rangel | 16% |
| Trea Turner | PHI | vs Nolan McLean | 15% |
| A.J. Ewing | NYM | vs Alan Rangel | 15% |
| Brett Baty | NYM | vs Alan Rangel | 14% |
| Bryce Harper | PHI | vs Nolan McLean | 14% |
| Alec Bohm | PHI | vs Nolan McLean | 14% |
| Jared Young | NYM | vs Alan Rangel | 13% |
| Bo Bichette | NYM | vs Alan Rangel | 13% |
| Carson Benge | NYM | vs Alan Rangel | 12% |
| J.T. Realmuto | PHI | vs Nolan McLean | 11% |
| Bryson Stott | PHI | vs Nolan McLean | 10% |
| Gabriel Rincones Jr. | PHI | vs Nolan McLean | 10% |
| Luis Torrens | NYM | vs Alan Rangel | 8% |
| Justin Crawford | PHI | vs Nolan McLean | 6% |
Tampa Bay Rays at Boston Red Sox
| Batter | Team | Opposing starter | P(1+ HR) |
|---|---|---|---|
| Wilyer Abreu | BOS | vs Shane McClanahan | 19% |
| Willson Contreras | BOS | vs Shane McClanahan | 19% |
| Junior Caminero | TB | vs Sonny Gray | 18% |
| Jonathan Aranda | TB | vs Sonny Gray | 12% |
| Andruw Monasterio | BOS | vs Shane McClanahan | 12% |
| Victor Mesa Jr. | TB | vs Sonny Gray | 11% |
| Jarren Duran | BOS | vs Shane McClanahan | 11% |
| Cedric Mullins | TB | vs Sonny Gray | 10% |
| Yandy Díaz | TB | vs Sonny Gray | 10% |
| Hunter Feduccia | TB | vs Sonny Gray | 10% |
| Romy Gonzalez | BOS | vs Shane McClanahan | 10% |
| Jahmai Jones | BOS | vs Shane McClanahan | 9% |
| Caleb Durbin | BOS | vs Shane McClanahan | 9% |
| Connor Wong | BOS | vs Shane McClanahan | 8% |
| Ceddanne Rafaela | BOS | vs Shane McClanahan | 7% |
| Richie Palacios | TB | vs Sonny Gray | 7% |
| Taylor Walls | TB | vs Sonny Gray | 7% |
| Chandler Simpson | TB | vs Sonny Gray | 4% |
Texas Rangers at Atlanta Braves
| Batter | Team | Opposing starter | P(1+ HR) |
|---|---|---|---|
| Matt Olson | ATL | vs Nathan Eovaldi | 19% |
| Joc Pederson | TEX | vs Grant Holmes | 18% |
| Wyatt Langford | TEX | vs Grant Holmes | 16% |
| Jake Burger | TEX | vs Grant Holmes | 15% |
| Michael Harris II | ATL | vs Nathan Eovaldi | 15% |
| Josh Jung | TEX | vs Grant Holmes | 15% |
| Drake Baldwin | ATL | vs Nathan Eovaldi | 15% |
| Brandon Nimmo | TEX | vs Grant Holmes | 14% |
| Kyle Higashioka | TEX | vs Grant Holmes | 14% |
| Ozzie Albies | ATL | vs Nathan Eovaldi | 14% |
| Austin Riley | ATL | vs Nathan Eovaldi | 14% |
| Ezequiel Duran | TEX | vs Grant Holmes | 13% |
| Brewer Hicklen | ATL | vs Nathan Eovaldi | 11% |
| Jim Jarvis | ATL | vs Nathan Eovaldi | 10% |
| Evan Carter | TEX | vs Grant Holmes | 9% |
| Mauricio Dubón | ATL | vs Nathan Eovaldi | 8% |
| Dominic Smith | ATL | vs Nathan Eovaldi | 7% |
| Nicky Lopez | TEX | vs Grant Holmes | 4% |
Pittsburgh Pirates at Cleveland Guardians
| Batter | Team | Opposing starter | P(1+ HR) |
|---|---|---|---|
| Esmerlyn Valdez | PIT | vs Joey Cantillo | 18% |
| Bryan Reynolds | PIT | vs Joey Cantillo | 17% |
| Ryan O'Hearn | PIT | vs Joey Cantillo | 14% |
| Gabriel Arias | CLE | vs Paul Skenes | 11% |
| Chase DeLauter | CLE | vs Paul Skenes | 11% |
| Travis Bazzana | CLE | vs Paul Skenes | 10% |
| Henry Davis | PIT | vs Joey Cantillo | 10% |
| Nick Gonzales | PIT | vs Joey Cantillo | 10% |
| Jared Triolo | PIT | vs Joey Cantillo | 9% |
| Kyle Manzardo | CLE | vs Paul Skenes | 9% |
| Jake Mangum | PIT | vs Joey Cantillo | 8% |
| Brayan Rocchio | CLE | vs Paul Skenes | 8% |
| Jacob Gonzalez | PIT | vs Joey Cantillo | 8% |
| Patrick Bailey | CLE | vs Paul Skenes | 7% |
| Kahlil Watson | CLE | vs Paul Skenes | 7% |
| Billy Cook | PIT | vs Joey Cantillo | 7% |
| Petey Halpin | CLE | vs Paul Skenes | 5% |
| Steven Kwan | CLE | vs Paul Skenes | 5% |
Miami Marlins at Milwaukee Brewers
| Batter | Team | Opposing starter | P(1+ HR) |
|---|---|---|---|
| Kyle Stowers | MIA | vs Robert Gasser | 21% |
| Heriberto Hernández | MIA | vs Robert Gasser | 18% |
| Jake Bauers | MIL | vs Eury Pérez | 16% |
| Jackson Chourio | MIL | vs Eury Pérez | 15% |
| Garrett Mitchell | MIL | vs Eury Pérez | 14% |
| Brice Turang | MIL | vs Eury Pérez | 14% |
| Griffin Conine | MIA | vs Robert Gasser | 13% |
| Christian Yelich | MIL | vs Eury Pérez | 12% |
| Joey Ortiz | MIL | vs Eury Pérez | 10% |
| Gary Sánchez | MIL | vs Eury Pérez | 10% |
| Leo Jiménez | MIA | vs Robert Gasser | 10% |
| Braden Shewmake | MIL | vs Eury Pérez | 10% |
| Andrew Vaughn | MIL | vs Eury Pérez | 8% |
| Jakob Marsee | MIA | vs Robert Gasser | 7% |
| Esteury Ruiz | MIA | vs Robert Gasser | 7% |
| Javier Sanoja | MIA | vs Robert Gasser | 7% |
| Liam Hicks | MIA | vs Robert Gasser | 7% |
| Xavier Edwards | MIA | vs Robert Gasser | 5% |
San Diego Padres at Kansas City Royals
| Batter | Team | Opposing starter | P(1+ HR) |
|---|---|---|---|
| Jac Caglianone | KC | vs Germán Márquez | 20% |
| Manny Machado | SD | vs Noah Cameron | 20% |
| Salvador Perez | KC | vs Germán Márquez | 17% |
| Ty France | SD | vs Noah Cameron | 16% |
| Lane Thomas | KC | vs Germán Márquez | 16% |
| Fernando Tatis Jr. | SD | vs Noah Cameron | 15% |
| Carter Jensen | KC | vs Germán Márquez | 15% |
| Jackson Merrill | SD | vs Noah Cameron | 14% |
| Nick Loftin | KC | vs Germán Márquez | 13% |
| Isaac Collins | KC | vs Germán Márquez | 12% |
| Josh Rojas | KC | vs Germán Márquez | 12% |
| Luis Rengifo | SD | vs Noah Cameron | 12% |
| Luis Campusano | SD | vs Noah Cameron | 11% |
| Xander Bogaerts | SD | vs Noah Cameron | 11% |
| Miguel Andujar | SD | vs Noah Cameron | 10% |
| Luke Maile | KC | vs Germán Márquez | 10% |
| Tyler Tolbert | KC | vs Germán Márquez | 9% |
| Jase Bowen | SD | vs Noah Cameron | 9% |
Baltimore Orioles at Houston Astros
| Batter | Team | Opposing starter | P(1+ HR) |
|---|---|---|---|
| Pete Alonso | BAL | vs Hunter Brown | 20% |
| Samuel Basallo | BAL | vs Hunter Brown | 17% |
| Coby Mayo | BAL | vs Hunter Brown | 14% |
| Taylor Ward | BAL | vs Hunter Brown | 14% |
| Colton Cowser | BAL | vs Hunter Brown | 13% |
| Leody Taveras | BAL | vs Hunter Brown | 10% |
| Dylan Beavers | BAL | vs Hunter Brown | 10% |
| Gunnar Henderson | BAL | vs Hunter Brown | 10% |
| Jackson Holliday | BAL | vs Hunter Brown | 9% |
Minnesota Twins at Chicago Cubs
| Batter | Team | Opposing starter | P(1+ HR) |
|---|---|---|---|
| Kody Clemens | MIN | vs Shota Imanaga | 19% |
| Royce Lewis | MIN | vs Shota Imanaga | 18% |
| Ryan Jeffers | MIN | vs Shota Imanaga | 17% |
| Dansby Swanson | CHC | vs Zebby Matthews | 17% |
| Josh Bell | MIN | vs Shota Imanaga | 16% |
| Victor Caratini | MIN | vs Shota Imanaga | 16% |
| Seiya Suzuki | CHC | vs Zebby Matthews | 16% |
| Pete Crow-Armstrong | CHC | vs Zebby Matthews | 14% |
| Michael Busch | CHC | vs Zebby Matthews | 14% |
| Ian Happ | CHC | vs Zebby Matthews | 13% |
| Pedro Ramírez | CHC | vs Zebby Matthews | 13% |
| Carson Kelly | CHC | vs Zebby Matthews | 13% |
| Alex Bregman | CHC | vs Zebby Matthews | 11% |
| Luke Keaschall | MIN | vs Shota Imanaga | 11% |
| Brooks Lee | MIN | vs Shota Imanaga | 10% |
| Ryan Kreidler | MIN | vs Shota Imanaga | 10% |
| Austin Martin | MIN | vs Shota Imanaga | 7% |
| Nico Hoerner | CHC | vs Zebby Matthews | 7% |
Cincinnati Reds at Colorado Rockies
| Batter | Team | Opposing starter | P(1+ HR) |
|---|---|---|---|
| Eugenio Suárez | CIN | vs Ryan Feltner | 21% |
| Elly De La Cruz | CIN | vs Ryan Feltner | 19% |
| Spencer Steer | CIN | vs Ryan Feltner | 17% |
| Sal Stewart | CIN | vs Ryan Feltner | 17% |
| TJ Friedl | CIN | vs Ryan Feltner | 14% |
| JJ Bleday | CIN | vs Ryan Feltner | 14% |
| Dane Myers | CIN | vs Ryan Feltner | 13% |
| Tyler Stephenson | CIN | vs Ryan Feltner | 13% |
| Nathaniel Lowe | CIN | vs Ryan Feltner | 12% |
Calibration, the whole point
When the engine says 30%, does it happen 30% of the time? Points on the dashed diagonal are perfectly calibrated. Above it the model was too low, below it too high. Bins thinner than 25 samples live in the tables, not the curves.
Strikeouts
Live record
14.1% calibration error, 0.209 Brier, 159 grades
Reliability table
| Bin | Predicted | Observed | n |
|---|---|---|---|
| 0 to 10% | 9% | 0% | 3 |
| 10 to 20% | 16% | 26% | 27 |
| 20 to 30% | 26% | 21% | 24 |
| 30 to 40% | 35% | 46% | 37 |
| 40 to 50% | 46% | 63% | 30 |
| 50 to 60% | 54% | 75% | 20 |
| 60 to 70% | 65% | 92% | 12 |
| 70 to 80% | 73% | 100% | 6 |
Engine change, 2026-07-18 → 2026-07-19. For one day the strikeout model carried an extra feature — the trailing strikeout rate of the opposing starting nine. An adversarial review found it was trained on the lineup each pitcher actually faced but served a posted-or-projected one, and that on the projected path it made the model worse than having no such feature at all; its apparent gain was never distinguishable from zero. It was removed on 2026-07-19 and the model retrained without it. 81 graded line-results (27 starts, all from 7/18) plus the 7/19 board were produced by that version. Those predictions stand exactly as published and stay in the running totals — they were made in good faith before first pitch, and deleting inconvenient history is the one thing this record will not do. Method: docs/K-FEATURE-VERDICT.md.
Backtest, not the live record
2.2% pooled calibration error, per-line 2.2% / 3.9% / 2.6%, 0.205 Brier, 1090 holdout starts
Trained on real starts before 2026-06-01, openers excluded. The three lines per start are nested views of one outcome, so the pooled number can flatter. It earns nothing until the live record proves it.
Reliability table
| Bin | Predicted | Observed | n |
|---|---|---|---|
| 0 to 10% | 10% | 0% | 1 |
| 10 to 20% | 15% | 14% | 493 |
| 20 to 30% | 25% | 23% | 657 |
| 30 to 40% | 35% | 37% | 606 |
| 40 to 50% | 45% | 47% | 614 |
| 50 to 60% | 55% | 56% | 462 |
| 60 to 70% | 65% | 70% | 315 |
| 70 to 80% | 74% | 75% | 114 |
| 80 to 90% | 81% | 88% | 8 |
| Model | Log-loss | Brier >4.5 | Brier >5.5 | Brier >6.5 |
|---|---|---|---|---|
| model | 2.252 | 0.2279 | 0.2137 | 0.1737 |
| marginal | 2.288 | 0.2472 | 0.2367 | 0.1921 |
| persistence | 2.237 | 0.2341 | 0.2185 | 0.1743 |
Read it straight: the persistence baseline is ahead of the model on full-distribution log-loss. Stated precisely, because the earlier wording overstated it — the gap is +0.0169 with a 95% paired bootstrap interval of [-0.0073, +0.0410], so persistence leads on the point estimate but the difference is not distinguishable from zero at this sample size. The model does win the P(over) Briers at every published line. The live record is the referee.
Hits
Live record
2.8% calibration error, 0.197 Brier, 764 grades
Reliability table
| Bin | Predicted | Observed | n |
|---|---|---|---|
| 10 to 20% | 17% | 5% | 75 |
| 20 to 30% | 24% | 24% | 305 |
| 30 to 40% | 31% | 0% | 2 |
| 40 to 50% | 49% | 50% | 2 |
| 50 to 60% | 56% | 52% | 91 |
| 60 to 70% | 65% | 64% | 281 |
| 70 to 80% | 71% | 50% | 8 |
Backtest, not the live record
0.5% pooled calibration error, per-line 0.6% / 0.4%, AUC 0.56 / 0.57, 9946 holdout batter-games
Calibrated but only slightly sharper than the base rate. Projected lineups miss the actual nine about 24% of the time; that scratch rate is declared here in advance. Judge the live record against the live-gradeable subset: log-loss 1.2159, ECE 0.6%. Night-one predictions of 7/17 predate that evening's engine fixes; immutable either way.
Reliability table
| Bin | Predicted | Observed | n |
|---|---|---|---|
| 10 to 20% | 17% | 17% | 3065 |
| 20 to 30% | 24% | 24% | 6797 |
| 30 to 40% | 31% | 35% | 84 |
| 40 to 50% | 49% | 59% | 139 |
| 50 to 60% | 56% | 56% | 3595 |
| 60 to 70% | 64% | 65% | 6083 |
| 70 to 80% | 71% | 73% | 129 |
| Model | Log-loss | Brier >0.5 | Brier >1.5 |
|---|---|---|---|
| model | 1.1992 | 0.2339 | 0.1706 |
| marginal | 1.2052 | 0.2359 | 0.1724 |
| persistence | 1.2144 | 0.2380 | 0.1732 |
On this market the model beats both cheap baselines on every metric. On the K market it does not, and both statements are published with the same straight face.
Home runs
Live record
1.6% calibration error, 0.102 Brier, 382 grades
Reliability table
| Bin | Predicted | Observed | n |
|---|---|---|---|
| 0 to 10% | 8% | 3% | 91 |
| 10 to 20% | 14% | 14% | 271 |
| 20 to 30% | 21% | 16% | 19 |
| 30 to 40% | 32% | 0% | 1 |
Backtest, not the live record
1.1% calibration error, 0.588 AUC, 9946 holdout batter-games
Aggregate rate bias -0.9%: predicted 12.1% vs observed 13.1%. The mid-summer power surge outran the training window, reported straight. Live-gradeable subset (76%): log-loss 0.4294, ECE 1.0%.
Reliability table
| Bin | Predicted | Observed | n |
|---|---|---|---|
| 0 to 10% | 8% | 9% | 3601 |
| 10 to 20% | 14% | 15% | 5910 |
| 20 to 30% | 22% | 19% | 435 |
| Model | Log-loss | Brier | AUC |
|---|---|---|---|
| model | 0.4154 | 0.1126 | 0.588 |
| marginal | 0.4209 | 0.1138 | 0.500 |
| persistence | 0.4200 | 0.1134 | 0.572 |
Game prep
The scouting packet as a page, one per game: both starters with percentile sliders, arsenal tables, movement and location charts, lineup grids fused with the engine's published board numbers, and bullpen availability. Same data modules as everything above.
- 2026 07 19 CWS at TOR
- 2026 07 18 CWS at TOR
- 2026 07 17 CWS at TOR
- CWS at TOR 2026 07 17 PDF, series format, archived
Graded log, strikeouts
Every K prediction ever published: probability, outcome, Brier. Batter-market logs live in the data archive as full CSVs.
| Date | Pitcher | Matchup | K | P(K>4.5) | P(K>5.5) | P(K>6.5) | Brier |
|---|---|---|---|---|---|---|---|
| 2026-07-18 | Brandon Pfaadt | AZ vs STL | 3 | 35% U | 23% U | 13% U | 0.065 |
| 2026-07-18 | Bryan Woo | SEA vs SF | 7 | 60% O | 45% O | 30% O | 0.319 |
| 2026-07-18 | Davis Martin | CWS vs TOR | 5 | 46% O | 29% U | 16% U | 0.132 |
| 2026-07-18 | Dustin May | STL vs AZ | 6 | 48% O | 33% O | 19% U | 0.250 |
| 2026-07-18 | Emmet Sheehan | LAD vs NYY | voided: postponed | ||||
| 2026-07-18 | Grayson Rodriguez | LAA vs DET | 3 | 47% U | 29% U | 15% U | 0.110 |
| 2026-07-18 | Griffin Canning | SD vs KC | 4 | 53% U | 37% U | 19% U | 0.151 |
| 2026-07-18 | Ian Seymour | TB vs BOS | 4 | 43% U | 33% U | 22% U | 0.114 |
| 2026-07-18 | J.T. Ginn | ATH vs WSH | 7 | 58% O | 42% O | 29% O | 0.341 |
| 2026-07-18 | Jesús Luzardo | PHI vs NYM | 7 | 77% O | 65% O | 49% O | 0.147 |
| 2026-07-18 | Logan Allen | CLE vs PIT | 3 | 51% U | 35% U | 26% U | 0.152 |
| 2026-07-18 | Logan Webb | SF vs SEA | 5 | 49% O | 31% U | 21% U | 0.134 |
| 2026-07-18 | MacKenzie Gore | TEX vs ATL | 7 | 64% O | 48% O | 35% O | 0.273 |
| 2026-07-18 | Matthew Boyd | CHC vs MIN | 4 | 55% U | 36% U | 21% U | 0.159 |
| 2026-07-18 | Max Meyer | MIA vs MIL | 5 | 64% O | 46% U | 32% U | 0.151 |
| 2026-07-18 | Patrick Sandoval | BOS vs TB | 5 | 49% O | 30% U | 15% U | 0.124 |
| 2026-07-18 | Rhett Lowder | CIN vs COL | 2 | 45% U | 29% U | 14% U | 0.101 |
| 2026-07-18 | Ryan Weathers | NYY vs LAD | voided: postponed | ||||
| 2026-07-18 | Sean Manaea | NYM vs PHI | 7 | 58% O | 39% O | 18% O | 0.412 |
| 2026-07-18 | Shane Bieber | TOR vs CWS | 6 | 45% O | 30% O | 17% U | 0.270 |
| 2026-07-18 | Shane Drohan | MIL vs MIA | 9 | 49% O | 33% O | 19% O | 0.452 |
| 2026-07-18 | Spencer Arrighetti | HOU vs BAL | 6 | 68% O | 51% O | 30% U | 0.144 |
| 2026-07-18 | Taj Bradley | MIN vs CHC | 6 | 74% O | 51% O | 39% U | 0.152 |
| 2026-07-18 | Tarik Skubal | DET vs LAA | 9 | 71% O | 58% O | 45% O | 0.191 |
| 2026-07-18 | Tomoyuki Sugano | COL vs CIN | 3 | 54% U | 32% U | 20% U | 0.145 |
| 2026-07-18 | Trevor Rogers | BAL vs HOU | 8 | 48% O | 30% O | 16% O | 0.493 |
| 2026-07-18 | Zack Littell | WSH vs ATH | 4 | 38% U | 22% U | 12% U | 0.070 |
| 2026-07-17 | Anthony Kay | CWS vs TOR | 5 | 38% O | 23% U | 12% U | 0.152 |
| 2026-07-17 | Bailey Ober | MIN vs CHC | 7 | 44% O | 28% O | 12% O | 0.534 |
| 2026-07-17 | Brady Singer | CIN vs COL | 6 | 51% O | 40% O | 19% U | 0.214 |
| 2026-07-17 | Bryce Miller | SEA vs SF | 6 | 55% O | 42% O | 30% U | 0.212 |
| 2026-07-17 | Cade Cavalli | WSH vs ATH | 9 | 64% O | 50% O | 37% O | 0.261 |
| 2026-07-17 | Cal Quantrill | TEX vs ATL | 3 | 35% U | 21% U | 10% U | 0.059 |
| 2026-07-17 | Chris Sale | ATL vs TEX | 6 | 66% O | 51% O | 33% U | 0.156 |
| 2026-07-17 | Colin Rea | CHC vs MIN | 6 | 32% O | 18% O | 9% U | 0.381 |
| 2026-07-17 | Dean Kremer | BAL vs HOU | 5 | 64% O | 49% U | 32% U | 0.157 |
| 2026-07-17 | Eduardo Rivera | BOS vs TB | 3 | 38% U | 24% U | 15% U | 0.074 |
| 2026-07-17 | Gabriel Hughes | COL vs CIN | 6 | 68% O | 48% O | 29% U | 0.153 |
| 2026-07-17 | Gage Jump | ATH vs WSH | 8 | 73% O | 51% O | 35% O | 0.246 |
| 2026-07-17 | Gavin Williams | CLE vs PIT | voided: postponed | ||||
| 2026-07-17 | Gerrit Cole | NYY vs LAD | 8 | 56% O | 39% O | 20% O | 0.405 |
| 2026-07-17 | Griffin Jax | TB vs BOS | voided: late | ||||
| 2026-07-17 | Jake Bennett | BOS vs TB | voided: late | ||||
| 2026-07-17 | Jared Jones | PIT vs CLE | voided: postponed | ||||
| 2026-07-17 | Landen Roupp | SF vs SEA | 2 | 65% U | 45% U | 31% U | 0.240 |
| 2026-07-17 | Logan Henderson | MIL vs MIA | 4 | 46% U | 35% U | 24% U | 0.130 |
| 2026-07-17 | Mason Englert | TB vs BOS | 4 | 50% U | 34% U | 16% U | 0.132 |
| 2026-07-17 | Merrill Kelly | AZ vs STL | 3 | 41% U | 29% U | 14% U | 0.090 |
| 2026-07-17 | Michael King | SD vs KC | 4 | 42% U | 27% U | 16% U | 0.092 |
| 2026-07-17 | Michael McGreevy | STL vs AZ | 5 | 32% O | 18% U | 8% U | 0.169 |
| 2026-07-17 | Peter Lambert | HOU vs BAL | 10 | 72% O | 54% O | 37% O | 0.226 |
| 2026-07-17 | Reid Detmers | LAA vs DET | 7 | 66% O | 49% O | 34% O | 0.269 |
| 2026-07-17 | Roki Sasaki | LAD vs NYY | 5 | 58% O | 40% U | 25% U | 0.133 |
| 2026-07-17 | Sandy Alcantara | MIA vs MIL | 7 | 52% O | 37% O | 21% O | 0.416 |
| 2026-07-17 | Seth Lugo | KC vs SD | 3 | 47% U | 28% U | 18% U | 0.112 |
| 2026-07-17 | Spencer Miles | TOR vs CWS | 4 | 33% U | 17% U | 11% U | 0.052 |
| 2026-07-17 | Troy Melton | DET vs LAA | 9 | 53% O | 39% O | 23% O | 0.396 |
Data and methods
Every prediction and grade is downloadable from the archive: dated full-distribution JSON per market, complete grades CSVs, and the raw backtest pairs behind every curve on this page. Files are committed to git at publish time, so timestamps carry a witness.
Sources and caveats: Statcast via pybaseball; grading runs against Statcast play-by-play at grade time. Model features use trailing windows that may span the offseason, backward-only. Openers (nine or fewer batters faced) are excluded from the strikeout model's population. Park HR context blends true park effects with the home roster's power and is used as signal, not sold as a clean park factor.
Probabilities, not picks. This is not betting advice. Page generated 2026-07-19 16:16 UTC.