Correction, 29 September 2026: our value-flag history before 26 September 2026 was rebuilt on that date — a backtest, labelled as such — so that part of our record was changed after the fact; the change is listed in the corrections file of our public track-record log. Predictions are logged before kick-off, and a missing Pinnacle price is filled in later from the first one quoted before kick-off.
Most betting sites tell you about their wins. This is the other article: the one where we spent months building roughly fifty football prediction models and strategies, tested them the way a scientist would — and watched every single one fall short of the market's closing price. We are publishing the autopsy because the way they lost teaches more about betting markets than any tipster thread ever will.
What we actually built
This was not one lazy model. Over four phases we built and walk-forward-tested, among others:
- Elo ratings with form, the classic baseline;
- XGBoost on years of match features;
- Dixon-Coles, the academic gold standard for football scorelines;
- Expected goals (xG) models, including an xG-Elo hybrid that became our best performer;
- ensembles of the above, plus lineup and injury deltas built from player minutes and ratings.
Every experiment used walk-forward validation — the model only ever saw the past, never the future — with explicit anti-leakage audits. When we deliberately injected a "leaky" feature containing future information, accuracy jumped to 57–100%; our clean models stayed around 53%. That gap is the fingerprint of honest testing.
The scoreboard
Our best model — the xG-Elo hybrid — reached 53.7% accuracy on 1X2 predictions. Sounds respectable, until you meet the benchmark that nobody can fire: simply picking the closing-price favourite scores about 55.6% with zero intelligence. Months of feature engineering, gradient boosting and calibration curves, and the sharp market's price still knew more than our models did. Not sometimes — systematically: scored by log-loss on the same 5,960 matches (17 leagues, 2024-25), our best model for that data, an ensemble, still trailed Pinnacle's closing price by about 0.022. And this shouldn't have surprised us: the market's price is not a competitor model, it is the aggregate of every competitor model, sharpened by money until kick-off.
Then we did what almost nobody does: we simulated betting it with flat stakes on historical prices (a backtest, not real money). Eight European leagues, the 2025-26 season, 1,329 bets at Pinnacle's opening odds, with proper control strategies alongside:
| Strategy | Backtest ROI |
|---|---|
| Always bet the draw | −0.3% |
| Our model + lineup delta | −3.1% |
| Blindly bet the Pinnacle favourite | −3.6% |
| Our model | −4.3% |
| Always bet the outsider | −10.2% |
Read that table slowly. Everything loses, and everything loses by roughly the bookmaker's margin — which is exactly what an efficient market predicts. Our carefully engineered model performed within noise of blindly backing favourites. The outsider strategy lost three times more, courtesy of the longshot bias. Per league, the signs flipped randomly — La Liga +4%, Segunda −18% — classic variance, not skill.
The false dawns (the most instructive part)
Three times during this investigation we thought we had found it. Three times we were wrong, and each failure mode is one you will meet in the wild:
The +96% ROI bug. One backtest showed a strategy nearly doubling money. It was a bug, not a discovery: a broken join paired match results with the odds of the wrong matches. A second bug produced a fake +35%. We found both because extraordinary results demand extraordinary suspicion. A tipster who found +96% would have opened a Telegram channel; we opened the debugger.
The lucky season. Our lineup-delta strategy showed +15% ROI on one league season. Same strategy, next leagues over: −9% and −5%. One profitable season is not evidence — it is a coin landing heads a few times in a row, and we wrote about how often that happens.
The winner's curse. Line-movement signals genuinely predicted the direction odds would move — on paper, our picks showed +5.2% raw closing line value (margin included) when measured at the best available odds. The same bets lost 2.4% in the backtest. Why? The "best odds" systematically come from whichever bookmaker is mispricing slowest — and cashing out of that gap costs more than the gap pays. At Pinnacle's own opening price, the raw move we captured (+1.9%) was smaller than its ~3.3% margin. Signal was real; profit was not.
Team news, by the way, is priced in. Our injury and lineup features — built from actual player minutes and ratings — added nothing on leagues with liquid markets. By the time you know the star striker is out, the price has usually known it for days.
What survives the wreckage
If the market cannot be out-predicted from public data, is everything hopeless? Not quite — but the honest opportunity is narrower and less glamorous than the industry pretends:
- The sharp price itself is the asset. If Pinnacle's devigged line is the best public estimate of reality, then that estimate is worth publishing — it tells you the fair odds of every match Pinnacle prices, with the margin stripped out.
- Soft bookmakers make mistakes the sharp market has already corrected. The gap between a lazy recreational price and the fair price is the only place a normal bettor can realistically look for value — we explain the mechanism here. It is scarce, it is small, and it gets your account limited. And it is still being measured. Our value flags have been recorded live since 26 September 2026; as of 14 October 2026, 409 settled flags showed +1.25% closing line value at the flagged price against the devigged closing price (95% interval +0.4% to +2.1%), a measurable gap at the signal. Re-checked at the same bookmaker within 60 minutes (57% of flags), it was +0.2%, with an interval that includes zero, and our pre-registered paper test at the bookmaker's re-observed price, TIPS-EXP-006, stood at −0.03% (95% interval −1.19% to +1.13%) with 210 of its planned 300 takeable flags settled. At a price you could actually take, it is not yet distinguishable from zero.
- Verification beats prediction. The same rigour that killed our models is exactly what the tipster industry cannot survive — which is why we audit tipsters with it.
That is what this site is. Match pages show the devigged fair price wherever we have a sharp price (Pinnacle on most matches). Since 30 September 2026, value gets flagged only when a soft bookmaker, never an exchange, pays 0.5% to 12% above it on an outcome with at least a 30% fair probability, with both prices under 90 minutes old. Our predictions, logged before kick-off, go into a public track record measured against the closing line, live flags and backtest kept apart; the timestamped snapshots we publish are never overwritten, and the Git history shows any difference — because after fifty dead models, the one thing we trust is the record.
We could have deleted the failures and sold you the +96% screenshot. Almost everyone else does.