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)
Lower log loss = better. Baseline = constant league base rates (home 45%, draw 24%, away 31%). Sample is still tiny (80 matches): treat every number here as noise until at least a half-season has accumulated.
Over 2.5 Calibration
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% | 1 | 39.3% | 100.0% (1/1) | +60.7 pp |
| 40–50% | 11 | 47.2% | 27.3% (3/11) | -20.0 pp |
| 50–60% | 43 | 56.0% | 46.5% (20/43) | -9.5 pp |
| 60–70% | 20 | 64.6% | 60.0% (12/20) | -4.6 pp |
| 70–80% | 5 | 73.2% | 80.0% (4/5) | +6.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 | 10 | 0.9244 | 0.9359 | +0.0115 | 6/10 |
| GW 2 | 10 | 1.0007 | 1.1362 | +0.1354 | 5/10 |
| GW 3 | 10 | 1.1308 | 1.2502 | +0.1194 | 3/10 |
| GW 4 | 10 | 1.1818 | 1.2363 | +0.0545 | 3/10 |
| GW 5 | 10 | 1.0459 | 1.0360 | -0.0099 | 4/10 |
| GW 6 | 10 | 1.0268 | 1.0616 | +0.0349 | 5/10 |
| GW 7 | 10 | 0.7495 | 1.0104 | +0.2609 | 8/10 |
| GW 8 | 10 | 1.1335 | 1.1362 | +0.0026 | 4/10 |
Engine Calibration Benchmark (10-season backtest)
| Edge Rating engine (calibrated constants) | 0.9729 | n = 3040 |
| League-prior baseline (floor) | 1.0654 | |
| Pinnacle closing odds, de-margined (ceiling) | 0.9494 | model 0.9672 on same 2870 |
Constants (home advantage 1.2, update step 1.5, season carry 0.9, promoted prior 30.0) fitted on EPL 16/17–25/26, first 2 seasons burn-in, minimising out-of-sample 1X2 log loss. The engine clearly beats the naive prior and sits 0.018 behind the closing market — the expected picture for a goals-signal engine; the gap is the target for the xG upgrade.