~/jacoboposadaLet's talk
Back to projects
Data Science

World Cup 2026 Simulator

Probabilistic model that called Spain as champion and Norway as the breakout team.

PythonNumPySciPypandasMonte Carlo

Overview

A statistical model built to predict the 2026 World Cup. It takes each team's historical strength, models each match's goals as a bivariate Poisson process, and simulates the full tournament thousands of times to derive the probability of every outcome.

Problem

Football predictions are usually opinion dressed up as analysis. I wanted an answer that came from the data: not "who I think wins", but "in how many of ten thousand simulated World Cups does each team win".

Solution

ELO ratings per national team fed with real historical data, a bivariate Poisson model that captures the correlation between both teams' goals, and a Monte Carlo simulation that runs the full tournament — group stage and knockouts — thousands of times.

Technical Architecture

1
Data ingestionUnified scraping of historical sources: 244 national teams
2
ELO ratingsRelative strength of each national team from match history
3
Bivariate PoissonModels both teams' goals with their correlation
4
Monte CarloSimulates the full tournament thousands of times

Tech Stack

PythonNumPySciPypandasMonte Carlo

Results

✓

Called Spain as the 2026 World Cup champion

✓

Called Norway as the breakout team of the tournament

✓

49,000 historical matches from 244 national teams processed

✓

Anti-hallucination policy: missing data counts as 0, never invented

Need something similar?

I build production AI systems for clients worldwide.

Discuss your project