A multiplayer assymetric rating system and Streamlit app to analyse and define the F1 GOAT and rankings for drivers and constructors in the 2024 F1 season.
The question that has ruined many a social event:
Who is the F1 greatest of all time (GOAT)?
There are many opinions. Let's build a rating system to see if we can identify - at least - the data GOAT.
This project is built using Make, Python 3.11 and Poetry 1.8. Install these dependencies before continuing.
Download the CSV database tables from 1 and unzip them into data/raw
. The table structure for these tables can be found in 2.
Run make env
in a command line interface (e.g. iTerm) to install Python dependencies for this project.
The algorithm can be found in src/f1_elo
. Run make data_e2e
to build the model and predict ratings per driver and constructor for all races.
The streamlit app can be found in src/f1_elo
. Run make app
to explore the app locally.
This project has no tests.
This project is open to issue submissions for bugs and improvements to make this app better.
If suggesting edits to the README, please conform to the standard-readme specification.
The rating system built was influenced by 3, 4 and 5.
Footnotes
-
CSV DB table download (last accessed 16/11/23) ↩
-
CSV DB table structure (last accessed 16/11/23) ↩
-
Elo rating system (last accessed 13/07/24) ↩
-
Rewarding victory with the Elo rating system (last accessed 15/11/23) ↩
-
Multiplayer assymetric game rating system (last accessed 13/07/24) ↩