~/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