Featured project
Paul the Octopus
Oracle of the World Cup — a neural-network + Monte Carlo simulator that forecasts the 2026 FIFA World Cup.
Built about a month before the tournament, it ranked Spain as the No. 1 favorite — the pick that held up.
The problem
Forecasting a 48-team World Cup is hard: football is inherently noisy, and a single prediction can't capture how a tournament actually unfolds. Paul answers a focused question — given 150 years of match history, how deep is each team likely to go in 2026?
What it does
- Trains a neural network on roughly 8,050 World Cup matches using 10 engineered features, including Elo ratings and time-weighted recent form.
- Runs 50,000 Monte Carlo tournament simulations with randomized group draws, producing championship probabilities with 95% error bands.
- Presents an interactive dashboard: 2026 prediction table, simulated bracket, a historical backtest, and a plain-English “How it works” explainer.
My contribution
I built Paul the Octopus end-to-end — the data and feature pipeline, the neural-network model, the Monte Carlo simulation engine, and the interactive dashboard.
- Neural network (MLP)
- Monte Carlo simulation
- Feature engineering (Elo)
- Interactive dashboard
- Vercel
Read the case study
Problem
Turn 49,330 international matches (1872–2026) into a defensible forecast for the expanded 48-team 2026 World Cup, while accounting for the randomness that makes football unpredictable.
Approach
Engineer 10 features — Elo strength ratings, time-weighted form, and match context — then train a multi-layer perceptron as a three-class classifier (home win / draw / away win). Chain those per-match predictions through 50,000 simulated tournaments and aggregate each team's title odds and finishing positions.
Technical decisions
Train only on World Cup matches (~8,050 games); keep the feature set small (testing 24 features hurt accuracy); use a compact 128→64→32 network (12,611 parameters) with dropout, batch normalization, label smoothing, and early stopping; and report 95% Monte Carlo sampling bands so the numbers are reproducible, not lucky draws.
Challenges & lessons
Validation accuracy lands around 62.8% versus a 33.3% random baseline, and a walk-forward backtest (1986–2022) reaches 55.4% match accuracy. The honest limits: the model has no player-level or injury data, draws are hard to predict, and the new 48-team format has no historical precedent.