World Cup 2026 Analytics
Match modelling and tournament simulation
Per-match predictions can't answer the question people actually ask: who wins the whole tournament?
- Context
- Data & ML
- Stack
- Python · XGBoost · xG modelling · Monte Carlo · DRF · React
The problem
A single match prediction says very little about a tournament. Knockout structure means one upset early cascades through every downstream fixture, so per-match accuracy doesn't answer the question people actually ask: who is likely to win the whole thing?
What I built
An XGBoost model over expected-goals features predicts individual fixtures, then Monte Carlo simulation replays the full bracket thousands of times to turn those per-match probabilities into tournament-level outcomes. Served through a Django REST Framework API with a React front end.
How it fits together
- Match historyexpected-goals features per fixture
- XGBoostprobability for one match
- Monte Carlothe full bracket, replayed thousands of times
- Tournament oddswho is actually likely to lift it
- DRF + Reactserved through an API to the front end