Skip to content

Model comparison

Several models, trained on identical data cut at identical moments, asked about the same matches and scored by the same code. The question this page answers: if each of these had existed before these matches were played, how many would it actually have called correctly?

Backtested Everything here is retrodiction. Each match was priced from a fit over matches played strictly before its own kickoff, which is an honest test — but the code was written knowing how these seasons ended, so none of it is a forecast published in advance.

Big five + Greece 2018-2026
108,035 predictions · 15,473 matches · 2 hours ago
Model Matches Correct Accuracy RPS Log loss Overconfidence
Ensemble 15,404 8,050 52.26% ±0.79 0.1999 0.9855 +0.2%
Dixon-Coles 15,404 8,050 52.26% ±0.79 0.2000 0.9854 -0.7%
Elo 15,404 8,022 52.08% ±0.79 0.2017 1.0008 +1.4%
Poisson 15,404 7,963 51.69% ±0.79 0.2022 1.0056 +1.6%
League base rates baseline 15,404 6,641 43.11% ±0.78 0.2304 1.0751 +0.6%
Random baseline 15,404 5,111 33.18% ±0.74 0.2353 1.0986 +0.2%
Always home baseline 15,404 6,641 43.11% ±0.78 0.4271 2.6285 +54.9%

Are these differences real?

McNemar's test on the matches where exactly one of the pair was right. Matches they both got right, or both got wrong, say nothing about which is better.

Poisson — in detail

Confusion matrix

Rows: what happened. Columns: what it said.

Home Draw Away
Home 5,264 29 1,348
Draw 2,484 24 1,419
Away 2,143 18 2,675

By outcome

Precision: when it said this, how often was it right. Recall: of the times this happened, how often did it say so.

Outcome Said Happened Precision Recall
Home 9,891 6,641 53.2% 79.3%
Draw 71 3,927 33.8% 0.6%
Away 5,442 4,836 49.2% 55.3%

This model almost never predicts a draw. That is normal for argmax over three outcomes — draws are rarely the single most likely result — but it means its accuracy figure is carried entirely by home and away calls.

Does confidence mean anything?

Grouped by how sure it was. A calibrated model matches its own claim.

Band Matches Said Happened Gap
< 40% 2,179 38.0% 36.6% +1.4%
40-45% 2,709 42.4% 41.1% +1.3%
45-50% 2,516 47.4% 44.6% +2.8%
50-55% 2,079 52.4% 51.6% +0.8%
55-60% 1,706 57.4% 56.5% +0.9%
60-65% 1,338 62.4% 61.4% +1.0%
65-70% 1,039 67.4% 66.2% +1.2%
70-75% 726 72.4% 71.3% +1.1%
75-80% 537 77.3% 75.2% +2.1%
80-90% 507 83.9% 79.3% +4.7%
90-100% 68 93.1% 83.8% +9.3%

If you only followed it when sure

Coverage matters as much as accuracy: a threshold that is right 80% of the time but fires four times a season is a curiosity, not a strategy.

At least Matches Accuracy Coverage
all 15,404 51.7% 100%
40% 13,225 54.2% 86%
45% 10,516 57.5% 68%
50% 8,000 61.6% 52%
55% 5,921 65.1% 38%
60% 4,215 68.6% 27%
65% 2,877 71.9% 19%
70% 1,838 75.1% 12%
75% 1,112 77.6% 7%
80% 575 79.8% 4%

When the models agree

Only the pure models are counted here — agreement with the bookmaker benchmark would be measuring something else.

Agreeing Matches Correct Accuracy
2 / 4 378 139 36.8%
3 / 4 1,754 697 39.7%
4 / 4 13,272 7,229 54.5%

By competition

Group Matches Accuracy RPS
Super League 1 1,728 52.7% 0.1897
Serie A 2,921 52.4% 0.1981
La Liga 2,947 51.3% 0.1999
Bundesliga 2,301 51.5% 0.2061
Premier League 2,902 52.2% 0.2063
Ligue 1 2,605 50.3% 0.2096

By season

Group Matches Accuracy RPS
Super League 1 2025/26 236 51.7% 0.1850
Super League 1 2024/25 235 51.9% 0.2085
Super League 1 2023/24 236 53.8% 0.1817
Super League 1 2022/23 240 51.7% 0.1815
Super League 1 2021/22 239 54.0% 0.2038
Super League 1 2020/21 242 47.1% 0.1974
Super League 1 2019/20 240 55.4% 0.1767
Super League 1 2018/19 60 66.7% 0.1634
Serie A 2025/26 378 51.9% 0.1995
Serie A 2024/25 379 50.1% 0.1921
Serie A 2023/24 380 52.4% 0.1965
Serie A 2022/23 379 51.2% 0.2034
Serie A 2021/22 378 53.4% 0.2010
Serie A 2020/21 378 55.3% 0.1908
Serie A 2019/20 377 53.1% 0.2084
Serie A 2018/19 272 51.8% 0.1918
Premier League 2025/26 379 46.4% 0.2132
Premier League 2024/25 379 50.4% 0.2113
Premier League 2023/24 379 57.0% 0.1913
Premier League 2022/23 379 48.0% 0.2230
Premier League 2021/22 379 54.6% 0.1941
Premier League 2020/21 379 50.9% 0.2193
Premier League 2019/20 377 52.8% 0.2022
Premier League 2018/19 251 59.8% 0.1910