Model Performance
full history with results · 381 game dates scored
Real results on real games. Every pick here was written and stored before its game was played. Everything below this card is history re-scored with today's models.
Perfect days counts days when every one of that day's top picks landed.
Picks predate the game date, but are re-scored during the day as lineups land — so not always before first pitch.
every live slate since 2026-07-25 · 78 scoredRank the slate by each hitter's trailing 30-game rate and take the same top N. No park, no pitcher, no weather — the hot hand alone.
The baseline worth beating; the population average flatters every model.
Rank the slate by each hitter's trailing 30-game rate and take the same top N. No park, no pitcher, no weather — the hot hand alone.
The baseline worth beating; the population average flatters every model.
Rank the slate by each hitter's trailing 30-game rate and take the same top N. No park, no pitcher, no weather — the hot hand alone.
The baseline worth beating; the population average flatters every model.
Rank the slate by each hitter's trailing 30-game rate and take the same top N. No park, no pitcher, no weather — the hot hand alone.
The baseline worth beating; the population average flatters every model.
Yes/No is what happened that day.
The tick and cross repeat it, so the column is easier to scan. They do not mean the model was right or wrong — a low prediction followed by a No is a good call.
| Batter | Starting Pitcher | Home Run — predicted | Home Run — actual | Hit — predicted | Hit — actual | Walk — predicted | Walk — actual | 2+ Total Bases — predicted | 2+ Total Bases — actual |
|---|---|---|---|---|---|---|---|---|---|
| Jo Adell | Griffin Jax | 9.4% | No ✗ | 56.8% | No ✗ | 24.8% | Yes ✓ | 32.7% | No ✗ |
| Jonathan Aranda | Gavin Williams | 12.4% | No ✗ | 64.6% | No ✗ | 30.5% | No ✗ | 20.2% | No ✗ |
| Patrick Bailey | Griffin Jax | 7.6% | No ✗ | 55.4% | Yes ✓ | 23.6% | No ✗ | 27.8% | No ✗ |
| Jake Bauers | Tyler Glasnow | 14.3% | No ✗ | 67.4% | Yes ✓ | 44.0% | Yes ✓ | 33.1% | Yes ✓ |
| Travis Bazzana | Griffin Jax | 7.2% | No ✗ | 51.4% | No ✗ | 25.0% | No ✗ | 26.6% | No ✗ |
| Junior Caminero | Gavin Williams | 16.4% | No ✗ | 78.6% | No ✗ | 29.7% | No ✗ | 20.2% | No ✗ |
| Jackson Chourio | Tyler Glasnow | 15.0% | No ✗ | 76.6% | No ✗ | 29.2% | No ✗ | 39.0% | No ✗ |
| William Contreras | Tyler Glasnow | 15.7% | No ✗ | 78.6% | Yes ✓ | 40.4% | Yes ✓ | 43.1% | Yes ✓ |
| Chase DeLauter | Griffin Jax | 8.7% | No ✗ | 60.0% | No ✗ | 39.0% | No ✗ | 36.1% | No ✗ |
| Jonny DeLuca | Gavin Williams | 10.6% | No ✗ | 69.5% | No ✗ | 19.0% | No ✗ | 23.1% | No ✗ |
| Yandy Díaz | Gavin Williams | 11.8% | No ✗ | 75.0% | Yes ✓ | 26.6% | No ✗ | 24.0% | Yes ✓ |
| Sal Frelick | Tyler Glasnow | 3.7% | No ✗ | 70.3% | No ✗ | 27.6% | Yes ✓ | 31.5% | No ✗ |
| Petey Halpin | Griffin Jax | 5.2% | Yes ✓ | 49.3% | Yes ✓ | 16.2% | No ✗ | 22.3% | Yes ✓ |
| David Hamilton | Tyler Glasnow | 3.6% | Yes ✓ | 61.7% | Yes ✓ | 21.4% | No ✗ | 28.1% | Yes ✓ |
| Liam Hicks | Gavin Williams | 6.2% | No ✗ | 68.4% | No ✗ | 27.1% | No ✗ | 21.5% | No ✗ |
| Steven Kwan | Griffin Jax | 3.1% | No ✗ | 55.9% | No ✗ | 41.7% | No ✗ | 18.8% | No ✗ |
| Nathaniel Lowe | Griffin Jax | 7.1% | No ✗ | 53.8% | Yes ✓ | 24.2% | No ✗ | 27.6% | Yes ✓ |
| Victor Mesa Jr. | Gavin Williams | 12.6% | No ✗ | 70.4% | No ✗ | 25.9% | Yes ✓ | 30.4% | No ✗ |
| Garrett Mitchell | Tyler Glasnow | 12.9% | Yes ✓ | 70.8% | Yes ✓ | 36.5% | No ✗ | 28.7% | Yes ✓ |
| Richie Palacios | Gavin Williams | 7.2% | No ✗ | 63.2% | Yes ✓ | 25.4% | No ✗ | 19.9% | Yes ✓ |
| Cooper Pratt | Tyler Glasnow | 4.8% | No ✗ | 68.1% | No ✗ | 21.6% | No ✗ | 27.6% | No ✗ |
| José Ramírez | Griffin Jax | 7.5% | No ✗ | 57.5% | Yes ✓ | 28.4% | Yes ✓ | 29.8% | Yes ✓ |
| Brayan Rocchio | Griffin Jax | 4.4% | No ✗ | 54.1% | Yes ✓ | 18.5% | No ✗ | 23.2% | No ✗ |
| Chandler Simpson | Gavin Williams | 2.3% | No ✗ | 78.6% | Yes ✓ | 15.0% | No ✗ | 22.7% | Yes ✓ |
| Brice Turang | Tyler Glasnow | 10.8% | No ✗ | 74.0% | No ✗ | 42.6% | Yes ✓ | 41.2% | No ✗ |
| Taylor Walls | Gavin Williams | 3.0% | No ✗ | 57.5% | No ✗ | 22.5% | No ✗ | 16.5% | No ✗ |
| Christian Yelich | Tyler Glasnow | 13.6% | No ✗ | 68.2% | No ✗ | 34.8% | No ✗ | 34.7% | No ✗ |
| Market | random | top 1 | top 2 | top 3 | top 4 | top 5 | top 10 | top 20 |
|---|---|---|---|---|---|---|---|---|
| Home Run | 10% | 23% 2.00× | 20% 1.72× | 18% 1.54× | 18% 1.25× | 17% 1.29× | 17% 1.17× | 16% 1.24× |
| Hit | 57% | 67% 1.11× | 65% 1.04× | 67% 1.10× | 67% 1.12× | 67% 1.11× | 68% 1.14× | 66% 1.09× |
| 2+ Total Bases | 32% | 38% 1.20× | 37% 1.32× | 35% 1.17× | 35% 1.09× | 39% 1.19× | 40% 1.18× | 39% 1.14× |
| Walk | 27% | 49% 1.19× | 45% 1.01× | 46% 1.14× | 45% 1.16× | 45% 1.18× | 43% 1.22× | 39% 1.11× |
| picks behind each | — | 78 | 156 | 234 | 312 | 390 | 780 | 1558 |
The big number is how often those picks were right. The small number compares it to a naive picker: rank the slate by each hitter's trailing 30-game rate and take the same top N.
Below 1.00×, riding the hot hand would have done better.
Left-hand columns rest on few picks, so one result moves them several points.
| Market | all 1 | all 2 | all 3 | all 4 | all 5 | all 10 |
|---|---|---|---|---|---|---|
| Home Run | 18 of 78 | 2 vs 3.1 | 0 vs 0.5 | 0 vs 0.1 | 0 vs 0.0 | 0 vs 0.0 |
| Hit | 52 of 78 | 30 vs 32.7 | 21 vs 23.1 | 17 vs 15.4 | 11 vs 10.7 | 1 vs 1.7 |
| 2+ Total Bases | 30 of 78 | 9 vs 10.8 | 2 vs 3.4 | 0 vs 1.2 | 0 vs 0.7 | 0 vs 0.0 |
| Walk | 38 of 78 | 19 vs 15.7 | 10 vs 7.5 | 6 vs 3.3 | 3 vs 1.4 | 0 vs 0.0 |
| slates with that many picks | 78 | 78 | 78 | 78 | 78 | 78 |
The big number is how many slates had every one of the top N right. The small number is roughly how many chance alone would produce.
Sweeping compounds, so these fall away fast with N: a market hitting 60% of its picks sweeps five about 8% of the time.
Picks on a slate share a park and a day's weather, so real sweeps should run a little above the chance figure.
A backtest: history re-scored with today's models, restricted to games played after each model was trained — so nothing here was used to build it.
Still a re-scoring rather than a live forecast. The actual-results section above is the real record.
Where the pick count is small, treat it as a hint.
158 slates re-scored · 2026-05-03 to 2026-10-15 · not a live recordThe site only ever surfaces a top-K list -- nobody acts on a 6% prediction sitting outside it. This asks the question that matters at that depth: for each k, how often was the top-k pick actually right?
The solid bar is the model's top-k hit rate. The lighter bar beside it is the naive picker -- rank the slate by each player's own trailing rate and take the same top k. The number above each pair is the model's lift over that naive baseline, not over blind chance.
Same live record as the Top-K Individual Success Rate table above -- this is a chart of the same numbers, not a second measurement.