🏆 Predicta Monte Carlo tournament simulator · Dixon–Coles exact-score model · live FIFA results update each team's Elo and re-forecast matches in play

Methodology & data sources

Each simulation plays all 104 matches of the real 2026 format: 12 groups of four, top two plus the eight best third-placed teams into FIFA's actual Round-of-32 bracket (matches 73–104). Match scores are drawn from a joint Poisson score grid: expected goals follow a multiplicative Elo map (goal difference ≈ Elo diff / 180 near parity, calibrated so win probabilities track the classic Elo win expectancy, with lopsided pairings producing more total goals — as they do in reality), corrected by a Dixon–Coles low-score term (ρ = −0.10) so 0-0 and 1-1 draws occur as often as in real football. On top of that baseline each team carries an attacking and a defensive style multiplier (the Attack/defense weight slider), re-estimated live from the goals it has scored and conceded versus expectation — so a free-scoring side and a defensive one with the same rating no longer get identical scorelines; style deviations are shrunk toward the field average and bounded, keeping the win/draw/loss split anchored to Elo. Each simulated tournament also draws every team's true strength from a normal distribution around its rating (the σ slider) — point-estimate ratings compound into overconfident favourites across seven rounds, so this fattens the tails; teams that have already played get a proportionally narrower draw, since once we've watched a side its rating is better pinned down, so the forecast sharpens as the tournament unfolds. Knockout matches are played with ~10% lower scoring rates — cup football is more cautious, so 90-minute draws (and hence extra time) occur as often as in real World Cup knockouts. Drawn knockout games go to extra time (one-third intensity) and then penalties (near coin-flip, slight Elo edge). Group tiebreakers: points → goal difference → goals scored → head-to-head. Third-placed teams are slotted into the bracket by constraint-matching FIFA's allowed-group lists for each R32 match (a close approximation of FIFA's official allocation table). Hosts get a configurable Elo bonus (the slider); Mexico carries an extra share of it for the high-altitude Estadio Azteca, where its acclimatised side holds an edge over lowland opponents. Live scores are fetched from FIFA's public API (api.fifa.com) on load, every 5 minutes, and on demand: finished matches become fixed facts in every simulation and update each team's Elo on the fly (eloratings.net formula, K = 60 with the goal-margin multiplier); matches that are LIVE right now are simulated from the current score and minute — with a stoppage-time allowance, so a 90th-minute equaliser is never impossible — rather than from kick-off, and the forecast sharpens continuously as the tournament unfolds. Dimmed prediction chips on finished matches show the pre-kick-off forecast (each team's Elo as it stood before that match), so you can judge the model honestly against what actually happened. The Accuracy tab scores every finished match's pre-kick-off forecast (outcome Brier & log-loss, exact-score log-loss) and sets the full model beside the Elo-only baseline, so you can see whether the attack/defense layer is actually helping. Last synced results are cached in your browser, so the tool also works offline.

Data: final groups, fixtures & results from FIFA; Elo ratings as of June 11, 2026 from worldfootballrankings.com / eloratings.net. This is a forecast, not a promise — that's football. ⚽

Every match in play right now plus everything scheduled for today (your local time). Tap a match for live forecasts — win/draw/loss, most likely final scores, next goal, over 2.5 goals, both-teams-to-score and what's at stake in the tournament — recomputed from the current score and minute. While matches are live the app re-syncs with FIFA every ~75 seconds (otherwise every 5 minutes) and the match clock keeps ticking between syncs.

Every fixture shows the predicted exact score — the most likely scoreline with its probability (tap or hover for alternatives). Real results sync automatically from FIFA: green = final (fixed in every simulation, prediction dims for comparison), red 🔴 = live now (simulations continue from the current score & minute). The Pts column counts finished matches.

Each slot shows the most likely team (tap or hover for the full candidate list), its chance of being in that match, and on the right its chance of advancing. The ⚽ line is the predicted exact score for the most likely pairing.

Any-match predictor

vs

How well the model has predicted the finished matches of this tournament so far, scored against the pre-kick-off forecast (each team's Elo as it stood before the match). Lower is better. The full model (with the attack/defense layer) is shown next to the Elo-only baseline so you can see whether the style adjustment is actually helping — if it isn't, lower the Attack/defense weight.