Model comparison

This season so far

2026/27 — 6 matches scored, every model against what actually happened, using parameters fitted on prior seasons only. 12 have been played; the models that read rolling form have no opinion on a season's opening fixtures, and every model here is measured over the same 6 so the figures can be compared at all.

ModelLog loss 95% intervalMatches
Elo 0.9418 6
Gradient boosting (Model 5) 0.9653 6
Bookmaker 1.0062 6
Baseline (Model 0) 1.0276 6
Logistic (Model 4) 1.0448 6
Poisson 1.1165 6
Dixon-Coles 1.1182 6
Always home undefined 6

The bars are 95% intervals on the log loss, drawn against one shared scale. Where they overlap, this season has not yet separated those models — a season is a small sample, and the ordering above should not be read as a ranking until the bars pull apart. The comparison over 5,228 historical matches is below, and is the one to trust. A model that assigns zero to something that happened has no log loss and no interval, which is why always-home shows neither.

Biggest surprises

Results the goal model gave least chance to. Unlike the table above, this needs no sample size.

09 Aug Rangers 1–2 Hibernian we gave it 11.0% why?
31 Jul Dundee United 1–1 Rangers we gave it 20.4% why?
09 Aug Motherwell 0–0 Falkirk we gave it 25.7% why?
01 Aug Falkirk 0–2 St Mirren we gave it 25.7% why?
02 Aug Hibernian 1–2 Motherwell we gave it 26.1% why?

All seasons

Scored walk-forward: every model predicts a season using only prior seasons. All rows share one match set, so the figures are comparable.

ModelLog loss BrierRPS Accuracy ECE HECE DECE A Matches
Bookmaker 0.9552 0.5665 0.1943 0.536 0.027 0.011 0.013 5,228
Elo 0.9711 0.5767 0.1993 0.529 0.027 0.010 0.033 5,228
Poisson 0.9768 0.5811 0.2014 0.519 0.017 0.004 0.019 5,228
Dixon-Coles 0.9769 0.5812 0.2014 0.519 0.015 0.003 0.019 5,228
Logistic (Model 4) 0.9833 0.5844 0.2018 0.532 0.024 0.008 0.021 5,228
Gradient boosting (Model 5) 0.9954 0.5927 0.2058 0.520 0.040 0.011 0.029 5,228
Baseline (Model 0) 1.0686 0.6467 0.2328 0.437 0.004 0.005 0.001 5,228
Always home undefined 1.1251 0.4440 0.437 0.563 0.237 0.325 5,228

A log loss of undefined is not missing data. A model that assigns zero probability to an outcome that then happens has infinite log loss, and clipping it would report the clipping constant rather than the model. Judge models by log loss, Brier, RPS and calibration — never by accuracy alone: the baseline and always-home score identically on accuracy because both always pick a home win, yet they are far apart on Brier.

Log loss by season

Lower is better. Each point is one season, predicted from prior seasons only. Dixon-Coles sits underneath Poisson — the two differ by at most 0.0016 in any season, so its line is hidden rather than missing. Click a legend entry to hide that model and see what is beneath it.