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.

3graded markets
380predictions published for 2026-07-19
817graded, all-time
286voided, shown not deleted
3days live

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-grades

One 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).

Published 2026-07-19 16:02:18 UTC. Graded tonight.

PitcherMatchup First pitchE[K] K distribution 0 to 12+P(K>4.5)P(K>5.5)P(K>6.5)
Sean BurkeCWS vs TOR12:15 PM ET5.466%47%29%
Trey YesavageTOR vs CWS12:15 PM ET4.856%39%20%
Yoshinobu YamamotoLAD vs NYY12:35 PM ET6.073%56%35%
Cam SchlittlerNYY vs LAD12:35 PM ET6.073%61%50%
Grant HolmesATL vs TEX1:35 PM ET4.547%29%17%
Sonny GrayBOS vs TB1:35 PM ET5.054%42%23%
Nolan McLeanNYM vs PHI1:35 PM ET5.669%50%36%
Alan RangelPHI vs NYM1:35 PM ET4.957%39%28%
Shane McClanahanTB vs BOS1:35 PM ET4.954%37%19%
Nathan EovaldiTEX vs ATL1:35 PM ET6.274%62%44%
Joey CantilloCLE vs PIT1:40 PM ET5.866%55%40%
Paul SkenesPIT vs CLE1:40 PM ET6.070%59%43%
Hunter BrownHOU vs BAL2:10 PM ET5.465%47%27%
Noah CameronKC vs SD2:10 PM ET5.162%44%22%
Eury PérezMIA vs MIL2:10 PM ET5.565%50%33%
Robert GasserMIL vs MIA2:10 PM ET4.956%39%23%
Germán MárquezSD vs KC2:10 PM ET4.241%24%13%
Shota ImanagaCHC vs MIN2:20 PM ET5.667%49%35%
Zebby MatthewsMIN vs CHC2:20 PM ET5.059%39%19%
Ryan FeltnerCOL vs CIN3:10 PM ET4.956%35%22%

Hits board

0.197 running Brier over 764 grades

A 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).

Published 2026-07-19 13:02:37 UTC. Graded tonight.

Chicago White Sox at Toronto Blue Jays 12:15 PM ET, 18 batters
BatterTeam Opposing starterP(1+ hit)P(2+ hits)
Vladimir Guerrero Jr.TORvs Sean Burke69%25%
Nathan LukesTORvs Sean Burke66%25%
Sam AntonacciCWSvs Trey Yesavage66%25%
Miguel VargasCWSvs Trey Yesavage65%26%
Ernie ClementTORvs Sean Burke64%26%
Tristan PetersCWSvs Trey Yesavage62%22%
Brandon ValenzuelaTORvs Sean Burke62%22%
Andrew BenintendiCWSvs Trey Yesavage62%22%
Kazuma OkamotoTORvs Sean Burke61%21%
Braden MontgomeryCWSvs Trey Yesavage60%20%
Munetaka MurakamiCWSvs Trey Yesavage59%19%
Daulton VarshoTORvs Sean Burke58%19%
Colson MontgomeryCWSvs Trey Yesavage58%20%
Randal GrichukCWSvs Trey Yesavage55%16%
Jonatan ClaseTORvs Sean Burke55%19%
Andrés GiménezTORvs Sean Burke53%17%
Sean KeysTORvs Sean Burke50%15%
Drew RomoCWSvs Trey Yesavage46%14%
Los Angeles Dodgers at New York Yankees 12:35 PM ET, 18 batters
BatterTeam Opposing starterP(1+ hit)P(2+ hits)
Andy PagesLADvs Cam Schlittler67%24%
Shohei OhtaniLADvs Cam Schlittler66%23%
Cody BellingerNYYvs Yoshinobu Yamamoto66%23%
Ben RiceNYYvs Yoshinobu Yamamoto65%25%
Mookie BettsLADvs Cam Schlittler64%23%
Trent GrishamNYYvs Yoshinobu Yamamoto62%22%
Tommy EdmanLADvs Cam Schlittler62%23%
Kyle TuckerLADvs Cam Schlittler62%21%
Freddie FreemanLADvs Cam Schlittler61%24%
Jasson DomínguezNYYvs Yoshinobu Yamamoto61%21%
Max MuncyLADvs Cam Schlittler59%19%
Ryan McMahonNYYvs Yoshinobu Yamamoto57%17%
Jazz Chisholm Jr.NYYvs Yoshinobu Yamamoto56%18%
Dalton RushingLADvs Cam Schlittler56%19%
Teoscar HernándezLADvs Cam Schlittler56%17%
Max SchuemannNYYvs Yoshinobu Yamamoto55%15%
Anthony VolpeNYYvs Yoshinobu Yamamoto54%17%
Ali SánchezNYYvs Yoshinobu Yamamoto49%14%
New York Mets at Philadelphia Phillies 1:35 PM ET, 18 batters
BatterTeam Opposing starterP(1+ hit)P(2+ hits)
Juan SotoNYMvs Alan Rangel69%28%
A.J. EwingNYMvs Alan Rangel67%25%
Bo BichetteNYMvs Alan Rangel66%25%
Carson BengeNYMvs Alan Rangel65%25%
Brandon MarshPHIvs Nolan McLean65%26%
Kyle SchwarberPHIvs Nolan McLean65%24%
Trea TurnerPHIvs Nolan McLean64%26%
Francisco LindorNYMvs Alan Rangel64%22%
Alec BohmPHIvs Nolan McLean63%22%
Bryce HarperPHIvs Nolan McLean63%22%
Bryson StottPHIvs Nolan McLean62%23%
Brett BatyNYMvs Alan Rangel61%20%
Jared YoungNYMvs Alan Rangel61%21%
Justin CrawfordPHIvs Nolan McLean60%21%
Marcus SemienNYMvs Alan Rangel59%19%
J.T. RealmutoPHIvs Nolan McLean58%18%
Luis TorrensNYMvs Alan Rangel56%18%
Gabriel Rincones Jr.PHIvs Nolan McLean50%13%
Tampa Bay Rays at Boston Red Sox 1:35 PM ET, 18 batters
BatterTeam Opposing starterP(1+ hit)P(2+ hits)
Ceddanne RafaelaBOSvs Shane McClanahan69%28%
Yandy DíazTBvs Sonny Gray68%25%
Wilyer AbreuBOSvs Shane McClanahan67%26%
Junior CamineroTBvs Sonny Gray66%24%
Jarren DuranBOSvs Shane McClanahan65%22%
Jonathan ArandaTBvs Sonny Gray64%25%
Andruw MonasterioBOSvs Shane McClanahan64%23%
Caleb DurbinBOSvs Shane McClanahan63%22%
Chandler SimpsonTBvs Sonny Gray63%23%
Willson ContrerasBOSvs Shane McClanahan62%25%
Connor WongBOSvs Shane McClanahan60%20%
Romy GonzalezBOSvs Shane McClanahan59%20%
Victor Mesa Jr.TBvs Sonny Gray58%18%
Richie PalaciosTBvs Sonny Gray57%17%
Cedric MullinsTBvs Sonny Gray56%17%
Taylor WallsTBvs Sonny Gray55%17%
Hunter FeducciaTBvs Sonny Gray54%16%
Jahmai JonesBOSvs Shane McClanahan50%14%
Texas Rangers at Atlanta Braves 1:35 PM ET, 18 batters
BatterTeam Opposing starterP(1+ hit)P(2+ hits)
Ozzie AlbiesATLvs Nathan Eovaldi71%27%
Matt OlsonATLvs Nathan Eovaldi69%26%
Wyatt LangfordTEXvs Grant Holmes69%29%
Josh JungTEXvs Grant Holmes67%28%
Brandon NimmoTEXvs Grant Holmes67%24%
Michael Harris IIATLvs Nathan Eovaldi66%27%
Drake BaldwinATLvs Nathan Eovaldi66%25%
Mauricio DubónATLvs Nathan Eovaldi66%24%
Ezequiel DuranTEXvs Grant Holmes64%23%
Brewer HicklenATLvs Nathan Eovaldi62%16%
Jake BurgerTEXvs Grant Holmes62%23%
Joc PedersonTEXvs Grant Holmes60%20%
Austin RileyATLvs Nathan Eovaldi60%20%
Kyle HigashiokaTEXvs Grant Holmes59%19%
Jim JarvisATLvs Nathan Eovaldi59%20%
Evan CarterTEXvs Grant Holmes59%19%
Dominic SmithATLvs Nathan Eovaldi59%20%
Nicky LopezTEXvs Grant Holmes53%18%
Pittsburgh Pirates at Cleveland Guardians 1:40 PM ET, 18 batters
BatterTeam Opposing starterP(1+ hit)P(2+ hits)
Bryan ReynoldsPITvs Joey Cantillo67%25%
Ryan O'HearnPITvs Joey Cantillo66%26%
Chase DeLauterCLEvs Paul Skenes64%24%
Nick GonzalesPITvs Joey Cantillo64%26%
Jake MangumPITvs Joey Cantillo63%25%
Brayan RocchioCLEvs Paul Skenes62%21%
Jared TrioloPITvs Joey Cantillo61%21%
Esmerlyn ValdezPITvs Joey Cantillo60%23%
Travis BazzanaCLEvs Paul Skenes59%20%
Jacob GonzalezPITvs Joey Cantillo58%20%
Steven KwanCLEvs Paul Skenes56%20%
Henry DavisPITvs Joey Cantillo54%16%
Kahlil WatsonCLEvs Paul Skenes52%15%
Kyle ManzardoCLEvs Paul Skenes52%14%
Billy CookPITvs Joey Cantillo51%13%
Gabriel AriasCLEvs Paul Skenes50%12%
Patrick BaileyCLEvs Paul Skenes50%13%
Petey HalpinCLEvs Paul Skenes49%14%
Miami Marlins at Milwaukee Brewers 2:10 PM ET, 18 batters
BatterTeam Opposing starterP(1+ hit)P(2+ hits)
Liam HicksMIAvs Robert Gasser70%30%
Brice TurangMILvs Eury Pérez69%25%
Xavier EdwardsMIAvs Robert Gasser69%27%
Jackson ChourioMILvs Eury Pérez69%27%
Christian YelichMILvs Eury Pérez65%24%
Garrett MitchellMILvs Eury Pérez64%23%
Javier SanojaMIAvs Robert Gasser63%30%
Jake BauersMILvs Eury Pérez62%23%
Heriberto HernándezMIAvs Robert Gasser62%21%
Jakob MarseeMIAvs Robert Gasser61%21%
Andrew VaughnMILvs Eury Pérez60%21%
Joey OrtizMILvs Eury Pérez59%19%
Leo JiménezMIAvs Robert Gasser59%18%
Kyle StowersMIAvs Robert Gasser57%21%
Gary SánchezMILvs Eury Pérez57%17%
Esteury RuizMIAvs Robert Gasser55%17%
Griffin ConineMIAvs Robert Gasser55%18%
Braden ShewmakeMILvs Eury Pérez54%13%
San Diego Padres at Kansas City Royals 2:10 PM ET, 18 batters
BatterTeam Opposing starterP(1+ hit)P(2+ hits)
Jac CaglianoneKCvs Germán Márquez68%29%
Fernando Tatis Jr.SDvs Noah Cameron68%27%
Xander BogaertsSDvs Noah Cameron67%21%
Ty FranceSDvs Noah Cameron66%26%
Carter JensenKCvs Germán Márquez66%25%
Lane ThomasKCvs Germán Márquez65%24%
Manny MachadoSDvs Noah Cameron64%23%
Jackson MerrillSDvs Noah Cameron64%24%
Miguel AndujarSDvs Noah Cameron63%22%
Salvador PerezKCvs Germán Márquez63%20%
Luis RengifoSDvs Noah Cameron62%23%
Nick LoftinKCvs Germán Márquez62%22%
Isaac CollinsKCvs Germán Márquez61%20%
Tyler TolbertKCvs Germán Márquez58%20%
Josh RojasKCvs Germán Márquez58%18%
Luke MaileKCvs Germán Márquez53%15%
Luis CampusanoSDvs Noah Cameron52%18%
Jase BowenSDvs Noah Cameron51%16%
Baltimore Orioles at Houston Astros 2:10 PM ET, 9 batters
BatterTeam Opposing starterP(1+ hit)P(2+ hits)
Taylor WardBALvs Hunter Brown69%24%
Gunnar HendersonBALvs Hunter Brown69%25%
Pete AlonsoBALvs Hunter Brown68%25%
Samuel BasalloBALvs Hunter Brown62%22%
Leody TaverasBALvs Hunter Brown58%19%
Colton CowserBALvs Hunter Brown54%15%
Jackson HollidayBALvs Hunter Brown54%14%
Dylan BeaversBALvs Hunter Brown53%15%
Coby MayoBALvs Hunter Brown51%14%
Minnesota Twins at Chicago Cubs 2:20 PM ET, 18 batters
BatterTeam Opposing starterP(1+ hit)P(2+ hits)
Pete Crow-ArmstrongCHCvs Zebby Matthews70%26%
Nico HoernerCHCvs Zebby Matthews68%23%
Seiya SuzukiCHCvs Zebby Matthews68%26%
Alex BregmanCHCvs Zebby Matthews67%26%
Michael BuschCHCvs Zebby Matthews65%24%
Ryan JeffersMINvs Shota Imanaga64%22%
Ian HappCHCvs Zebby Matthews64%21%
Carson KellyCHCvs Zebby Matthews64%25%
Josh BellMINvs Shota Imanaga63%25%
Brooks LeeMINvs Shota Imanaga63%25%
Kody ClemensMINvs Shota Imanaga63%23%
Dansby SwansonCHCvs Zebby Matthews62%17%
Austin MartinMINvs Shota Imanaga62%22%
Luke KeaschallMINvs Shota Imanaga61%22%
Pedro RamírezCHCvs Zebby Matthews61%22%
Victor CaratiniMINvs Shota Imanaga60%20%
Royce LewisMINvs Shota Imanaga60%20%
Ryan KreidlerMINvs Shota Imanaga59%18%
Cincinnati Reds at Colorado Rockies 3:10 PM ET, 9 batters
BatterTeam Opposing starterP(1+ hit)P(2+ hits)
Elly De La CruzCINvs Ryan Feltner69%30%
Sal StewartCINvs Ryan Feltner68%27%
Spencer SteerCINvs Ryan Feltner67%24%
JJ BledayCINvs Ryan Feltner65%25%
Nathaniel LoweCINvs Ryan Feltner64%25%
Tyler StephensonCINvs Ryan Feltner63%21%
Dane MyersCINvs Ryan Feltner62%20%
Eugenio SuárezCINvs Ryan Feltner60%21%
TJ FriedlCINvs Ryan Feltner54%18%

Home run board

0.102 running Brier over 382 grades

P(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.

Published 2026-07-19 13:03:19 UTC. Graded tonight.

Chicago White Sox at Toronto Blue Jays 12:15 PM ET, 18 batters
BatterTeam Opposing starterP(1+ HR)
Miguel VargasCWSvs Trey Yesavage19%
Kazuma OkamotoTORvs Sean Burke18%
Munetaka MurakamiCWSvs Trey Yesavage16%
Colson MontgomeryCWSvs Trey Yesavage15%
Vladimir Guerrero Jr.TORvs Sean Burke14%
Andrew BenintendiCWSvs Trey Yesavage14%
Brandon ValenzuelaTORvs Sean Burke13%
Randal GrichukCWSvs Trey Yesavage13%
Sam AntonacciCWSvs Trey Yesavage12%
Tristan PetersCWSvs Trey Yesavage11%
Daulton VarshoTORvs Sean Burke11%
Drew RomoCWSvs Trey Yesavage10%
Jonatan ClaseTORvs Sean Burke9%
Nathan LukesTORvs Sean Burke8%
Braden MontgomeryCWSvs Trey Yesavage8%
Sean KeysTORvs Sean Burke7%
Ernie ClementTORvs Sean Burke7%
Andrés GiménezTORvs Sean Burke6%
Los Angeles Dodgers at New York Yankees 12:35 PM ET, 18 batters
BatterTeam Opposing starterP(1+ HR)
Ben RiceNYYvs Yoshinobu Yamamoto19%
Shohei OhtaniLADvs Cam Schlittler18%
Ryan McMahonNYYvs Yoshinobu Yamamoto16%
Jazz Chisholm Jr.NYYvs Yoshinobu Yamamoto15%
Trent GrishamNYYvs Yoshinobu Yamamoto14%
Mookie BettsLADvs Cam Schlittler14%
Dalton RushingLADvs Cam Schlittler13%
Freddie FreemanLADvs Cam Schlittler13%
Jasson DomínguezNYYvs Yoshinobu Yamamoto13%
Andy PagesLADvs Cam Schlittler13%
Max MuncyLADvs Cam Schlittler13%
Teoscar HernándezLADvs Cam Schlittler12%
Max SchuemannNYYvs Yoshinobu Yamamoto11%
Tommy EdmanLADvs Cam Schlittler10%
Kyle TuckerLADvs Cam Schlittler10%
Anthony VolpeNYYvs Yoshinobu Yamamoto9%
Cody BellingerNYYvs Yoshinobu Yamamoto9%
Ali SánchezNYYvs Yoshinobu Yamamoto5%
New York Mets at Philadelphia Phillies 1:35 PM ET, 18 batters
BatterTeam Opposing starterP(1+ HR)
Kyle SchwarberPHIvs Nolan McLean23%
Juan SotoNYMvs Alan Rangel21%
Brandon MarshPHIvs Nolan McLean20%
Francisco LindorNYMvs Alan Rangel16%
Marcus SemienNYMvs Alan Rangel16%
Trea TurnerPHIvs Nolan McLean15%
A.J. EwingNYMvs Alan Rangel15%
Brett BatyNYMvs Alan Rangel14%
Bryce HarperPHIvs Nolan McLean14%
Alec BohmPHIvs Nolan McLean14%
Jared YoungNYMvs Alan Rangel13%
Bo BichetteNYMvs Alan Rangel13%
Carson BengeNYMvs Alan Rangel12%
J.T. RealmutoPHIvs Nolan McLean11%
Bryson StottPHIvs Nolan McLean10%
Gabriel Rincones Jr.PHIvs Nolan McLean10%
Luis TorrensNYMvs Alan Rangel8%
Justin CrawfordPHIvs Nolan McLean6%
Tampa Bay Rays at Boston Red Sox 1:35 PM ET, 18 batters
BatterTeam Opposing starterP(1+ HR)
Wilyer AbreuBOSvs Shane McClanahan19%
Willson ContrerasBOSvs Shane McClanahan19%
Junior CamineroTBvs Sonny Gray18%
Jonathan ArandaTBvs Sonny Gray12%
Andruw MonasterioBOSvs Shane McClanahan12%
Victor Mesa Jr.TBvs Sonny Gray11%
Jarren DuranBOSvs Shane McClanahan11%
Cedric MullinsTBvs Sonny Gray10%
Yandy DíazTBvs Sonny Gray10%
Hunter FeducciaTBvs Sonny Gray10%
Romy GonzalezBOSvs Shane McClanahan10%
Jahmai JonesBOSvs Shane McClanahan9%
Caleb DurbinBOSvs Shane McClanahan9%
Connor WongBOSvs Shane McClanahan8%
Ceddanne RafaelaBOSvs Shane McClanahan7%
Richie PalaciosTBvs Sonny Gray7%
Taylor WallsTBvs Sonny Gray7%
Chandler SimpsonTBvs Sonny Gray4%
Texas Rangers at Atlanta Braves 1:35 PM ET, 18 batters
BatterTeam Opposing starterP(1+ HR)
Matt OlsonATLvs Nathan Eovaldi19%
Joc PedersonTEXvs Grant Holmes18%
Wyatt LangfordTEXvs Grant Holmes16%
Jake BurgerTEXvs Grant Holmes15%
Michael Harris IIATLvs Nathan Eovaldi15%
Josh JungTEXvs Grant Holmes15%
Drake BaldwinATLvs Nathan Eovaldi15%
Brandon NimmoTEXvs Grant Holmes14%
Kyle HigashiokaTEXvs Grant Holmes14%
Ozzie AlbiesATLvs Nathan Eovaldi14%
Austin RileyATLvs Nathan Eovaldi14%
Ezequiel DuranTEXvs Grant Holmes13%
Brewer HicklenATLvs Nathan Eovaldi11%
Jim JarvisATLvs Nathan Eovaldi10%
Evan CarterTEXvs Grant Holmes9%
Mauricio DubónATLvs Nathan Eovaldi8%
Dominic SmithATLvs Nathan Eovaldi7%
Nicky LopezTEXvs Grant Holmes4%
Pittsburgh Pirates at Cleveland Guardians 1:40 PM ET, 18 batters
BatterTeam Opposing starterP(1+ HR)
Esmerlyn ValdezPITvs Joey Cantillo18%
Bryan ReynoldsPITvs Joey Cantillo17%
Ryan O'HearnPITvs Joey Cantillo14%
Gabriel AriasCLEvs Paul Skenes11%
Chase DeLauterCLEvs Paul Skenes11%
Travis BazzanaCLEvs Paul Skenes10%
Henry DavisPITvs Joey Cantillo10%
Nick GonzalesPITvs Joey Cantillo10%
Jared TrioloPITvs Joey Cantillo9%
Kyle ManzardoCLEvs Paul Skenes9%
Jake MangumPITvs Joey Cantillo8%
Brayan RocchioCLEvs Paul Skenes8%
Jacob GonzalezPITvs Joey Cantillo8%
Patrick BaileyCLEvs Paul Skenes7%
Kahlil WatsonCLEvs Paul Skenes7%
Billy CookPITvs Joey Cantillo7%
Petey HalpinCLEvs Paul Skenes5%
Steven KwanCLEvs Paul Skenes5%
Miami Marlins at Milwaukee Brewers 2:10 PM ET, 18 batters
BatterTeam Opposing starterP(1+ HR)
Kyle StowersMIAvs Robert Gasser21%
Heriberto HernándezMIAvs Robert Gasser18%
Jake BauersMILvs Eury Pérez16%
Jackson ChourioMILvs Eury Pérez15%
Garrett MitchellMILvs Eury Pérez14%
Brice TurangMILvs Eury Pérez14%
Griffin ConineMIAvs Robert Gasser13%
Christian YelichMILvs Eury Pérez12%
Joey OrtizMILvs Eury Pérez10%
Gary SánchezMILvs Eury Pérez10%
Leo JiménezMIAvs Robert Gasser10%
Braden ShewmakeMILvs Eury Pérez10%
Andrew VaughnMILvs Eury Pérez8%
Jakob MarseeMIAvs Robert Gasser7%
Esteury RuizMIAvs Robert Gasser7%
Javier SanojaMIAvs Robert Gasser7%
Liam HicksMIAvs Robert Gasser7%
Xavier EdwardsMIAvs Robert Gasser5%
San Diego Padres at Kansas City Royals 2:10 PM ET, 18 batters
BatterTeam Opposing starterP(1+ HR)
Jac CaglianoneKCvs Germán Márquez20%
Manny MachadoSDvs Noah Cameron20%
Salvador PerezKCvs Germán Márquez17%
Ty FranceSDvs Noah Cameron16%
Lane ThomasKCvs Germán Márquez16%
Fernando Tatis Jr.SDvs Noah Cameron15%
Carter JensenKCvs Germán Márquez15%
Jackson MerrillSDvs Noah Cameron14%
Nick LoftinKCvs Germán Márquez13%
Isaac CollinsKCvs Germán Márquez12%
Josh RojasKCvs Germán Márquez12%
Luis RengifoSDvs Noah Cameron12%
Luis CampusanoSDvs Noah Cameron11%
Xander BogaertsSDvs Noah Cameron11%
Miguel AndujarSDvs Noah Cameron10%
Luke MaileKCvs Germán Márquez10%
Tyler TolbertKCvs Germán Márquez9%
Jase BowenSDvs Noah Cameron9%
Baltimore Orioles at Houston Astros 2:10 PM ET, 9 batters
BatterTeam Opposing starterP(1+ HR)
Pete AlonsoBALvs Hunter Brown20%
Samuel BasalloBALvs Hunter Brown17%
Coby MayoBALvs Hunter Brown14%
Taylor WardBALvs Hunter Brown14%
Colton CowserBALvs Hunter Brown13%
Leody TaverasBALvs Hunter Brown10%
Dylan BeaversBALvs Hunter Brown10%
Gunnar HendersonBALvs Hunter Brown10%
Jackson HollidayBALvs Hunter Brown9%
Minnesota Twins at Chicago Cubs 2:20 PM ET, 18 batters
BatterTeam Opposing starterP(1+ HR)
Kody ClemensMINvs Shota Imanaga19%
Royce LewisMINvs Shota Imanaga18%
Ryan JeffersMINvs Shota Imanaga17%
Dansby SwansonCHCvs Zebby Matthews17%
Josh BellMINvs Shota Imanaga16%
Victor CaratiniMINvs Shota Imanaga16%
Seiya SuzukiCHCvs Zebby Matthews16%
Pete Crow-ArmstrongCHCvs Zebby Matthews14%
Michael BuschCHCvs Zebby Matthews14%
Ian HappCHCvs Zebby Matthews13%
Pedro RamírezCHCvs Zebby Matthews13%
Carson KellyCHCvs Zebby Matthews13%
Alex BregmanCHCvs Zebby Matthews11%
Luke KeaschallMINvs Shota Imanaga11%
Brooks LeeMINvs Shota Imanaga10%
Ryan KreidlerMINvs Shota Imanaga10%
Austin MartinMINvs Shota Imanaga7%
Nico HoernerCHCvs Zebby Matthews7%
Cincinnati Reds at Colorado Rockies 3:10 PM ET, 9 batters
BatterTeam Opposing starterP(1+ HR)
Eugenio SuárezCINvs Ryan Feltner21%
Elly De La CruzCINvs Ryan Feltner19%
Spencer SteerCINvs Ryan Feltner17%
Sal StewartCINvs Ryan Feltner17%
TJ FriedlCINvs Ryan Feltner14%
JJ BledayCINvs Ryan Feltner14%
Dane MyersCINvs Ryan Feltner13%
Tyler StephensonCINvs Ryan Feltner13%
Nathaniel LoweCINvs Ryan Feltner12%

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

predicted 16%, observed 26% (n=27)predicted 35%, observed 46% (n=37)predicted 46%, observed 63% (n=30)00252550507575100100predicted probability (%)observed frequency (%)
Reliability table
BinPredictedObservedn
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.

predicted 15%, observed 14% (n=493)predicted 25%, observed 23% (n=657)predicted 35%, observed 37% (n=606)predicted 45%, observed 47% (n=614)predicted 55%, observed 56% (n=462)predicted 65%, observed 70% (n=315)predicted 74%, observed 75% (n=114)00252550507575100100predicted probability (%)observed frequency (%)
Reliability table
BinPredictedObservedn
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
ModelLog-lossBrier >4.5Brier >5.5Brier >6.5
model2.2520.22790.21370.1737
marginal2.2880.24720.23670.1921
persistence2.2370.23410.21850.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

predicted 17%, observed 5% (n=75)predicted 24%, observed 24% (n=305)predicted 56%, observed 52% (n=91)predicted 65%, observed 64% (n=281)00252550507575100100predicted probability (%)observed frequency (%)
Reliability table
BinPredictedObservedn
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.

predicted 17%, observed 17% (n=3065)predicted 24%, observed 24% (n=6797)predicted 31%, observed 35% (n=84)predicted 49%, observed 59% (n=139)predicted 56%, observed 56% (n=3595)predicted 64%, observed 65% (n=6083)predicted 71%, observed 73% (n=129)00252550507575100100predicted probability (%)observed frequency (%)
Reliability table
BinPredictedObservedn
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
ModelLog-lossBrier >0.5Brier >1.5
model1.19920.23390.1706
marginal1.20520.23590.1724
persistence1.21440.23800.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

predicted 8%, observed 3% (n=91)predicted 14%, observed 14% (n=271)00252550507575100100predicted probability (%)observed frequency (%)
Reliability table
BinPredictedObservedn
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%.

predicted 8%, observed 9% (n=3601)predicted 14%, observed 15% (n=5910)predicted 22%, observed 19% (n=435)00252550507575100100predicted probability (%)observed frequency (%)
Reliability table
BinPredictedObservedn
0 to 10%8%9%3601
10 to 20%14%15%5910
20 to 30%22%19%435
ModelLog-lossBrierAUC
model0.41540.11260.588
marginal0.42090.11380.500
persistence0.42000.11340.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.

Graded log, strikeouts

Every K prediction ever published: probability, outcome, Brier. Batter-market logs live in the data archive as full CSVs.

DatePitcherMatchup KP(K>4.5)P(K>5.5)P(K>6.5)Brier
2026-07-18Brandon PfaadtAZ vs STL335% U23% U13% U0.065
2026-07-18Bryan WooSEA vs SF760% O45% O30% O0.319
2026-07-18Davis MartinCWS vs TOR546% O29% U16% U0.132
2026-07-18Dustin MaySTL vs AZ648% O33% O19% U0.250
2026-07-18Emmet SheehanLAD vs NYYvoided: postponed
2026-07-18Grayson RodriguezLAA vs DET347% U29% U15% U0.110
2026-07-18Griffin CanningSD vs KC453% U37% U19% U0.151
2026-07-18Ian SeymourTB vs BOS443% U33% U22% U0.114
2026-07-18J.T. GinnATH vs WSH758% O42% O29% O0.341
2026-07-18Jesús LuzardoPHI vs NYM777% O65% O49% O0.147
2026-07-18Logan AllenCLE vs PIT351% U35% U26% U0.152
2026-07-18Logan WebbSF vs SEA549% O31% U21% U0.134
2026-07-18MacKenzie GoreTEX vs ATL764% O48% O35% O0.273
2026-07-18Matthew BoydCHC vs MIN455% U36% U21% U0.159
2026-07-18Max MeyerMIA vs MIL564% O46% U32% U0.151
2026-07-18Patrick SandovalBOS vs TB549% O30% U15% U0.124
2026-07-18Rhett LowderCIN vs COL245% U29% U14% U0.101
2026-07-18Ryan WeathersNYY vs LADvoided: postponed
2026-07-18Sean ManaeaNYM vs PHI758% O39% O18% O0.412
2026-07-18Shane BieberTOR vs CWS645% O30% O17% U0.270
2026-07-18Shane DrohanMIL vs MIA949% O33% O19% O0.452
2026-07-18Spencer ArrighettiHOU vs BAL668% O51% O30% U0.144
2026-07-18Taj BradleyMIN vs CHC674% O51% O39% U0.152
2026-07-18Tarik SkubalDET vs LAA971% O58% O45% O0.191
2026-07-18Tomoyuki SuganoCOL vs CIN354% U32% U20% U0.145
2026-07-18Trevor RogersBAL vs HOU848% O30% O16% O0.493
2026-07-18Zack LittellWSH vs ATH438% U22% U12% U0.070
2026-07-17Anthony KayCWS vs TOR538% O23% U12% U0.152
2026-07-17Bailey OberMIN vs CHC744% O28% O12% O0.534
2026-07-17Brady SingerCIN vs COL651% O40% O19% U0.214
2026-07-17Bryce MillerSEA vs SF655% O42% O30% U0.212
2026-07-17Cade CavalliWSH vs ATH964% O50% O37% O0.261
2026-07-17Cal QuantrillTEX vs ATL335% U21% U10% U0.059
2026-07-17Chris SaleATL vs TEX666% O51% O33% U0.156
2026-07-17Colin ReaCHC vs MIN632% O18% O9% U0.381
2026-07-17Dean KremerBAL vs HOU564% O49% U32% U0.157
2026-07-17Eduardo RiveraBOS vs TB338% U24% U15% U0.074
2026-07-17Gabriel HughesCOL vs CIN668% O48% O29% U0.153
2026-07-17Gage JumpATH vs WSH873% O51% O35% O0.246
2026-07-17Gavin WilliamsCLE vs PITvoided: postponed
2026-07-17Gerrit ColeNYY vs LAD856% O39% O20% O0.405
2026-07-17Griffin JaxTB vs BOSvoided: late
2026-07-17Jake BennettBOS vs TBvoided: late
2026-07-17Jared JonesPIT vs CLEvoided: postponed
2026-07-17Landen RouppSF vs SEA265% U45% U31% U0.240
2026-07-17Logan HendersonMIL vs MIA446% U35% U24% U0.130
2026-07-17Mason EnglertTB vs BOS450% U34% U16% U0.132
2026-07-17Merrill KellyAZ vs STL341% U29% U14% U0.090
2026-07-17Michael KingSD vs KC442% U27% U16% U0.092
2026-07-17Michael McGreevySTL vs AZ532% O18% U8% U0.169
2026-07-17Peter LambertHOU vs BAL1072% O54% O37% O0.226
2026-07-17Reid DetmersLAA vs DET766% O49% O34% O0.269
2026-07-17Roki SasakiLAD vs NYY558% O40% U25% U0.133
2026-07-17Sandy AlcantaraMIA vs MIL752% O37% O21% O0.416
2026-07-17Seth LugoKC vs SD347% U28% U18% U0.112
2026-07-17Spencer MilesTOR vs CWS433% U17% U11% U0.052
2026-07-17Troy MeltonDET vs LAA953% O39% O23% O0.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.