Four backtest "edges" that died live
We've run a statistical model across 50+ football leagues since February 2026, publishing every bet before kick-off and settling it publicly. The profit isn't the interesting part. The interesting part is how many "edges" looked bulletproof in backtest and then quietly died the moment they met a real market. Here are the four that fooled us hardest.
1. Look-ahead bias hides in your data pipeline, not your logic
Our most profitable backtested strategies were built on snapshot features — data captured at a point in the match or the trading day. The modelling logic was sound. The pipeline was not: some snapshots included information that wouldn't have existed at bet-placement time, such as a slightly later odds tick.
Rebuilding the simulation to use only what was knowable at the moment of decision turned two apparently strong strategies into roughly breakeven. Nothing about the model changed — only the honesty of the clock.
2. Your biggest edges are usually your model being wrong
We assumed bet quality scaled with disagreement: the bigger the gap between our price and the market's, the better the bet. Live results said the opposite. Bucketing outcomes by edge size, bets showing 30–40%+ "edge" materially underperformed those in the 5–15% band.
Extreme disagreement mostly flags a problem on our side — a stale odds reading, a mis-estimated probability, a thin market — rather than a mispriced one on theirs. Oversized edge is now treated as a warning, not a green light.
3. Winner's curse against a sharp market is brutal
When you bet into an efficient market, the situations where the price looks wrong in your favour are disproportionately the situations where the market knows something you don't — late team news, a lineup leak, money from someone better informed. Measured against a sharp reference line, our flagged bets showed textbook adverse selection.
The fix wasn't a better model. It was an agreement gate: only fire when a soft book is out of line and the sharp reference broadly agrees with our estimate. That single filter recovered more expected value than any retraining we did.
4. A probability floor beats an edge filter
Filtering purely on expected value quietly selects for model overconfidence. The fattest EV numbers come from the priciest longshots — exactly where a probability estimate is least reliable and a small calibration error does the most damage.
Making probability the primary signal, with a hard floor, and demoting edge to a secondary condition improved live results more than re-training the model ever did. Calibration beats raw accuracy when there's money on the line.
The pattern behind all four
Every one of these changes made the backtest look worse and the live results better. That's the uncomfortable lesson: a change that improves your backtest deserves suspicion, and a change that hurts your backtest but survives out-of-sample is usually the real thing.
It's also why we publish every bet before kick-off and never edit the record afterwards. A public, timestamped log is the only backtest that can't be tuned after the fact — the cost is that the bad weeks are on display too. We think that's the right trade.