• Privacy Policy
  • About
  • Submit a Tip
Tuesday, November 3, 2026
  • Login
  • Home
  • Championship
    • Previews
    • Reviews
  • League One
    • Previews
    • Reviews
  • League Two
    • Previews
    • Reviews
  • Women’s Football
    • Previews
    • Reviews
  • Player Profiles
  • The Data
    • Stats Dive
    • The Model
  • News
    • Weekly Digest
    • Championship News
    • League One News
    • WSL News
    • Manager Watch
    • Transfer News
  • Season at a Glance — Championship, League One & WSL Tables
  • The Model Scorecard — Whole-Season ML Prediction Accuracy
No Result
View All Result
Beyond The Prem
11 °c
Hull
10 ° Wed
10 ° Thu
  • Home
  • Championship
    • Previews
    • Reviews
  • League One
    • Previews
    • Reviews
  • League Two
    • Previews
    • Reviews
  • Women’s Football
    • Previews
    • Reviews
  • Player Profiles
  • The Data
    • Stats Dive
    • The Model
  • News
    • Weekly Digest
    • Championship News
    • League One News
    • WSL News
    • Manager Watch
    • Transfer News
  • Season at a Glance — Championship, League One & WSL Tables
  • The Model Scorecard — Whole-Season ML Prediction Accuracy
No Result
View All Result
Beyond The Prem
No Result
View All Result
Home The Data The Model

Why Football Models Get Draws Wrong — and What We Did About It

underthegreysky1971 by underthegreysky1971
09/04/2026
in The Model, The Data, Uncategorized
4
0
Share on Twitter

Since early 2026 we’ve been running a machine learning model on Championship and League One fixtures — you’ve seen the probability bars in our gameweek previews. The model has been quietly doing its job. Then we ran a proper backtest against Bet365 odds and found a problem we couldn’t ignore.

This is the honest account of what we found, what we tried, what failed, and what actually worked.



1. The Problem We Found

We fetched seven days of completed Championship and League One fixtures — 46 matches — and compared our model’s probabilities against Bet365’s odds. The idea: if our model thinks a team has a higher chance of winning than the bookmaker does, that’s potentially a value bet (though more on why we’re not building a betting tool later).

We flagged 30 matches where the model said the odds were out of line. The result: 6 wins, 24 losses. 20% strike rate.

That’s bad. But the interesting question was why it was bad — and when we looked at the data, one thing stood out immediately.

BACKTEST OUTCOMES — 46 FIXTURES

Model predicted
Actual result


Home Win

28

14

Draw ← the problem was here

3

19

Away Win

15

13

Championship GW41 + League One GW42

The model predicted draws in just 3 out of 46 matches. In reality, 19 of those 46 matches ended in a draw — 41% of the sample. The model was so convinced that most matches would produce a winner that it almost never considered the draw.

A quick note in fairness to the model: 41% draws in a single week is genuinely unusual. The long-run average across both leagues is around 25–26%. We happened to backtest on an unusually draw-heavy week. But even accounting for that, the model’s 3-draw prediction was wildly off, and the under-prediction of draws wasn’t just bad luck — it was structural.

What is “draw blindness”?

When a model consistently under-predicts draws, it means it sees most matches as likely to produce a winner — even when the evidence suggests they could easily end level. It doesn’t mean the model is broken overall. It means the features we feed it (recent goals, form, league position) are better at separating “probably a home win” from “probably an away win” than they are at spotting “probably neither.”



2. Why Draws Are So Hard to Predict

This isn’t a problem unique to our model. Draw prediction is famously the hardest outcome to get right in football analytics, and there are good structural reasons for it.

Think about what makes a win easy-ish to predict: a top-six side hosting a bottom-six side, great recent form, scoring freely. The signals point in one direction. Now think about a draw. A draw happens when two teams cancel each other out — but so does a match where one team dominates and just can’t finish. From the outside, both situations look similar in the data until the 90th minute.

WHAT PREDICTS A WIN

✓ Big gap in league position
✓ One team scoring freely, other conceding
✓ Recent points difference is large
✓ Home advantage is measurable

WHAT PREDICTS A DRAW

? Teams roughly equal in position
? Both scoring and conceding at similar rates
? Neither team in dominant form
? Looks identical to a 1-0 that never came

Researchers at clubs, universities, and betting firms have been working on this for years. The consensus is uncomfortable but honest: the draw is the outcome that resists prediction most, because it’s the result of things cancelling out rather than one thing dominating.



3. What We Tried (And What Didn’t Work)

Our first attempt was to build a dedicated draw predictor — a separate model whose only job was to answer “will this match end in a draw, yes or no?”

We trained it on six seasons of Championship and League One data (roughly 6,500 matches), using all the same form features plus some new ones specifically chosen because theory says they should correlate with draws: the gap in league position between the two teams, how often each team has drawn in their last five and ten games, and the combined goal-scoring rate of both sides.

HOW WE MEASURE BINARY PREDICTION QUALITY — ROC-AUC EXPLAINED

We use a metric called ROC-AUC. You don’t need to know what those letters stand for — just think of it this way: if you gave the model 100 pairs of matches (one draw, one non-draw) and asked it to pick the draw each time, the score tells you how often it gets it right.

0.50
COIN FLIP

0.546
OUR MODEL

1.00
PERFECT

Out of 100 coin flips — 50 correct. Our draw classifier — 54.6. A genuinely good model — 75+. We were closer to the coin than to useful.

The result: ROC-AUC of 0.546. On our scale above, that’s barely off the coin-flip line. Not useless, but not useful enough to build on.

We then tried adding half-time score patterns — how often each team was level at half time in recent games, reasoning that teams who regularly go in level at the break might be more prone to finishing level too. The result was actually marginally worse: 0.527. The features added noise rather than signal.

Even at the best possible threshold setting, the precision/recall numbers were bleak:

Sensitivity (flags this % as draws) How many flagged? Actually draws? % correct vs baseline (26%)
Very sensitive (flags 30%+ threshold) 288 / 1113 88 30.6% +4.5pp
Moderate (35% threshold) 138 / 1113 39 28.3% +2.3pp
Strict (50% threshold) 17 / 1113 5 29.4% +3.4pp
Baseline — just guess every match is not a draw — — 26.1% baseline

← scroll →

The best we could do was 30.6% correct — compared to the 26.1% baseline of just never predicting draws at all. A marginal improvement, but nothing you’d want to build a pipeline on.

At that point we called it. The dedicated draw classifier was not going to get us where we needed to be.



4. What Actually Worked — Platt Scaling

We stepped back and asked a different question. Rather than trying to predict draws separately, could we fix the existing model’s tendency to under-report them?

The watch analogy

Your watch runs five minutes slow. You know this — so every morning you add five minutes in your head. You haven’t fixed the watch, but you’ve corrected for the error. Platt scaling is exactly that. We measured the gap between what the model said the draw probability was and what actually happened, then applied a correction so the outputs match reality better. The underlying model doesn’t change — we just adjust what it tells you.

The technical name is Platt scaling. The way it works: you take the model’s raw probability outputs, feed them into a second tiny model (just a logistic regression — one of the simplest things in statistics), and that second model learns the correction factor. It’s a technique used widely in industry precisely because it’s simple and robust.

We trained it on a held-out slice of our 2019–2024 data that the main model had never seen. Then we tested it on the 2024/25 season.

CHAMPIONSHIP — DRAW PROBABILITY BEFORE & AFTER CALIBRATION





Actual draw rate

28.1%

Before calibration

23.5%

After calibration

25.1%

The gap between the model’s draw prediction and reality was halved. It’s not perfect — 25.1% vs 28.1% actual is still a little low — but it’s substantially more honest than the uncorrected 23.5%.

The improvement in prediction quality (measured by log loss — essentially how wrong the model is on average) went from 1.0638 to 1.0574. That sounds like a small number and it is — but in football prediction, the difference between a model that’s reliably useful and one that isn’t often comes down to improvements at this scale.

League One: leave well enough alone

Here’s where it got interesting. When we applied the same calibration to the League One model, it got worse.

It turned out the League One Random Forest model was already reasonably well calibrated on draws — only 1.4 percentage points off the actual draw rate, compared to the Championship model’s 4.5pp gap. Applying Platt scaling overcorrected it in the wrong direction: the calibrated model predicted draws at 19.7% on average versus a 24.2% actual rate. Log loss went from 1.04 to 1.16.

The lesson

Calibration is a tool, not a blanket fix. Applying a correction where one isn’t needed can make things worse. We applied it where it helped (Championship) and left it alone where it didn’t (League One). Both decisions were data-driven.



5. What This Means Going Forward

From this gameweek, Championship predictions use the calibrated model. League One predictions use the original. Both now write a separate draw probability value to our database that you’ll start to see surfaced in upcoming features.

What does this mean when you’re reading our predictions?

When you see a Championship prediction showing, say, 27% draw probability — that number has now been corrected against six seasons of historical reality, not just raw model output. It’s not perfect, but it’s more honest than before.

League One draw probabilities were already reliable. Nothing changes there.

A word on betting

We want to be direct about this. We are not building a value betting tool, and we’d caution anyone against treating our predictions as one.

Here’s why: Bet365 employs professional odds compilers and machine learning teams. Their margins are designed so that even a very good model — one that genuinely outperforms theirs — would need thousands of bets and careful bankroll management to show a profit. Our model is competitive with the market in some areas, not in others. The honest position is that finding consistent edge against a major bookmaker is hard, and our backtest of 46 fixtures told us we’re not there yet on draw prediction.

What we are building: more transparent predictions, clearly stated uncertainty, and the kind of honest accounting of model performance you’ve just read. If a prediction says 28% draw, that should mean 28% draw — not “the model didn’t really think about draws.”

CHAMPIONSHIP

Calibrated ✓

Draw gap: −4.5pp → −2.9pp
Log loss: 1.0638 → 1.0574

LEAGUE ONE

Already good ✓

Draw gap: +1.4pp (well calibrated)
Calibration would have made it worse

None of this makes our predictions perfect. Football is fundamentally uncertain and any model that claims otherwise is lying to you. What we can promise is that we’ll keep testing, keep being honest about what doesn’t work, and keep improving where the data tells us we should.

The draw problem turned out to be a useful reminder that knowing what your model gets wrong is as important as knowing what it gets right.

BeyondThePrem ML Models — Championship model: Logistic Regression trained on 2019–2024 data, now Platt-calibrated. League One model: Random Forest, 500 estimators. Both trained on rolling 5/10-game form features. Neither model is a betting system.

Tags: championshipChampionship Predictionsdraw blindnessFootball ModelsLeague One PredictionsPlatt Scaling
Next Post

The Model’s Heinz — GW42 & GW43: Six Fixtures Where the Model Beats Bet365

  • About
  • Advertise
  • Privacy & Policy
  • Editorial Process
  • Contact

© 2025 Beyond The Prem. All rights reserved.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Powered by
►
Necessary cookies enable essential site features like secure log-ins and consent preference adjustments. They do not store personal data.
None
►
Functional cookies support features like content sharing on social media, collecting feedback, and enabling third-party tools.
None
►
Analytical cookies track visitor interactions, providing insights on metrics like visitor count, bounce rate, and traffic sources.
None
►
Advertisement cookies deliver personalized ads based on your previous visits and analyze the effectiveness of ad campaigns.
None
►
Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.
None
Powered by
No Result
View All Result
  • Home
  • Championship
    • Previews
    • Reviews
  • League One
    • Previews
    • Reviews
  • League Two
    • Previews
    • Reviews
  • Women’s Football
    • Previews
    • Reviews
  • Player Profiles
  • The Data
    • Stats Dive
    • The Model
  • News
    • Weekly Digest
    • Championship News
    • League One News
    • WSL News
    • Manager Watch
    • Transfer News
  • Season at a Glance — Championship, League One & WSL Tables
  • The Model Scorecard — Whole-Season ML Prediction Accuracy

© 2025 Beyond The Prem. All rights reserved.