Scottish Premiership Prediction Model Performance: The First 36 Matches of 2026/27

Football Data Lab's pre-match Scottish Premiership probabilities graded against the opening 36 matches of 2026/27: 55.6% accuracy, 0.569 Brier, 0.962 log loss.

· Football Data Lab

The first 36 matches, scored honestly

Football Data Lab has now published pre-match probabilities for every Scottish Premiership fixture of the 2026/27 season. This is a retrospective evaluation of those probabilities against what actually happened — the opening 36 completed matches, from Dundee United v Rangers on 31 July to the three matches played on 15 September.

The point of this article is not to count how many predictions "came in". Anyone can do that, and on its own it tells you very little. The model does not publish tips; it publishes a probability for each of home win, draw and away win. A forecast of 55% home is not wrong when the away side wins — it is only wrong if, across many such matches, the home side wins far less than 55% of the time. So alongside accuracy, this article reports the two measures that actually grade probabilities: the Brier score and log loss.

Every number below comes from the probabilities as they were stored before each match kicked off. Football Data Lab keeps an append-only archive of every prediction it generates, timestamped at the moment of generation, precisely so that this kind of review cannot be contaminated by predictions regenerated after the result is known. Only snapshots dated earlier than kick-off were used. All 36 matches had one; none were excluded, and nothing was reconstructed or filled in.

Headline result: 20 of 36 correct (55.6%), a Brier score of 0.569 and a log loss of 0.962.

What the model predicted

Football Data Lab's Scottish Premiership numbers come from a hybrid ensemble. A Dixon-Coles Poisson model carries 65% of the weight, estimating each team's attack and defence strength from recent scoring rates with time decay, plus the low-score correction that plain Poisson misses. An Elo rating system carries the remaining 35%. The combined scoreline distribution is collapsed into home/draw/away probabilities, which are then optionally passed through calibration and a market-prior blend before being served.

That matters for reading what follows. The model has no opinion about team news it has not seen, and it is not trying to find value against a bookmaker. It is trying to state how likely each of three outcomes is.

Where the probabilities landed

Across the 36 matches, the model made the home side favourite 22 times and the away side 14 times. It made the draw the most likely single outcome zero times.

Home wins happened 15 times, away wins 15 times, draws 6 times.

OutcomeMean probability assignedTimes it actually happened
Home win43.8%15 of 36 (41.7%)
Draw23.2%6 of 36 (16.7%)
Away win33.0%15 of 36 (41.7%)

The home and draw columns line up reasonably. The away column is the one to watch: the model assigned away teams 33.0% on average across the window, and away teams won 41.7% of the time. On 36 matches that gap is well inside what chance alone produces, so it is an observation to carry forward, not a finding. It is the sort of thing that only becomes meaningful over a few hundred matches.

How the season unfolded

Grouping by matchday — the actual kick-off dates, since these matches span a rescheduled fixture and the database does not carry a reliable round label for the opening weeks:

MatchdayMatchesCorrectAccuracyBrier scoreLog loss
31 Jul100.0%1.0361.629
1 Aug200.0%0.8051.272
2 Aug2150.0%0.6251.035
3 Aug11100.0%0.0720.246
8 Aug2150.0%0.5970.991
9 Aug4250.0%0.6391.060
22 Aug100.0%0.7311.175
29 Aug3266.7%0.3800.685
30 Aug3266.7%0.5570.950
2 Sep5480.0%0.4260.765
3 Sep11100.0%0.5940.985
5 Sep4250.0%0.5470.930
6 Sep22100.0%0.4000.722
9 Sep22100.0%0.1970.448
15 Sep300.0%1.0401.648

And cumulatively, which is the more honest way to read a run this short:

ThroughMatchesAccuracyBrier scoreLog loss
31 Jul10.0%1.0361.629
3 Aug633.3%0.6611.081
9 Aug1241.7%0.6431.059
22 Aug1338.5%0.6501.068
30 Aug1947.4%0.5930.989
3 Sep2556.0%0.5590.944
6 Sep3158.1%0.5470.928
9 Sep3360.6%0.5260.899
15 Sep3655.6%0.5690.962

The shape is the story. The model opened the season badly, spent August climbing out of it, peaked at 60.6% accuracy with a 0.526 Brier after the matches of 9 September — and then lost a chunk of that in a single afternoon. The three matches on 15 September were all misses, and they were confident misses, which is why one matchday moved the cumulative Brier by 0.043 and the log loss by 0.063.

What the Brier score tells us

The Brier score measures the squared distance between the probability vector and what happened. Score 100% on the right outcome and you get 0; score 100% on a wrong one and you get 2. Lower is better.

The reference points worth knowing: a model that shrugs and says 33.3%/33.3%/33.3% every week scores 0.667. Football Data Lab's 0.569 over these 36 matches is better than that, which is the minimum bar any model has to clear to have said anything at all. The margin is 0.098 — real, but modest. Whether that is a good number for this league is not something 36 matches can answer; it is a baseline to be measured against as the season goes on.

Where the score was won and lost is instructive. The three Celtic home matches in the window — against Dundee, Falkirk and Aberdeen — were the model's best work. It priced Celtic at 78.2%, 77.4% and 74.1%, Celtic won all three, and those matches returned Brier scores of 0.072, 0.079 and 0.104. High confidence, correctly placed, is nearly free.

The opposite case is what the 15 September matches cost. Hibernian were 63.8% home favourites against Kilmarnock and lost 0-1: Brier 1.147, against the 0.667 the model would have scored by declining to have an opinion on that match at all. Confidence is only an asset when it is right.

What the log loss tells us

Log loss takes the probability assigned to the outcome that actually occurred and penalises the logarithm of it. That makes it much harsher than Brier on confident errors, because the penalty grows without limit as the probability assigned to the true outcome approaches zero. A model that says 5% about something that then happens is punished savagely — which is exactly the behaviour you want, since a forecaster who is occasionally certain and wrong is more dangerous than one who is routinely vague.

Over 36 matches the model's log loss is 0.962. The uniform-guess baseline is 1.099, so again the model beat "no opinion", but not by a wide margin.

The distribution is heavily driven by a handful of matches:

MatchModel saidResultProbability on what happenedLog loss
Hibernian v Kilmarnock, 15 Sep63.8% home0-1 away16.3%1.814
Rangers v Hibernian, 9 Aug62.8% home1-2 away17.7%1.732
Dundee Utd v Rangers, 31 Jul58.5% away1-1 draw19.6%1.630
Falkirk v Hearts, 15 Sep55.5% away2-1 home20.3%1.595
Celtic v Dundee, 3 Aug78.2% home1-0 home78.2%0.246

Those four matches are 11% of the sample and account for 19.6% of the model's total log loss. That is not a flaw in the metric — it is the metric doing its job.

What surprised the model

The single biggest surprise of the window was Hibernian 0-1 Kilmarnock on 15 September. The model gave Kilmarnock 16.3%, the lowest probability it assigned to any outcome that subsequently occurred.

Rangers 1-2 Hibernian on 9 August was close behind, with the away win priced at 17.7%.

Both are genuine upsets by the model's own numbers, which is the only definition this article will use. We are not going to invent a reason for them. The model did not know something and got it wrong; what that something was is outside what these numbers can tell you.

Worth noting on the other side: the model was not blind to every away win. It correctly made Celtic favourites at Kilmarnock (62.7%, won 5-1), at St Mirren (63.5%, won 2-1) and at St Johnstone (61.8%, won 1-0), and correctly favoured Rangers at Falkirk (57.4%) and Aberdeen (51.2% for Rangers, who won 0-1). Away favourites were priced well when they were big clubs travelling. The away wins it missed were the ones no rating system had a strong prior on.

The draw problem

The clearest pattern in the data is this: across 36 matches, the model never once made the draw the most likely outcome. Its highest draw probability all season was 28.3%, for St Mirren v Motherwell on 30 August — a match that finished 3-3.

This is not a case of the model ignoring draws. In aggregate it assigned them 23.2% on average, against an observed rate of 16.7%, so if anything it allocated slightly more probability to draws than the window produced. The issue is discrimination rather than volume: the draw probability barely moves between matches, so it never rises above both of the other two outcomes, and the draw is therefore never picked.

Six draws in this window went unpredicted by definition, and they were expensive. Three of them — Dundee Utd 1-1 Rangers, Motherwell 0-0 Falkirk and Aberdeen 0-0 Kilmarnock — are among the model's costliest individual results.

This is a known and genuinely hard problem, not a bug particular to Scotland. We have written about why draws are so hard to predict separately; this dataset is a clean illustration of it. It also means the headline accuracy figure has a structural ceiling: in a league where about one match in six is drawn, a model that never predicts a draw forfeits those matches before a ball is kicked.

How accurate were the Scottish Premiership predictions?

Careful answer: moderately, on a sample far too small to conclude anything durable.

55.6% of matches called correctly is a respectable-sounding number, and it is comfortably above the 33% a coin-flip across three outcomes would give. But the favourite in a football match wins more often than not regardless of who is doing the picking, so beating a blind guess is a low bar.

The more informative comparison is against the no-opinion baseline: Brier 0.569 against 0.667, log loss 0.962 against 1.099. The model is adding real information. It is not adding a lot of it, on this evidence.

The calibration picture across confidence bands, with the obvious caveat that twelve matches in a band supports almost nothing:

Model confidenceMatchesMean confidenceCorrect
Under 45%1240.0%6 (50%)
45–55%849.3%3 (38%)
55–60%457.2%2 (50%)
60%+1266.3%9 (75%)

The top and bottom bands behave sensibly — the model's high-confidence picks landed more often than its low-confidence ones, which is the basic thing you want a confidence signal to do. The middle bands are noise at this sample size.

Three things this article is explicitly not claiming. It does not establish that the model is well calibrated — accuracy and calibration are different properties, and 36 matches cannot settle the second. It does not establish anything about profitability; Brier score and log loss measure probability quality, not betting returns, and nothing here was compared against a bookmaker's line. And it does not establish long-term model quality. Thirty-six matches is roughly one-sixth of a Scottish Premiership season. A run of three bad results moved the cumulative Brier by 0.043 in an afternoon, which tells you exactly how unstable a number this still is.

What happens next

These same three metrics will be recalculated as more Scottish Premiership matches are completed, using the same method and the same pre-kick-off archive. The interesting questions are whether the recovery through August was signal or noise, whether the away-side gap persists, and whether the draw probabilities ever start to discriminate.

You can see the current Scottish Premiership predictions for upcoming fixtures, with the same probabilities this article has just graded. If you want the wider context on what a prediction model can and cannot do, we have covered how accurate football prediction models are in general terms.


All figures calculated from Football Data Lab's stored pre-match probability archive, covering the 36 Scottish Premiership matches completed between 31 July and 15 September 2026. Accuracy is the share of matches where the highest-probability outcome occurred. Brier score is the mean squared error of the three-outcome probability vector against the actual result. Log loss is the mean negative log-likelihood of the outcome that occurred. Lower is better for both.

Related Articles