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)