DEV Community

Cover image for I Built a Premier League Predictor with 20,000 Monte Carlo Simulations – Here's How
Kevin Zhou
Kevin Zhou

Posted on

I Built a Premier League Predictor with 20,000 Monte Carlo Simulations – Here's How

Hey Dev.to community!

I'm a high school junior who loves soccer and data science, so I decided to combine them. I built PLForecast – an interactive web app that predicts Premier League outcomes using Monte Carlo simulations and ELO ratings.

What it does:
Runs 20,000 simulations of the remaining Premier League season
Calculates title odds, top 4 chances, and relegation probabilities
Updates dynamically as match results come in (manually updated for now, but will change that in v2)

Tech stack:
• Python (pandas, numpy) for calculations
• Streamlit for the interactive dashboard
• Monte Carlo methods + ELO ratings for predictions
• Deployed on Streamlit Cloud

Current predictions (according to my model):
• Arsenal title chances: 83.9%
• Tottenham relegation odds: 7.8%
• Relegation battle: 6 teams within 2% probability

Check it out:
Live app: https://plforecast.streamlit.app/
GitHub: https://github.com/kevzho/PLForecast

I'd love feedback from this community! What features would you add? xG data? Player injuries? Referee tendencies?

Top comments (0)