A Machine Learning project that predicts the winner of the 2026 FIFA World Cup using historical international football data, FIFA rankings, and tournament simulations.
This project builds a complete data science pipeline to predict which team is most likely to win the 2026 FIFA World Cup hosted by USA, Canada & Mexico. It uses historical match data going back to 1872, engineers meaningful features, trains multiple ML models, and simulates the entire 48-team tournament thousands of times using Monte Carlo simulation.
Fifa-world-cup-2026/
โ
โโโ worldcup_2026_prediction.ipynb # Main Jupyter Notebook (full pipeline)
โโโ results.csv # Historical international match results
โโโ fifa_ranking.csv # FIFA world rankings data
โ
โโโ feature_importance.png # Feature importance chart
โโโ model_comparison.png # ML model accuracy comparison
โโโ outcome_distribution.png # Win/Draw/Loss distribution
โโโ goals_over_time.png # Average goals per match over time
โโโ top_teams_wins.png # Top teams by all-time wins
โโโ wc_wins_by_country.png # World Cup wins by country
โโโ tournament_types.png # Match types breakdown
โโโ win_probabilities.png # Final predicted win probabilities
- Historical international football results (1872โ2026)
- FIFA World Rankings (1992โ2026)
- Match outcome distributions (Home Win / Draw / Away Win)
- Top teams by all-time wins
- Goals scored trends over decades
- World Cup performance by country
| Feature | Description |
|---|---|
home_win_rate |
Win rate of home team in last 10 matches |
away_win_rate |
Win rate of away team in last 10 matches |
home_goals_scored |
Average goals scored by home team |
home_goals_conceded |
Average goals conceded by home team |
away_goals_scored |
Average goals scored by away team |
away_goals_conceded |
Average goals conceded by away team |
h2h_home_win_rate |
Head-to-head win rate between the two teams |
win_rate_diff |
Difference in win rates |
goals_diff |
Difference in average goals |
is_neutral |
Whether match is played on neutral ground |
- โ Logistic Regression
- โ Random Forest Classifier
- โ XGBoost Classifier
- Full 48-team group stage simulation (12 groups ร 4 teams)
- Knockout rounds: Round of 32 โ Round of 16 โ QF โ SF โ Final
- Monte Carlo Simulation (1000+ runs) to calculate win probabilities
pip install pandas numpy matplotlib seaborn scikit-learn xgboost jupyter- Clone the repository:
git clone https://github.com/Sourik-10/Fifa-world-cup-2026.git
cd Fifa-world-cup-2026- Launch Jupyter Notebook:
jupyter notebook worldcup_2026_prediction.ipynb- Run all cells from top to bottom โ
- International Football Results (Kaggle) โ 47,000+ matches
- FIFA World Rankings (Kaggle) โ Rankings since 1992
- Add real FIFA Rankings as a live feature
- Include player-level stats (EA FC 25 ratings / Transfermarkt values)
- Use Elo rating system instead of simple win rates
- Increase Monte Carlo simulations to 10,000+
- Update predictions as real tournament matches are played
- Deploy as a web app using Streamlit
Sourik โ @Sourik-10
If you found this project useful, please give it a star โญ on GitHub!
Made with โค๏ธ and lots of football passion ๐๏ธ



