Track record
Park-adjusted exponential runs ratings (fitted home edge 0.130 runs, alpha 1/40, 0.25 prior-season carryover) with a Normal-CDF win probability (sigma 4.135) plus Platt recalibration (intercept +0.110, slope 0.711, fitted 2026-10-10). Totals edge uses a median skew correction (-0.56 runs; the model predicts the mean, the line tracks the median). The closing line is never an input -- only the benchmark. Walk-forward: every prediction made before learning the result.
Model vs the closing line
The walk-forward verdict, in full: the model is a decent forecaster and loses to the closing line everywhere that matters.
| Metric | Us | Closing line | Verdict |
|---|---|---|---|
| Brier score | 0.2444 | 0.2402 | +0.0042 worse |
| Total RMSE | 4.42 | 4.37 | +0.05 worse |
| Moneyline (≥0.05 edge) | 4,201-5,880 · 42% | — | −2.5% ROI |
| O/U (≥0.5-run disagreement) | 6,226-5,967-618 · 51% | — | −2.7% ROI |
Walk-forward, 2012–2021 (22,765 games): the model picks the winner 56% straight up — barely above the 54% the home team won on its own. Flat $100 moneyline bets went 4,201-5,880 (42%) for −2.5% ROI over 10,081 bets; on the post-tuning 2016–2021 slice it was −1.0% ROI. Totals went 6,226-5,967-618 (51%) for −2.7% ROI. Competent forecaster, no betting edge. Team strength alone does not beat the closing MLB line.
Season by season
Every season the model was tested on. Green ROI seasons were profitable; the rest weren’t.
| Season | Games | Straight-up | Brier (us / line) | Moneyline | ML ROI | Total RMSE (us / line) | O/U | O/U ROI |
|---|---|---|---|---|---|---|---|---|
| 2021 | 2,429 | 57% | 0.2417 / 0.2387 | 445-630 | −0.7% | 4.51 / 4.45 | 733-687-64 | −0.4% |
| 2020* | 898 | 56% | 0.2434 / 0.2403 | 209-287 | +4.2% | 4.52 / 4.46 | 296-262-29 | +1.0% |
| 2019 | 2,429 | 59% | 0.2395 / 0.2357 | 476-659 | +0.2% | 4.73 / 4.67 | 665-644-72 | −3.3% |
| 2018 | 2,431 | 57% | 0.2409 / 0.2391 | 464-617 | +3.2% | 4.55 / 4.49 | 673-617-50 | −0.9% |
| 2017 | 2,430 | 56% | 0.2451 / 0.2408 | 489-674 | −2.0% | 4.51 / 4.46 | 706-699-74 | −4.4% |
| 2016 | 2,428 | 54% | 0.2477 / 0.2404 | 429-690 | −9.8% | 4.44 / 4.42 | 642-586-65 | −0.5% |
| 2015 | 2,429 | 54% | 0.2470 / 0.2417 | 438-608 | −5.4% | 4.36 / 4.35 | 619-635-64 | −6.0% |
| 2014 | 2,430 | 54% | 0.2480 / 0.2419 | 410-605 | −7.8% | 4.07 / 4.04 | 598-574-70 | −3.1% |
| 2013 | 2,431 | 56% | 0.2447 / 0.2413 | 410-552 | +0.7% | 4.21 / 4.14 | 605-612-60 | −5.3% |
| 2012 | 2,430 | 55% | 0.2452 / 0.2418 | 431-558 | −3.7% | 4.33 / 4.27 | 689-651-70 | −1.8% |
* 2020: the shortened 60-game season.