Football match predictor
Premier League 2019/20 to 2024/25 · walk-forward backtest on 760 unseen matches (Aug 2023 to May 2025)
Model vs bookmaker
| model | matches | accuracy | Brier | log loss |
|---|---|---|---|---|
| bookmaker | 760 | 56.6% | 0.5560 | 0.9399 |
| logistic | 760 | 55.1% | 0.5706 | 0.9597 |
| poisson | 760 | 53.7% | 0.5728 | 0.9646 |
| grad_boost | 760 | 54.1% | 0.5824 | 0.9786 |
| baseline_freq | 760 | 43.4% | 0.6462 | 1.0673 |
Lower Brier and log loss is better. The bookmaker line is the average market odds with the margin removed.
Log loss by model
How far behind the market?
Calibration (home win)
Results mix by season
Season points vs market expectation
| season | team | points | market xPts | diff |
|---|---|---|---|---|
| 2019/20 | Liverpool | 99 | 82.8 | +16.2 |
| 2024/25 | Nott'm Forest | 65 | 49.1 | +15.9 |
| 2020/21 | West Ham | 65 | 49.4 | +15.6 |
| 2019/20 | Burnley | 54 | 40.5 | +13.5 |
| 2022/23 | Brentford | 59 | 46.4 | +12.6 |
Computed in SQL from average odds. Big positive numbers are teams that beat what the market expected.
Data: football-data.co.uk (results and average odds). Not betting advice: no model here beats the market.