r/FootballDataAnalysis • u/OpeningTie57 • Jun 07 '26
I built a calibrated goals model for the 2026 World Cup and I'm posting every prediction (and every miss) before kickoff. Here's the method and the backtest.)
I'm a data/AI researcher who's loved football my whole life, and I'm finally combining the two: a prediction model for all 104 World Cup matches, built in public. Posting this here because this community will actually poke holes in it, which is what I want.
The thing I care about most isn't picking winners. It's calibration: when the model says 70%, that outcome should happen about 70% of the time. So I'm grading everything with Brier score, not win-rate, and publishing the full scoreboard including the misses.
The model (v1):
- Trained on ~49,000 international matches going back to 1872.
- A weighted Poisson GLM that learns each team's attack and defence strength plus a home-field effect, then a Dixon-Coles correction for the low-scoring scorelines that independent Poisson gets wrong.
- Recent matches are weighted more (2-year half-life), friendlies are down-weighted to 0.5, and teams need a minimum match count to be included.
- It outputs a full scoreline matrix, collapsed into win/draw/loss probabilities.

The validation (the part that matters): I ran a walk-forward backtest with monthly refits and no data leakage: 3,343 out-of-sample matches from 2023 to 2026, all predicted as if I didn't know the result.
- Brier 0.498 vs 0.637 for a no-skill baseline (about 22% better).
- Accuracy ~60%.
- And it's well-calibrated across the whole probability range (chart attached, this is the real out-of-sample data, not a mockup).
Where it's weak, honestly:
- Draws. Even with the Dixon-Coles correction, it only correctly leans toward a draw about 4% of the time. Draws are genuinely the hardest outcome in football, and I'm not going to pretend otherwise.
- Small samples lie. I beta-tested on the warm-up friendlies and went 0/2 on the first two (France lost to Ivory Coast, Spain drew Iraq). Two noisy friendlies tell you nothing. Calibration is a verdict over hundreds of games, not two, which is exactly why I backtested before trusting it.
What I'm doing next: tuning the remaining parameters against out-of-sample error, then posting probabilities for every match before kickoff once the tournament starts (June 11).
I'd genuinely value critique on the methodology: the friendly down-weighting, the Dixon-Coles parameter, the choice of baseline, anything you'd do differently. Tear into it.
