Skip to content

Revanth9727/fifa_pred

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FIFA World Cup 2026 Forecasting

A calibrated probability model for the 2026 FIFA World Cup: 48 teams, full official bracket, June to July 2026. It predicts each team's odds of reaching every stage, the final, and the title.

What makes it different

The model is built so that judgment and numbers never mix.

  • A statistical core (bivariate Poisson with Dixon-Coles correction) learns expected goals per team from historical match results.
  • An LLM adjustment layer reads news, injury reports, and lineups, then emits only typed categorical signals (for example: player available or not, lineup confirmed or not). It never produces a number. Those signals nudge the model's inputs at prediction time, never during training.
  • A Monte Carlo simulator runs 50,000 full tournaments over the official 48-team bracket to produce stage-by-stage odds.

The market is used only to grade the model, never to train it. A calibration step removes the bookmaker margin from closing odds and scores whether the model beats, matches, or loses to the market.

Design rules (non-negotiable)

  • The LLM never outputs a number.
  • Betting odds never enter the model as a feature. A dedicated test enforces this.
  • Market data is a validator, never a training target.
  • Adjustments happen at inference time, not during training.
  • Every prediction is reproducible from data plus config.

Quickstart

git clone https://github.com/Revanth9727/fifa_pred.git
cd fifa_pred
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
cp env.example .env   # then add your own API keys

Commands

wcpredict build-data                    # ingest and join source data
wcpredict fit                           # train the match model
wcpredict simulate                      # 50,000 tournament runs
wcpredict evaluate                      # score calibration against the market
wcpredict update --results <match-day>  # enter real results, re-simulate the rest
wcpredict-ui                            # launch the bracket web view

Tests

pytest

The suite includes a leakage test that asserts betting odds never reach the model.

Status

Built ahead of the 2026 tournament. Model, simulator, calibration, and web view are implemented and tested.

About

FIFA World Cup 2026 forecasting: bivariate Poisson with Dixon-Coles, Monte Carlo simulation, and a typed LLM adjustment layer. Market used only to validate.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors