La Liga · Surprises against the model
2025-26 ↺ — reconstructed walk-forward estimates: each one calculated only from earlier matches and frozen on match day at 00:00 UTC (the site did not exist then). All leagues → How good is the model? →
359 matches with an estimate out of 380 played (teams with fewer than 8 matches in the model's window have no estimate).
The biggest upsets 2025-26 ↺
The matches in which the result happened that the model gave the smallest chance before kick-off. Example: if the model gave the away win 5% and the away side won, the match is near the top of the list. A 5% chance happens, on average, once every 20 matches.
- ↺model: 1 75% · X 18% · 2 7.2% · the actual result had 7.2% (≈ 1 in 13.89)
- ↺model: 1 75% · X 15% · 2 10.1% · the actual result had 10.1% (≈ 1 in 9.86)
- ↺RC Celta de Vigo 0–3 Real Oviedomodel: 1 70% · X 19% · 2 10.7% · the actual result had 10.7% (≈ 1 in 9.32)
- ↺model: 1 71% · X 17% · 2 12.6% · the actual result had 12.6% (≈ 1 in 7.91)
- ↺Girona FC 2–1 FC Barcelonamodel: 1 13.1% · X 17% · 2 70% · the actual result had 13.1% (≈ 1 in 7.62)
- ↺model: 1 13.4% · X 18% · 2 69% · the actual result had 13.4% (≈ 1 in 7.47)
- ↺model: 1 59% · X 27% · 2 14.3% · the actual result had 14.3% (≈ 1 in 7.00)
- ↺Real Madrid CF 1–1 Girona FCmodel: 1 76% · X 14.9% · 2 9% · the actual result had 14.9% (≈ 1 in 6.71)
- ↺model: 1 63% · X 22% · 2 15.4% · the actual result had 15.4% (≈ 1 in 6.50)
- ↺model: 1 15.4% · X 17% · 2 67% · the actual result had 15.4% (≈ 1 in 6.47)
- ↺model: 1 55% · X 29% · 2 15.6% · the actual result had 15.6% (≈ 1 in 6.42)
- ↺model: 1 15.7% · X 19% · 2 65% · the actual result had 15.7% (≈ 1 in 6.39)
- ↺model: 1 16.3% · X 20% · 2 64% · the actual result had 16.3% (≈ 1 in 6.15)
- ↺RCD Mallorca 2–1 Real Madrid CFmodel: 1 16.5% · X 22% · 2 62% · the actual result had 16.5% (≈ 1 in 6.05)
- ↺model: 1 16.8% · X 29% · 2 54% · the actual result had 16.8% (≈ 1 in 5.97)
- ↺model: 1 58% · X 25% · 2 17.1% · the actual result had 17.1% (≈ 1 in 5.84)
- ↺Girona FC 1–1 Real Madrid CFmodel: 1 15% · X 17.9% · 2 67% · the actual result had 17.9% (≈ 1 in 5.57)
- ↺model: 1 61% · X 21% · 2 18.3% · the actual result had 18.3% (≈ 1 in 5.46)
- ↺model: 1 61% · X 21% · 2 18.4% · the actual result had 18.4% (≈ 1 in 5.43)
- ↺Real Betis Balompié 1–1 Girona FCmodel: 1 64% · X 19.0% · 2 17% · the actual result had 19.0% (≈ 1 in 5.26)
How often low-chance results happen n = 359
All the possible results (home win, draw, away win) the model gave a small chance to, grouped into bands. For each band: how often they happened, next to what the model estimated on average. A well-calibrated model has the two numbers close together.
| the model's chance | results | happened | actual | estimated on average |
|---|---|---|---|---|
| 0% – 10% | 29 | 1 | 3.4%95%: 1–17% | 7.4% |
| 10% – 20% | 143 | 22 | 15.4%95%: 10–22% | 15.8% |
| 20% – 30% | 395 | 110 | 27.8%95%: 24–32% | 25.4% |
Results under 20% that came: 23; expected on average 24.7 (if the model is right, between 16 and 33, 95%).
Teams and upsets 2025-26 ↺
For each team: the results under 20% that went its way (a win or a draw) and against it (a defeat), next to how many were expected on average. “Expected” = the sum of those results' chances in its matches.
| Team | matches | in favour: actual | expected | against: actual | expected |
|---|---|---|---|---|---|
| Girona FC | 37 | 5 | 2.6 | 0 | 0.0 |
| Deportivo Alavés | 36 | 3 | 1.5 | 0 | 0.1 |
| Real Betis Balompié | 36 | 2 | 1.0 | 0 | 1.7 |
| RC Celta de Vigo | 37 | 2 | 1.0 | 3 | 0.8 |
| Levante UD | 30 | 2 | 1.6 | 0 | 0.2 |
| Getafe CF | 36 | 2 | 1.7 | 0 | 0.0 |
| Sevilla FC | 37 | 2 | 1.8 | 1 | 0.4 |
| Athletic Club | 38 | 1 | 0.8 | 2 | 1.2 |
| CA Osasuna | 37 | 1 | 1.0 | 0 | 0.1 |
| Real Sociedad de Fútbol | 37 | 1 | 1.3 | 0 | 0.1 |
| RCD Mallorca | 38 | 1 | 1.4 | 0 | 0.2 |
| Valencia CF | 37 | 1 | 1.8 | 0 | 0.0 |
| Rayo Vallecano de Madrid | 38 | 1 | 1.8 | 0 | 0.2 |
| Club Atlético de Madrid | 37 | 0 | 0.8 | 3 | 2.9 |
| Real Madrid CF | 36 | 2 | 2.9 | 4 | 3.4 |
| RCD Espanyol de Barcelona | 38 | 0 | 1.1 | 0 | 0.1 |
| Villarreal CF | 37 | 0 | 1.4 | 1 | 1.7 |
| Elche CF | 30 | 0 | 1.6 | 0 | 0.0 |
| Real Oviedo | 30 | 1 | 2.8 | 0 | 0.0 |
| FC Barcelona | 36 | 0 | 3.3 | 5 | 3.1 |
This season · estimates frozen in real time ❄
The matches of the current season played after the model's estimate was frozen, within the last hour before kick-off, in which a result under 20% came.
22 matches played with a frozen estimate ❄; in 1 of them a result under 20% came.
- ❄model: 1 68% · X 17.6% · 2 14% · the actual result had 17.6% (≈ 1 in 5.68)
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