World Cup 2026 Prediction Engine
A probability-first forecasting system that predicts three-way international match outcomes from leakage-safe Elo, FIFA ranking, form, rest, venue, and competition features, then propagates that uncertainty through the official 48-team World Cup structure. Across 384 chronologically held-out World Cup matches and six rolling World Cup windows, the selected logistic model matched the Elo-Poisson baseline's 56.0% accuracy while improving log loss and Brier score by roughly 1.3%. In the completed 2026 tournament snapshot, it called 44/72 group matches correctly and 24/31 evaluated knockout advances correctly.
Proof points
- 56.0% Backtest Accuracy
- 44/72 Group Calls
- 24/31 KO Advances
- 495 Bracket Mappings
Technologies
Python, scikit-learn, Sports Analytics, Data Analysis, Pandas, Elo, Monte Carlo, Streamlit, pytest
Links
Problem
A World Cup forecast must learn from time-ordered international matches, stay free of future leakage, produce well-calibrated probabilities, and map those probabilities into a brand-new 48-team bracket with no direct historical precedent.
Approach
Built a chronological feature pipeline for Elo, FIFA rankings, form, rest, venue, and competition context; compared models across six rolling World Cup windows; then propagated the selected probabilities through deterministic Monte Carlo profiles and all 495 official Annex C third-place mappings. Live forecasts are versioned and backtested before ensemble weights change.
Results
Across 384 held-out matches and six rolling World Cup windows, the selected logistic model recorded 56.0% accuracy, 0.973 log loss, and a 0.573 Brier score. It matched Elo-Poisson accuracy while improving both proper scoring rules by roughly 1.3%. In the completed 2026 snapshot, it produced 44/72 correct group-match calls, identified 26/32 knockout teams, and made 24/31 evaluated knockout advancement calls correctly; the combined dashboard metric is 52/79 (65.8%) but deliberately mixes exact group positions with knockout advancement.
World Cup 2026 Prediction Engine: Data Analysis Report
1. Executive Summary
This project treats World Cup forecasting as an uncertainty problem rather than a winner-picking contest. It estimates calibrated win/draw/loss probabilities from historical international matches, validates those probabilities chronologically, and feeds them into a Monte Carlo simulator that implements the official 48-team tournament structure.
2. Analytical Design
- Chronological validation only: six rolling World Cup test windows from 2002 through 2022, totaling 384 held-out matches
- No future leakage: Elo is updated after each match, rankings are date-bounded, and rolling-form features use prior matches only
- Probability-first selection: models are ranked by log loss because downstream simulation depends on the quality of the full probability distribution, not just the most likely class
- Separated responsibilities: match prediction and tournament simulation remain independent, auditable layers
3. Feature Pipeline
- Chronological Elo difference and expected score
- Date-bounded FIFA rank and ranking points
- Five- and ten-match rolling points and goal-difference form
- Rest-day difference, neutral venue, home advantage, and competition-stage context
- Median imputation and standardization inside the model pipeline
4. Model Evaluation
The selected model is an unweighted multinomial logistic regression with C=0.5. Across 384 held-out World Cup matches:
- Selected ML model: 56.0% accuracy, 0.973 log loss, 0.573 Brier score
- Elo-Poisson baseline: 56.0% accuracy, 0.985 log loss, 0.581 Brier score
- Uniform baseline: 33.6% accuracy, 1.099 log loss, 0.667 Brier score
- Expected calibration error: 3.13%, with only six populated calibration bins and a 34.1% maximum bin error
The central result is nuanced: machine learning did not improve top-1 accuracy over Elo-Poisson, but it produced a modestly better probability distribution. That is the improvement that matters when thousands of simulated tournament paths compound small probability differences.
5. Tournament Simulation
- Implements all 495 FIFA Annex C assignments for combinations of best third-place qualifiers
- Uses deterministic 3,000 / 20,000 / 150,000-run profiles for development, local analysis, and publication
- Locks completed results in live mode and simulates only unresolved fixtures
- Registers model cards, configuration, git commit, probability outputs, and forecast snapshots for auditability
- Backtests a frozen-anchor/current-model ensemble on historical knockout ties rather than choosing live weights by intuition
6. 2026 Tournament Snapshot
The stored 2026 results feed contains 104/104 completed fixtures. Evaluated against forecasts saved before the relevant stage:
- Group-match calls: 44/72 correct (61.1%) from the pre-tournament 1X2 forecast
- Exact group positions: 28/48 correct (58.3%)
- Teams reaching the knockout stage: 26/32 correct (81.3%)
- Knockout advancement: 24/31 evaluated calls correct (77.4%)
- Dashboard total: 52/79 (65.8%) when exact group positions and knockout advances are combined; this is a tracking metric, not a single pure 1X2 accuracy
The final is excluded from the round-specific rolling denominator because no valid snapshot was saved after the third-place match. Including the latest pre-final call yields 24/32 knockout advances (75.0%); the final call selected Argentina, while Spain won.
7. Live-Update Evidence
The current live-update configuration achieved 66.7% advancement accuracy with 0.57653 log loss across 90 decisive historical ties. The best pooled alternative improved log loss by only 0.000075 with identical accuracy, so the report recommends keeping the production weight unchanged. A stricter chronological walk-forward selection reached 71.7% on 60 holdout ties, but the smaller sample is reported explicitly.
8. Engineering Quality
- 59 test functions across 12 test modules
- Deterministic seeds and uncertainty intervals
- Scheduled, eligibility-gated tournament refresh automation
- Source feeds for historical results, historical and current FIFA rankings, and 2026 fixtures/results
- Clear distinction between the selected ML model, Elo-based baselines, and simulation logic