Featured image

In this project, I developed an ELO ranking system that calculates the ELO rank of players in a competition based on their games. The system uses Python and Pandas to read data from CSV files and create the ranking.

The ELO algorithm calculates the expected outcomes of players based on their current ELO points and adjusts their points based on the actual results of the games. The code includes functions such as expected_value(), new_ELO_points(), and rating_out_of_100() for calculating the ELO points and ratings of players.

The main program reads the game data from a CSV file, processes it, and creates a ranking of the players, sorted by their ELO points. The ranking is then saved in a new CSV file.

Here’s an example of how the code can be used:

  1. Save the game data in a CSV file in the input folder.
  2. Run the Python program and enter the filename (without .csv extension) when prompted.
  3. Enter the default/start ELO value and the K value.
  4. The program creates a ranking of the players and saves it in a CSV file in the output folder.

This project showcases my skills in data processing and analysis as well as working with Python and Pandas libraries. It can be easily adapted to other sports or competitions that require a ranking system.

The entire project is available on my GitHub repository: ELO-Ranking-Calculator