FIFA World Cup 2026 Predictor — How the Monte-Carlo Model Works

EN
← App

The predictor never just “picks” winners. It plays the entire World Cup thousands of times, each time rolling the dice on every match, and counts who ends up lifting the trophy. That count is the forecast. Below you can watch the machine work — one match, one tournament, then five thousand — using the real teams and the live odds.

Step 1 · the ingredients

Every team gets one strength number

The only thing the simulation knows about a team is its championship odds from Opta. We turn that into a single strength rating by taking its natural logarithm — so the gap between the favourites and the long-shots is measured in orders of magnitude, not raw percent. Everything downstream is just these 48 numbers, ordered strongest to weakest. They become the axes of the 3D charts below.

rating(team) = ln( titleOdds )  // e.g. a 16% favourite rates far above a 0.1% minnow
Step 2 · the engine

One match is a weighted coin-flip

To decide a single game, the model compares the two ratings and runs them through a smooth logistic curve. A big strength gap makes the favourite almost certain; a small gap is nearly 50/50. The temperature τ sets how forgiving the curve is — low τ means chalk (favourites cruise), high τ means chaos (anyone can win). This surface is that formula drawn for every possible matchup. Drag to rotate; hover any point.

P(row beats col) = 1 / ( 1 + e−(ratingrow − ratingcol) / τ )
Temperature τ = 2.2
0.6 · pure chalkcalibrated 2.26.0 · pure chaos
example matchup
average knockout upset rate
Axes are the 48 teams from Step 1, strongest at the origin. The ridge sits at 50% where two equal teams meet; it climbs toward certainty as the gap widens. τ = 2.2 is the value the real model uses — it’s calibrated so the simulated title odds reproduce Opta’s published numbers.
Step 3 · one play-through

Play the whole tournament once

Now chain it together: draw each group’s final table from the teams’ own finish probabilities, seed the Round of 32, then flip the coin from Step 2 for all 32 knockout games down to the final. Out pops one champion — plus a surprise score, the sum of how unlikely each result was (Σ −ln P). A textbook bracket scores near zero; a Cinderella run scores high. Run it a few times to feel the randomness.

Press the button to play a tournament.
Step 4 · the Monte-Carlo

Now play it 5,000 times

One bracket is a story; five thousand is a forecast. Each play-through is independent, so champions pile up in proportion to how often the dice favour them. Watch the bars settle: the simulated win rates converge on Opta’s published odds (the gold ticks). That convergence is the whole trick — it’s the law of large numbers doing the forecasting.

using the temperature above ·
0tournaments played · top championship finishers
Step 5 · the payoff

What 5,000 tournaments reveal

Tally how often each team survives to each round across all those play-throughs and you get the tournament’s shape: a landscape of probability. Favourites form a tall ridge that runs all the way back to Champion; most teams crest at the Round of 32 and fall away. This surface is built live from the run above.

Height & colour = the share of simulations in which that team reached that round. Same team order as Step 1. Raise the temperature and re-run Step 4 to watch the ridge flatten as upsets spread the field.
Step 6 · back to the app

From simulations to the “Surprise” slider

The predictor builds, for every team, the least-surprising bracket in which it wins — the same engine you just watched, solved exactly for the cheapest world rather than sampled — then lines those scenarios up from chalk to chaos. That ordered list is the app’s Surprise Factor slider: position 0 is Opta’s single most-likely bracket; dragging right walks you through ever-bolder — but always internally consistent — alternate histories, each containing only the upsets that champion would need.