/ELO-Ranking-Calculator

Calculates an ELO ranking from a CSV file with matches

Primary LanguagePython

ELO-Ranking-Calculator

Calculates an ELO ranking from a CSV file with matches

How to use this tool

  1. Put a CSV file with the matches as described below into the input folder.
  2. Start main.py and follow the instructions in the command line.
  3. In the output folder you will now find a CSV file with the ranking, including ELO points, number of wins, draws and losses.

Input: CSV file

Header: date,player1,player2,p1_points,p2_points

  • date: The date of the match. The format is important: YYYY-MM-DD. This Tool will sort the matches by the dates.
  • player1, player2: Names of the players. The name has to be unique because it is also used as an identifier.
  • p1_points, p2_points: The points/goals/... the players got in this match. If there is nothing like this in your use case just give the winner more points and if it's a tie give them both the same amount of points. The difference does not matter for the ELO.

Example input files + randomly generated input file

You find three example files in the input folder. One are German battle rap matches of BMCL from "Rap am Mittwoch", which can be found on Wikipedia and one are fantasy football games I made up.
The other ones are 200000/1000000 randomly generated matches between 200/500 randomly generated players. The tool I wrote to generate them can also be found in this repository (random_input_generator.py).