The model turns match results and betting-market prices into a probability for every remaining outcome, then plays the tournament out so you can trace each team's path through the bracket and test your own what-if scenarios. It is a hybrid rating + market blend fed through a Monte-Carlo simulation of the rest of the tournament.
1. Team strength
Each team gets a single strength rating on an Elo scale. That rating is an ensemble of three complementary signals. Each weighs the evidence differently, and player value brings in information results haven't yet reflected:
a. History Elo
A World-Football-Elo rating computed over ~49,000 international matches
(1872-present). Every result moves the two teams' ratings by
K · (actual - expected), with K weighted by match
importance, the margin of
victory, and home advantage. This rewards recent, meaningful results.
b. FIFA ranking
The latest official FIFA/Coca-Cola world-ranking points, rescaled onto the Elo scale. The published ranking is itself a points model with its own match weighting, so it is a useful second opinion that is built slightly differently from our history Elo.
c. Player value
A squad-quality rating built bottom-up from players, not results. We take each squad's market values (top 23), and adjust each player toward current ability:
- an age curve (peak around 28) that discounts the forward-looking resale value baked into young players' prices;
- a caps weight that downweights uncapped or fringe selections;
- a league-strength factor from the club's domestic UEFA coefficient, so value earned in a stronger league counts for more.
The adjusted values are projected-XI-weighted, summed, log-transformed, and rescaled to the Elo scale. This captures sudden talent that results haven't caught up to yet.
Combining them
The three signals are blended with weights calibrated on held-out recent
internationals (we fit the weights on older data and score them on data they
never saw). The result favours the FIFA ranking and player value over raw history
Elo (roughly 0.25 / 0.35 / 0.40 for history / FIFA / player value), with
a small shrink toward the mean. Hosts (USA, Canada, Mexico) get a small home-advantage bump
when playing at home.
2. The market blend
Bookmaker prices aggregate a lot of information quickly. For every match with odds we:
- De-vig the offered prices to strip out the bookmaker's margin (the "overround"), using the Shin method, to recover fair probabilities;
- Blend those market probabilities into the model's team strengths so the market informs the whole forecast, not just one game.
The market versus model weight comes from a club-football calibration (the English Premier League and Championship, where odds and results are abundant), transferred to internationals with a discount because World-Cup odds are softer than top-league club odds. The odds we log for an already-played match are down-weighted by age, so a stale price counts for less over time. Live, in-play prices are excluded entirely.
3. From ratings to a match
Given two teams' strengths plus context, the model produces expected goals for each side. The mapping is multiplicative, so expected goals never go negative even for huge mismatches: a rating edge tilts one side's expected goals up and the other's down symmetrically. Scorelines are drawn from a Dixon-Coles model, which corrects the low-score dependence (0-0, 1-0, 0-1, 1-1) that independent Poisson goals get wrong. A host edge applies only to the three host nations at home; all other games are treated as neutral.
For matches in progress, only the remaining goals are random: each side's rate is scaled by the fraction of the match left and added on top of the current score, so live win/draw/loss probabilities update with the scoreboard and the clock.
4. Simulating the tournament
We run the rest of the tournament 100,000 times (30,000 when games are currently in progress). In each simulation:
- completed results are fixed; every remaining group game is sampled from the match model;
- each group is ranked by the FIFA Article 13 tiebreaker order: points, then head-to-head (points → goal difference → goals among the tied teams, applied recursively), then overall goal difference and goals, then a fair-play conduct score, then FIFA ranking, then a draw of lots. Two steps are approximated: conduct uses the simulation's own yellow/red cards (we don't yet ingest real disciplinary data), and the ranking step uses only the latest FIFA ranking — the official tiebreaker's fallback to successively older rankings before lots are drawn is not implemented;
- the top two of every group plus the eight best third-placed teams advance; the third-placed teams are slotted into the bracket using FIFA's exact published 495-row allocation table;
- the knockout rounds are played out: extra time is a shorter continuation and penalties are a near-coin-flip tilted slightly toward the stronger side.
Aggregating across all 100,000 runs gives every number on the site: chances of finishing 1st/2nd/3rd in a group, of advancing, of reaching each knockout round, of winning the title, plus per-match win/draw/loss probabilities. With 100,000 runs most probabilities are accurate to within a few tenths of a percentage point; very small probabilities (deep longshots) carry more relative Monte-Carlo noise, and the what-if scenarios widen that further as they condition on a shrinking subset of runs.
5. Backtesting & validation
We test the pieces to different degrees. A rolling history-Elo backtest beats both a FIFA-ranking model and a base-rate model on matches it hasn't seen. It is also well calibrated, matching closely the expected win rates across the distribution.
The goal-spread that turns a rating gap into expected goals was tuned on the backtest above; the rating-blend weights were calibrated on recent internationals (so they reflect a current snapshot and may drift as form changes); and the market weight is a transfer from a club-football calibration translated to the World Cup context, but not explicitly validated against prior world cup results. We do continuously check calibration and the internal invariants (probabilities sum to one, exactly 32 teams advance, round probabilities nest correctly, etc.).
6. Limitations
- It's a model, not a crystal ball: every number is a probability, and underdogs do win.
- Squad values are a snapshot and don't see late injuries or form swings between updates.
- Pre-knockout, a team's exact route isn't fixed, so per-match figures sum over multiple possible bracket paths; this resolves once the groups finish.
- Free-tier data feeds mean odds and live updates can lag during very busy windows.
Loading the live model configuration…
← Back to the bracketcaster