Skip to content

mwtmurphy/f1-rating-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

F1 rating system

standard-readme compliant

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.

Table of Contents

Background

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.

Install

Prerequisites

This project is built using Make, Python 3.11 and Poetry 1.8. Install these dependencies before continuing.

Data

Download the CSV database tables from 1 and unzip them into data/raw. The table structure for these tables can be found in 2.

Environment

Run make env in a command line interface (e.g. iTerm) to install Python dependencies for this project.

Usage

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.

Testing

This project has no tests.

Contributing

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.

Acknowledgements

The rating system built was influenced by 3, 4 and 5.

Footnotes

  1. CSV DB table download (last accessed 16/11/23)

  2. CSV DB table structure (last accessed 16/11/23)

  3. Elo rating system (last accessed 13/07/24)

  4. Rewarding victory with the Elo rating system (last accessed 15/11/23)

  5. Multiplayer assymetric game rating system (last accessed 13/07/24)