Season-over-Season Backtest
A model can look good on one lucky season and fall apart on the next. To check for that, the 1X2 match model (Dixon-Coles) is walk-forward backtested against every complete season with prior history: refit weekly through the season, always scored against matches that were still in the future relative to the fit — the same discipline the live pipeline uses, not an in-sample fit that would flatter the numbers.
Scored two ways: ranked probability score (RPS, lower is better — rewards a calibrated full distribution over win/draw/loss, not just picking the right winner) and log loss (lower is better, penalizes confident wrong calls harder than uncertain ones). A credible RPS for this kind of model on a top-flight league sits roughly in the 0.19–0.21 range; random guessing lands well above 0.22.
EPL
| Season | Matches | RPS | Log loss | 1X2 accuracy |
|---|---|---|---|---|
| 2022-23 | 380 | 0.1998 | 0.9710 | 54.7% |
| 2023-24 | 378 | 0.1943 | 0.9459 | 58.2% |
| 2024-25 | 380 | 0.2011 | 0.9812 | 52.9% |
| 2025-26 | 380 | 0.2084 | 1.0251 | 46.3% |
RPS range across these 4 seasons: 0.1943–0.2084.
Serie A
| Season | Matches | RPS | Log loss | 1X2 accuracy |
|---|---|---|---|---|
| 2022-23 | 380 | 0.2027 | 1.0019 | 51.3% |
| 2023-24 | 380 | 0.1985 | 1.0080 | 48.7% |
| 2024-25 | 380 | 0.1948 | 0.9886 | 51.3% |
| 2025-26 | 379 | 0.1993 | 0.9866 | 51.4% |
RPS range across these 4 seasons: 0.1948–0.2027.
Every season for both leagues lands inside that credible band, with no single outlier season propping up the average. That's the actual claim this page exists to support: the model's performance isn't a story about one good year.
See the live track record →