HMVhmantovani
Back to Portfolio
Data Science · Sports Modeling

FIFA World Cup 2026Prediction Model

A living statistical model that forecasts the 2026 World Cup one stage at a time. It is trained on 48,235 international matches and re-run after every round, so each prediction uses everything known up to that moment.

PythonpandasstatsmodelsNumPyPoisson GLMEloMonte CarloNext.js

How it works

Two models, one ensemble

A Poisson + Elo regression over the full history is blended (40/60) with a Poisson GLM that learns per-team attack & defense strengths from 2010 onward. Recent matches are weighted more heavily.

Goals → everything

Each match becomes a probability grid over scorelines. From that single grid we derive win/draw/loss, over/under 2.5, both-teams-to-score and the most likely results.

Simulated 20,000 times

The entire tournament — group stage through the final — is Monte-Carlo simulated 20,000 times. Each run resolves the bracket using the official FIFA seeding rules for third-place teams.

Prediction stages

As real results come in, the training window grows and a new forecast is published for everything that remains. Eight snapshots, from kickoff to the final.

The 48 nations

Twelve groups of four. Each row shows the team's current Elo rating and its rank among all 48 qualified nations.

Group A

Top seed · Mexico
MexicoMexico1875#18
South KoreaSouth Korea1758#28
South AfricaSouth Africa1517#45
Czech RepublicCzech Republic1740#29

Group B

Top seed · Canada
CanadaCanada1788#23
SwitzerlandSwitzerland1891#17
QatarQatar1421#48
Bosnia and HerzegovinaBosnia and Herzegovina1595#40

Group C

Top seed · Brazil
BrazilBrazil1991#5
MoroccoMorocco1827#22
ScotlandScotland1782#24
HaitiHaiti1548#44

Group D

Top seed · United States
United StatesUnited States1726#31
AustraliaAustralia1777#25
ParaguayParaguay1834#20
TurkeyTurkey1911#13

Group E

Top seed · Germany
GermanyGermany1932#10
EcuadorEcuador1938#9
Ivory CoastIvory Coast1695#35
CuraçaoCuraçao1434#47

Group F

Top seed · Netherlands
NetherlandsNetherlands1948#8
JapanJapan1906#14
TunisiaTunisia1628#38
SwedenSweden1712#33

Group G

Top seed · Belgium
BelgiumBelgium1894#15
IranIran1772#26
EgyptEgypt1696#34
New ZealandNew Zealand1562#43

Group H

Top seed · Spain
SpainSpain2157#1
UruguayUruguay1892#16
Saudi ArabiaSaudi Arabia1576#42
Cape VerdeCape Verde1578#41

Group I

Top seed · France
FranceFrance2063#3
SenegalSenegal1860#19
NorwayNorway1914#11
IraqIraq1607#39

Group J

Top seed · Argentina
ArgentinaArgentina2115#2
AustriaAustria1830#21
AlgeriaAlgeria1772#27
JordanJordan1680#36

Group K

Top seed · Portugal
PortugalPortugal1989#6
ColombiaColombia1982#7
UzbekistanUzbekistan1714#32
DR CongoDR Congo1652#37

Group L

Top seed · England
EnglandEngland2024#4
CroatiaCroatia1912#12
PanamaPanama1730#30
GhanaGhana1510#46

Elo ratings sourced pre-tournament. This is a probabilistic model for analysis and entertainment, not betting advice. Methodology snapshot: trained on data up to 2026-06-11.