Every win probability, scoreline, qualification chance and title odd on Mondial comes from one transparent statistical model — no black box, no hand-tuned favourites. Here is the whole pipeline, from a team’s rating to the trophy lift. The constants shown below are read straight from the live model, so this page always matches what you see.
Everything starts with a single number per team: an Elo rating, where a bigger gap means a more lopsided match.
Each of the 48 finalists is seeded from its World Football Elo rating — the same family of ratings used by eloratings.net, built from decades of international results. A stronger team carries a higher number; the difference between two ratings is what drives every probability on the site.
The three 2026 co-hosts (USA, Mexico, Canada) get a home-field bump of +87.5Elo points whenever they play — close to eloratings.net’s standard ~100, tuned down for the strength-compressed World Cup field, and worth roughly 16% of extra win probability between otherwise even sides. The bump travels with the host flag; it is never baked into the stored rating.
Ratings are not frozen at kick-off. Every finished match nudges both teams, so an upset or a thrashing immediately changes later predictions.
After each completed match we fold the result back into the two ratings with the classic World Football Elo update:
R' = R + K · G · (W − We)
K = 45 (World Cup finals weight)
G = goal-difference multiplier (1, 1.5, then (11+d)/8 …)
W = actual result (1 win / ½ draw / 0 loss)
We = expected result (the win probability below)K = 45 sets how much one game moves a rating; the goal-difference multiplier means a 4–0 shifts ratings more than a 1–0. Because the move is proportional to W − We, an upset (beating a stronger side) is rewarded far more than an expected win. Updates are applied in true kick-off order, so no match is ever scored using information from its own or a later result.
A rating gap becomes a probability through a logistic (Elo) curve.
The chance team A beats team B is the standard Elo logistic on the rating difference:
P(A beats B) = 1 / (1 + 10^( (Rb − Ra) / scale ))The scalecontrols how sharply a rating gap turns into confidence — a smaller scale makes the favourite’s edge steeper. Mondial uses two scales on purpose:
Why flatter for the World Cup? Because only qualified sides are here, the field is strength-compressed and single matches are high-variance (fatigue, neutral venues, cagey knockouts), so favourites win less often than a curve fitted to friendly-heavy data implies. This was found empirically: tuned on the 2022 World Cup, the flatter scale also improved out-of-sample predictions of the already-played 2026 games. The effect on a single match:
| Rating gap | Win prob @ 300 | Shown @ 500 |
|---|---|---|
| even | 50% | 50% |
| +50 | 59% | 56% |
| +100 | 68% | 61% |
| +200 | 82% | 72% |
| +300 | 91% | 80% |
A clear favourite that the rating curve would call ~82% is shown as the more honest ~72%.
Group games can end level, so they use a three-outcome model that a two-way win probability can’t express.
For matches that can be drawn we use the Davidson model, which adds a draw term to the Elo logistic:
a = 10^(Ra/scale) b = 10^(Rb/scale) d = ν · √(a·b)
P(home) = a/(a+b+d) P(draw) = d/(a+b+d) P(away) = b/(a+b+d)The draw weight ν = 0.8 is calibrated so two evenly-matched teams draw about 29% of the time. Conditional on a decisive result, the model collapses exactly back to the two-way win probability above, so the group and knockout views always agree. Knockout ties, which can’t end level, simply drop the draw term (extra time / penalties decide).
The match page predicts actual scores — 2–1, 0–0 — not just who wins.
Each side’s expected goals come from a rating-aware Poisson model: a base scoring rate scaled up or down by the rating gap.
λ_home = base · 10^( (Ra − Rb) / (2·γ) ) base = 1.2
λ_away = base · 10^( (Rb − Ra) / (2·γ) ) γ = 450Two independent Poissons under-count low draws, so we apply a Dixon–Coles low-score correction (ρ = -0.03) that nudges scoreline mass toward 0–0 and 1–1 and away from 1–0 / 0–1. The full grid is then conditioned on the calibrated win/draw/away split from step 4, which fixes the overall draw rate — so Dixon–Coles reshapes the scores within each outcome region rather than changing how often a draw happens, and the most-likely scores always line up with the win probability shown elsewhere. The same grid powers the over/under and both-teams-to-score numbers; in knockout (decisive) mode the draw scorelines are removed and the rest renormalised.
Group tables follow the real tie-break ladder; 32 teams reach the knockouts.
Group standings are ranked by the usual ladder — points → goal difference → goals scored → rating (rating stands in for FIFA’s head-to-head steps as a deterministic deep tie-break). From the 12 four-team groups, the knockout field of 32 is:
12 group winners + 12 runners-up + 8 best third-placed = 32The eight best third-placed teams are then compared across all 12 groups by points → goal difference → rating (this cross-group ranking skips the goals-scored step the in-group ladder uses). Until a group has played all its games, the model shows each team as a live candidate to finish 1st / 2nd / 3rd rather than a certainty.
The Round of 32 is slotted by the official 2026 template — not re-seeded by rating.
The 2026 knockout bracket is fixed by group position: the Round of 32 pairs specific winner / runner-up / best-third slots, so two teams from the same group can’t meet early and each winner’s and runner-up’s path is the official one. The eight best-third slots are filled by a deterministic constrained matching that keeps every structural rule (no same-group R32, correct winner/runner-up slots) but, when several assignments are valid, may place a third-placed team in a different one of its eligible slots than FIFA’s Annex C lookup. Rating only feeds each tie’s win probability, never the seeding.
Each matchup then resolves in priority order:
“Brazil 14% to win it” comes from simulating the whole tournament thousands of times.
A single bracket only shows the most-likely path. To get each team’s chance of reaching every round we run a Monte Carlo simulation — thousands of full tournaments:
Already-finished results are held fixed in every run, and the random draw is seeded from the current results state — so the odds are deterministic (the same state always gives the same numbers) and only move when real results do.
The model grades itself against reality, out-of-sample.
The model report card scores every call from only what was known before each match, using log-loss and Brier score (both reward being confident and right, punish being confident and wrong) against a no-skill baseline of ln 3 ≈ 1.099. A reliability table checks that, when the model says 70%, those teams really win about 70% of the time.
The constants above weren’t guessed. The goal model was fit on ~8,000 pre-2022 internationals and checked out-of-sample on the held-out 2022 World Cup; the World Cup flattening was tuned on that 2022 tournament and then validated out-of-sample on the already-played 2026 games. Each was graded on results it was never fitted to.
We also checked whether a fancier model would do better. Every alternative below was trained on the same leakage-free history and scored out-of-sample — on a broad 2023+ holdout and, decisively, on the World Cup matches the app actually predicts. The bar to beat is the shipped Elo + Davidson model, at a log-loss of ≈ 0.882 (lower is better).
| Algorithm considered | Log-loss | Why it wasn’t chosen |
|---|---|---|
| Logistic regression | 0.870 | Edges the baseline on the broad holdout — but the entire gain comes from a 'games played' data-reliability feature, meaningless for a World Cup field where every team is data-rich. |
| Random forest | 0.876 | Within noise of the baseline, and only after probability calibration — no real signal beyond the rating gap Elo already captures. |
| Gradient-boosted trees (XGBoost, HistGBM) | 0.90–0.91 | Over-confident; they lose to the baseline even after calibration. |
| Support-vector machine (RBF kernel) | 0.96 | Far worse than the baseline on every split. |
| Neural nets (MLP, team embeddings, residual-over-Elo) | 0.867–0.868 | The best raw numbers — but the embedding net overfit team identities and the residual net's edge was just re-calibration, not new signal, and none beat Elo + Davidson on the World Cup holdout. |
Broad-holdout log-loss, versus the shipped model’s ≈ 0.882. Even the few that edge it there don’t transfer to the World Cup split — the field is compressed and the sample is small, so the extra complexity just fits noise.
We also tried richer inputs, not just richer models:
Across all of it, nothing reliably beat the calibrated Elo + Davidson model on World Cup matches, so we kept the simple, transparent one. The one outside signal that genuinely sharpens predictions is betting-market odds, which the app blends in for upcoming matches when they’re available.
Free, public sources, with graceful fallbacks.
Fixtures, groups and final results come from the public-domain openfootball dataset; live in-play scores, the match minute, the goal timeline and the bookmaker match odds behind the market blend (a DraftKings 1X2 quote, de-vigged) are overlaid from ESPN’s free API — with an optional multi-book consensus from The Odds API outranking that single-book quote when an API key is configured. Squads are enriched from TheSportsDB when the roster looks complete; starting line-ups come from ESPN once a match kicks off, with TheSportsDB (and, failing that, a generated XI) filling any gaps. If a source is unavailable the app falls back to illustrative data and labels it as such, so the model always has something to reason over.
A rating-based model is powerful but deliberately simple.
Predictions are driven by team strength and results alone. The model does notknow about specific injuries or suspensions, the announced starting XI, weather, travel and rest, or a team’s motivation once it has already qualified. It assumes ratings capture current strength and that matches are independent. Treat every number as a calibrated estimate of uncertainty — not a forecast of certainty. That is exactly why upsets are not bugs: a 30% underdog is supposed to win roughly three times in ten.
See it in action — the model’s predicted knockout path and live title odds.