probs4.club is a website giving probabilities (shown as percentage) for the season’s outcome for each club, covering the top four division of English football.
The points/position/outcome distributions are calculated from running a simulation
10,000 times. Assigning probabilities for the results of the remaining fixtures. The probabilities for the
result of each fixture are assign based on the following:
The charts on probs4.club are updated daily (if games have been played) in the early hours (UK time).
Although probs4.club started in early 2021, the calculations used have evolved
over a number of years, with postings on
going back to 2009.
Originally spreadsheets were used to make the calculations, for the 2020/21 season it was rewritten in python, making it easier to automate the process from simulation calculation, chart generation and making available on probs4.club
For the 2021/22 season the calculation used has been amend after extensive
validation against historic result (20 seasons x4 leagues, from 1999-2019). The most significant change
is to how the ‘random factor’ is used, it now includes a ‘chaos’ factor and this gives a more varied and
most importantly a realist spread of outcomes.
There are also charts comparing team’s current state with historic data and more will be added through the season.
Just in case you are interested in how the calculations/website have been
put together, here is a quick overview:
This has partly been a project to teach myself python, other than a little html & css for the website the rest is all python.
The source data of fixtures/results and current league table have been scraped from fbref.com
Historic data sourced from engsoccerdata
The charts are created by using pygal
Flask is the web framework used.