Model Performance
A probability model is judged by calibration over samples, not by single-match hits. Every engine change must move these numbers on out-of-sample matches — or it gets cut.
2026-27 Season · Cumulative (pregame predictions, no hindsight)
Matches scored
72
Model log loss
1.0180
League-prior baseline
1.0714
Edge vs baseline
+0.0534
Brier score
0.6065
Modal picks correct
36/72
Lower log loss = better. Baseline = constant league base rates (home 45%, draw 26%, away 28%). Sample is still tiny (72 matches): treat every number here as noise until at least a half-season has accumulated.
Over 2.5 Calibration
Matches scored
72
Actual Over 2.5 rate
61.1%
Model avg Over 2.5
56.7%
Over 2.5 Brier
0.2287
Over 2.5 log loss
0.6504
Hits (3+ goals)
44/72
Pregame Over 2.5 probability (same number as on each match analysis page) vs whether the final score actually had 3+ goals.
| Model said | n | Model avg | Actual Over rate | Δ |
|---|---|---|---|---|
| 30–40% | 4 | 36.7% | 50.0% (2/4) | +13.3 pp |
| 40–50% | 12 | 46.6% | 41.7% (5/12) | -5.0 pp |
| 50–60% | 34 | 56.5% | 58.8% (20/34) | +2.4 pp |
| 60–70% | 19 | 65.2% | 84.2% (16/19) | +19.0 pp |
| 70–80% | 3 | 72.1% | 33.3% (1/3) | -38.8 pp |
Well-calibrated bands sit near Δ ≈ 0 (actual rate ≈ model average). Positive Δ = model under-called Over; negative = over-called.
Per Gameweek
| GW | Matches | Model log loss | Baseline | Δ | Picks |
|---|---|---|---|---|---|
| GW 1 | 9 | 1.0742 | 1.1888 | +0.1145 | 4/9 |
| GW 2 | 9 | 1.1276 | 1.0790 | -0.0486 | 2/9 |
| GW 3 | 9 | 1.1857 | 1.2012 | +0.0155 | 4/9 |
| GW 4 | 9 | 1.0686 | 1.1521 | +0.0835 | 4/9 |
| GW 5 | 9 | 0.9227 | 0.8473 | -0.0754 | 6/9 |
| GW 6 | 9 | 0.8254 | 0.9083 | +0.0829 | 7/9 |
| GW 7 | 9 | 0.9063 | 1.1036 | +0.1973 | 5/9 |
| GW 8 | 9 | 1.0334 | 1.0911 | +0.0577 | 4/9 |