Surprises against the model
The results the model gave a small chance before kick-off, and how often they happened. It shows what happened, not what will happen. How good is the model? →
By league
For each league: how many results came even though the model gave them under 20%, and how many should have come on average if the estimates are right. When the two numbers are close, the surprises are exactly as many as “expected”.
| League | Season | matches with an estimate | results under 20%: actual / expected | biggest upset |
|---|---|---|---|---|
| Premier League | 2025-26 ↺ | 364 | 19 / 20.3if the model is right: between 13 and 28 (95%) | Arsenal FC 1–2 AFC Bournemouth (10.7%) |
| La Liga | 2025-26 ↺ | 359 | 23 / 24.7if the model is right: between 16 and 33 (95%) | Real Madrid CF 0–1 Getafe CF (7.2%) |
| Serie A | 2025-26 ↺ | 364 | 27 / 25.9if the model is right: between 17 and 35 (95%) | FC Internazionale Milano 1–2 Udinese Calcio (5.8%) |
| Bundesliga | 2025-26 ↺ | 298 | 21 / 20.9if the model is right: between 13 and 29 (95%) | FC Bayern München 1–2 FC Augsburg (3.6%) |
| Ligue 1 | 2025-26 ↺ | 298 | 34 / 24.8if the model is right: between 16 and 33 (95%)above the interval: the model underestimated low-chance results this season | Olympique de Marseille 0–2 FC Nantes (7.8%) |
| Liga 1 | 2024-25 ↺ | 300 | 11 / 14.3if the model is right: between 8 and 21 (95%) | Sepsi OSK Sfantu Gheorghe 1–2 SCM Gloria Buzău (9.5%) |
With 6 leagues compared, the chance that at least one falls outside the 95% interval by chance alone is 26%. A single league outside the interval is a signal to watch, not proof.
How to read it
How to read the figures on this page and what they do not say.
- A match's upset = the chance the model gave, before kick-off, to the result that happened (home win, draw or away win). The smaller it is, the less the model expected the result.
- A result with a 20% chance happens, on average, once every 5 matches. Upsets are normal: the right question is whether they come as often as the model says — the “How often” table answers it.
- Estimates marked ↺ are reconstructed: calculated only from earlier matches, but the site did not publish them at the time. Those marked ❄ were frozen and published within the last hour before kick-off.
- The figures say what happened against the estimate, not why.
Updated: 25 Oct 2026, 07:20 UTC