ELO Rating System

Understanding the mathematics behind football rankings

Introduction

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 team skill in football.

Three-Result Sports

Expected Score Formula

Before a match, the system computes the probability of winning for each team based on their current ratings. For Team A versus Team B, the expected score of A is:

E_A= 1 1+10R_B-R_A400

Here, RA and RB are the current ratings of teams A and B, respectively. The constant 400 sets the scale of rating differences.

Rating Update Formula

After the match, ratings are updated according to:

R'=R+K(S-E)

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.

Worked Example

Suppose Team A has RA = 1600 and Team B has RB = 1500.

Expected score of A:

E_A0.64

If A wins the match (S = 1) with K = 20:

R'=R+20(1-0.64)=R+7.2

Conversely, if A loses the match (S = 0):

R'=R+20(0-0.64)=R-12.8

Multi-Result Sports

In football we incorporate some additional factors:

Enhanced Rating Formula with Weight Factor:

R'=R+K·W(S-E)

Where W is a weight factor. For a goal difference of zero, W is defined as 1, otherwise:

W=goal_difference