Understanding the mathematics behind competitive rankings
The aim of this section is not to dive into the details of our calculations, but to provide a general overview for the reader. Note that none of the formulas below are necesarily the ones used in our implementation, but you can feel free to ask any question regarding our real system.
The Elo system is a widely used rating method for estimating player or team skill in competitive games. After each match, ratings are adjusted based on the expected result and the actual outcome.
Originally developed for chess by Arpad Elo, it is now widely used in various sports and online gaming platforms.
Before a match, the system computes the probability of winning for each player based on their current ratings. For Player A versus Player B, the expected score of A is:
Here, RA and RB are the current ratings. The constant 400 sets the scale of rating differences.
After the match, ratings are updated according to:
Where R′ is the new rating, K is the sensitivity factor, S is the actual score (1 for win, 0.5 for draw, 0 for loss), and E is the expected score. Higher K values make ratings more responsive to recent results.
Suppose Player A has RA = 1600 and Player B has RB = 1500.
Expected score of A:
If A wins the match (S = 1) with K = 20:
Conversely, if A loses the match (S = 0):
For sports like football, basketball, tennis, etc., we often incorporate additional factors:
Enhanced Rating Formula with Weight Factor:
Where W is a weight factor based on goal difference, sometimes calculated as: