Every soccer 1X2 number we published, scored against what actually happened — including the places it is measurably off. Recomputed from the live record, not quoted from a snapshot.
For scale: always taking the home side over the same 859 fixtures calls 40.5% right. Soccer is a low-signal sport, and any number claiming to call much past the mid-fifties across mixed competitions is worth reading twice.
Each dot is one confidence band, sized by how many outcomes fall in it. A perfectly calibrated number sits on the dashed line; the grey stem is the miss.
| Band | Outcomes | SkipOdds said | Happened | Gap (pts) |
|---|---|---|---|---|
| 0–5% | 24 | 3.3% | 4.2% | +0.9 |
| 5–10% | 88 | 7.7% | 2.3% | -5.4 |
| 10–20% | 359 | 15.8% | 14.8% | -1.0 |
| 20–30% | 986 | 25.5% | 26.6% | +1.1 |
| 30–40% | 379 | 34.3% | 34.6% | +0.3 |
| 40–50% | 315 | 44.5% | 41.3% | -3.2 |
| 50–65% | 254 | 56.8% | 55.5% | -1.3 |
| 65%+ | 172 | 75.1% | 80.8% | +5.7 |
2,577 outcomes across 859 fixtures.
The widest two bands right now are 65%+ (stated 75.1%, happened 80.8%, 172 outcomes) and 5–10% (stated 7.7%, happened 2.3%, 88 outcomes). Long-shot outcomes tend to come in under their stated chance and strong favourites over it — the classic favourite–long-shot pattern.
Three alternative ways of removing the margin were tested against the one in use. All three flatten those tails almost exactly as theory predicts, and none improved overall accuracy on the sample tested — 856 fixtures, paired t of 0.3. The pattern is real, the obvious fix does not pay, and nothing was changed on the strength of it.
Accuracy is not one number — it is a different number in every competition. Competitions with at least 25 scored fixtures in the window:
| Competition | Fixtures | Called right | Brier |
|---|---|---|---|
| Major League Soccer | 118 | 45.8% | 0.6499 |
| EFL Championship | 81 | 45.7% | 0.6198 |
| Saudi Pro League | 54 | 50.0% | 0.5805 |
| UEFA Europa Conference League | 52 | 53.8% | 0.5642 |
| Eredivisie | 50 | 58.0% | 0.5650 |
| La Liga | 50 | 54.0% | 0.5625 |
| Liga MX | 44 | 47.7% | 0.5997 |
| Primeira Liga | 40 | 50.0% | 0.5507 |
| Premier League | 39 | 43.6% | 0.6362 |
| FIFA World Cup 2026 | 38 | 73.7% | 0.4191 |
| Serie A | 37 | 59.5% | 0.5429 |
| Ligue 1 | 36 | 41.7% | 0.6539 |
| UEFA Champions League | 31 | 71.0% | 0.4327 |
| DFB-Pokal | 30 | 80.0% | 0.3444 |
| Bundesliga | 27 | 55.6% | 0.5642 |
| Brasileirão | 27 | 55.6% | 0.5586 |
| UEFA Europa League | 25 | 60.0% | 0.5395 |
859 of the 3,164 fixtures that have finished on record carried a closing number. The rest were never covered by enough sources to publish one. This describes the fixtures SkipOdds covers, not the whole calendar.
SkipOdds averages the prices it collects from up to 79 sources, converts them and normalises. Whether that is the best way to combine them — against a median, against weighting each source by its own record, against discarding placeholder quotes — could not be answered from what was stored, because individual source prices were overwritten on every refresh.
Since 14 September 2026 they are frozen alongside each closing number, and the answer will be published here whichever way it falls.
Every figure is recomputed from the frozen pre-kick-off snapshot — the number as published, roughly twenty minutes before the start — scored against the final result. Nothing is scored from prices captured after kick-off.
Called right is the share of fixtures where the highest-rated of the three outcomes matched the result. Brier is the mean squared error across all three outcomes, so a number that is honest about a close fixture scores well even when its top pick loses, and one that is emphatic about a coin-flip scores badly even when it wins. Margin removed is the average overround stripped before publication.
Recomputed 2026-09-14 09:08 UTC. Past accuracy does not predict future accuracy.