Model

Overfitting in football betting models: why a great backtest proves nothing

By · Published · Updated 25 Sep 2026 · 6 min read

A backtest is the easiest document in football betting to produce and the hardest to trust. Overfitting in football betting models is the reason: a strategy tuned against finished seasons will describe those seasons beautifully and then fail the moment it meets matches nobody had seen when it was built. That failure is not rare and it is not bad luck. It is the default outcome, and its size can be worked out in advance.

That last part is the useful bit. Once you can put a number on the profit pure noise produces, an impressive backtest stops being evidence and becomes a threshold you have to clear.

What overfitting actually means here

Every historical dataset contains two things: structure that will repeat, and accidents that will not. A model has no way to label them. It fits whatever lowers error on the data in front of it, and accidents lower error just as efficiently as structure does — more efficiently, in fact, because they are specific to the sample.

The consequence is a reliable bias. Performance measured on the data used to build a model is optimistic, and the optimism grows with how hard you searched. In-sample results are not a rougher version of live results; they are a different quantity, and the gap between the two is what the rest of this article measures.

Mechanism one: too many parameters for too few matches

Take a standard goals model on a single 20-team league season. Attack and defence ratings give two parameters per team — 40 — plus a home-advantage term, a low-score correction and a time-decay rate: roughly 43 free parameters fitted to 380 matches. Each match supplies two goal counts, so about 760 numbers are doing the work. That is comfortable, but not luxurious.

Now let each club have its own home advantage. Twenty more parameters, and the fit improves — it always does. Every free parameter buys some in-sample improvement even when it encodes nothing real, because it gives the model one more direction in which to bend toward the accidents. The improvement is guaranteed; the meaning is not.

This mechanism is the one people expect, and it is the milder of the two. It is visible in the model, it can be counted, and standard tools penalise it.

Mechanism two: too many strategies tried

The damaging mechanism leaves no trace in the model at all. You do not need a complicated model to overfit. You need a simple one and a free afternoon.

Suppose you test a filter — a league, a market, an odds band, a minimum rating gap — and it yields 500 qualifying bets at even money. Assume the bets carry no edge whatsoever: fair odds of 2.00 and a true 50% strike rate, so expected profit is exactly zero.

Each bet returns +1 or −1 unit with equal probability. Across 500 bets, total profit has a mean of zero and a standard deviation of √500 ≈ 22.4 units. Against 500 units staked, that is a standard deviation of 22.4 ÷ 500 = 4.5% ROI.

So a worthless strategy finishes above +4.5% roughly one time in six, and above +9% roughly one time in forty. That is one strategy. Now test fifty and keep the best:

Variants tested Expected best ROI, zero real edge
1 0%
10 ≈ 7%
50 ≈ 10%
200 ≈ 12%

These are expectations, not lucky tails. Test fifty variants of a strategy with no edge at all, keep the winner, and what you should honestly expect to be looking at is about a 10% return over 500 bets, with a clean equity curve — because you selected it for having one.

Fifty variants sounds like serious work. It is an hour. Three leagues × four markets × four odds bands is forty-eight, and nobody experiences that as forty-eight experiments. It feels like one exploration. The multiple-testing penalty is charged either way.

Why football is unusually easy to overfit

Three properties compound here.

Real edges are small. A genuine advantage over a sharp closing price is worth low single digits, not twenty percent. The noise band above — ±4.5% over 500 bets — is wider than the entire quantity being measured. When measurement error exceeds the signal, search finds noise first, every time.

Football is low-scoring. One goal decides a large share of matches, so each result carries little information about the underlying strengths. A season of results is a smaller evidence base than its row count suggests.

Seasons look like more data than they are. A league season is 380 matches. Ten seasons of one league is 3,800 — and a filter that keeps an eighth of them puts you right back at 500 bets, with ten times the apparent pedigree and none of the extra precision.

The holdout that quietly becomes a training set

The standard defence is a holdout: set aside the most recent slice of data, build everything on the rest, then test once. It is a good defence, and it works exactly once.

Look at the holdout, find the result disappointing, change something, look again — and the holdout has become training data. The penalty is the same multiple-testing penalty, just smaller. Three looks is a best-of-three, and the expected maximum of three independent standard normal draws is 3 ÷ (2√π) ≈ 0.85. At 0.85 × 4.5%, three honest-looking peeks manufacture about 3.8% of ROI out of nothing.

Walk-forward validation is stronger: fit on everything up to a date, predict the next block, roll the date forward, repeat. It removes look-ahead leakage and produces out-of-sample numbers at every step. What it cannot remove is you. Run the walk-forward, dislike the answer, adjust the model, and the next walk-forward is no longer out of sample either. The other ways a backtest misleads are covered in our guide to backtesting a football prediction model honestly; overfitting is the one that survives good intentions.

How much evidence would actually settle it

Run the noise math in reverse. The standard deviation of ROI across n even-money bets is 1 ÷ √n. To distinguish a genuine 3% edge from zero at two standard errors, you need 2 ÷ √n = 0.03, so n ≈ 4,400 bets. At ten bets a week, that is about eight years.

Profit is a slow statistic, and that is the uncomfortable arithmetic sitting behind every advertised return. It is also why probability scoring beats profit as a diagnostic: a proper scoring rule uses the probability attached to every prediction rather than only the binary outcome, so it converges on the truth with far fewer observations than an ROI column does.

What survives

Nothing inside a backtest can establish an edge, because everything inside it was chosen after the results were known. The only evidence immune to both mechanisms is a prediction recorded before kickoff, never revised afterwards, and scored whether it won or lost.

That is why our track record is append-only and published in full rather than summarised. A record that can be quietly edited carries exactly as much information as a backtest — which is to say, none. It is also why value bets measured against closing odds so often go on to lose money. A backtest that looked fine and did not hold up is not an embarrassing anomaly. It is the expected result, and the honest response is to report it rather than re-tune until the curve behaves.

Three questions worth asking about any backtested football system, including your own:

  • How many variants were tried before this one? If the answer is unknown, the reported ROI has no interpretation at all. If the answer is “about fifty”, subtract ten points from it before you start.
  • Was the holdout examined more than once? Each additional look converts more of it into training data, and the conversion is silent.
  • Does a forward record exist, timestamped before the matches it predicts? If not, every number on offer describes the past being fitted, not the future being predicted.

A model that clears all three has earned a hearing. Almost nothing does.