← back to projects

~/projects/wc26-predictor

World Cup 2026 Predictor

June 2026·shipped
World Cup 2026 Predictor
PythonPyMCXGBoostData Science

A CLI tool that predicts World Cup 2026 match outcomes by combining four independent models — Dixon-Coles, XGBoost, a Bayesian model built in PyMC, and an Elo rating system — into a weighted ensemble. Trained on the martj42/international_results dataset.

How it works

Each model scores a match independently, then the ensemble blends predictions using tournament-stage weighting (group stage vs. knockout matches are treated differently). Supports penalty-shootout simulation for knockout rounds and neutral-venue adjustment.

Notable engineering problems solved

  • Fixed a pandas 3.0.4 + numpy 2.4.6 ARM64 bus error by replacing datetime64 columns with integer date-ordinal encoding throughout the pipeline.
  • Worked around a PyTensor/Clang linker failure on macOS by explicitly disabling the PyTensor C backend before importing PyMC.