What this is
Serie A Analytics puts a probability on every Serie A match using two models built from scratch, simulates the rest of the season 10,000 times, and checks in public how the predictions compare with the betting market. The site updates itself within hours of each match. It is an analysis project, not a betting product: there are no tips here, and past results do not predict future ones.
The results so far
We replayed 12 past seasons (4,378 matches) as if we were predicting each match beforehand, using only earlier results. Our main prediction picked the right result 54.1% of the time, against 55.2% for the sharpest bookmaker and 33% for guessing. On the stricter measure we use to judge forecasts, it gets about 85% of the way from no skill to the bookmakers. It doesn't beat them, and that's expected: they know about injuries and team news, and our models only know past results.
What you can do here
- Matches: our prediction for every match, and after full time a short report, the goals and the stats.
- Table: the standings, the predicted final table, and a "what if?" simulator to try your own results.
- Market: every team's chances of the title, top 4 and relegation, tracked like share prices.
- How it works: the methods in plain English.
- Data lab: our models side by side with the bookmakers, and the full test results.
How it's built
The models, the testing and the season simulation are written in Python. A scheduled job on GitHub downloads the latest results every two hours, refits the models, checks the numbers and republishes the site; if a check fails, nothing is published. Before each round, our predictions are saved to a public record that can't be edited afterwards. The site itself is plain HTML, CSS and JavaScript. All the code is on GitHub.
Who built it
Sofia, a materials science and engineering student at Imperial College London, as a project in forecasting, data analysis and building things that run on their own.
Data
Results, betting odds and match statistics come from football-data.co.uk, which generously makes them available for free. Matchday numbers, the fixture list and goal scorers come from openfootball (public domain). The latest results, within hours of the final whistle: data provided by football-data.org. Thank you to all three.
For finished matches, the bookmakers' view uses closing odds (the last prices before kick-off): Pinnacle's where available, and the average across bookmakers from January 2026, when Pinnacle's odds stopped being published. In past seasons the two were typically within half a percentage point of each other.
Serie A Analytics is not affiliated with, or endorsed by, Lega Serie A or any club. Team colours are shown only to make teams easy to recognise.