Methodology
The Model
Elo-based strength, corrected toward bookmaker prices, feeding a Dixon-Coles Poisson scoreline grid. Picks maximize expected challenge points (exact score 3, correct outcome 1).
- 01
Strength
Each team carries a live Elo rating (eloratings.net, June 10 2026) plus a market correction fitted from bookmaker tournament-winner odds — the market knows things results don't: injuries, squad depth, home factor. Hosts get a +80 bonus; a manual news knob exists for shocks.
- 02
Goals
The strength gap maps to expected goals per team — base ~2.45 total, widened for mismatches — then a Dixon-Coles corrected Poisson grid (ρ=−0.06) gives the probability of every scoreline. Where bookmaker match odds exist, the grid is blended 60% toward the margin-free market probabilities.
- 03
Pick
The predicted score maximizes expected challenge points: exact score worth 3, correct outcome worth 1. That favors the favorite's most likely winning score; 1–1 appears only for genuine coin-flips.
- 04
Self-training
After every real result both teams' Elos update (K=50, goal-difference multiplier), all remaining predictions regenerate and the knockout bracket re-resolves. An upset immediately shifts every future prediction.
Record so far
No matches played yet — tracking starts after the first recorded result.
Updating after a match
# record result of match 1 (Mexico 2-1 South Africa): python3 model/update.py 1 2 1 # Elo updates, remaining predictions regenerate, # accuracy recomputes. News refresh: see README.