Model
Baseball: how well the predictions actually do, and what they were built from
The model serving this sport has not been backtested.
python -m pipeline.backtest --sport baseball.Is the model any good?
Backtests
./.venv/bin/python -m pipeline.backtest --sport baseball --store-predictionsStored predictions
| Model | Predictions | On upcoming fixtures | Generated |
|---|---|---|---|
| deep | 1 | 1 | 4 Sep 2026 10:08 |
| mlb-dc | 51 | 51 | 4 Sep 2026 08:49 |
Data behind it
Covering 2024-03-01 to 2026-09-06.
Source: Understat, via the soccerdata scraper.
Calibration
No calibration yet. Run
./.venv/bin/python -m pipeline.picks --calibrate.
How the model works
Each team carries an attack and a defence rating on
the log scale. The goals a home side is expected to score are
exp(attackhome + defenceaway + home advantage), and the away side's
are exp(attackaway + defencehome). Those two numbers feed a pair of
Poisson distributions, combined into a full scoreline matrix from which every market —
1X2, over/under, both teams to score, exact score — is read off.
Two departures from the textbook version matter:
- Time decay. Each historical match is weighted
exp(−xi · days ago), so recent form counts for more than a result from two seasons back. - An xG target. Fitting on expected goals rather than goals removes finishing variance, which is mostly noise. In the backtest this improved accuracy without hurting log loss.
The rho parameter is Dixon and Coles' correction to the
low-scoring cells (0-0, 1-0, 0-1, 1-1), where treating the two scores as independent is known to misfit.