BR. BA. LAB

SPORTS RATING SCIENCE

ELO-DAVIDSON ALGORITHM

This algorithm is a generalized version of the Elo algorithm (see below).

As in the Elo algorithm, we break with the conventional (league) rating rule of assigning a fixed number of points for a particular result (e.g., 2 points for the win, 1 point for the draw, and none for the loss). Rather, the rating after the game depends on how the teams were ranked before the game.

So how does it work? The rule is extremely simple:

R'_{\text{h}} = R_{\text{h}} + K \big[ s - F( D ) \big]R'_{\text{a}} = R_{\text{a}} - K \big[ s - F( D ) \big]

where

  • R_{\text{h}} and R_{\text{a}} are ratings of the home/away teams before the game;
  • R'_{\text{h}} and R'_{\text{a}} are the updated ratings of the home/away teams after the game
  • K is the maximum rating increase/decrease per game;
  • s is the score of the game, s=0 for an away win, s=0.5 for a draw and s=1 for a home win;
  • D=R_{\text{h}}-R_{\text{a}};
  • Sc is the arbitrary scale; we need it to well appreciate the differences between the numbers. As in the FIFA rating, we use here Sc=600 ; see more it on below
F(x) = \frac{10^{0.5 \cdot x/Sc} + 0.5 U}{10^{0.5 \cdot x/Sc} + 10^{-0.5 \cdot x/Sc}+U}
  • U is the draw parameters, which may be fixed depending on the competition for which the rating is devised. The rule for setting the draw parameter U is as follows:
U=\frac{2 f_{\text{draws}}}{1-f_{\text{draws}}}

where  f_{\text{draws}} is the frequency of draw we expect to see in the games.

What is the difference with the Elo algorithm? First of all, the Elo-Davidson algorithm deals with the draws explicitly and thus, more efficiently than the Elo does. In fact, although the Elo algorithm acknowledges the presence of draws, it does not make explicit assumption about their frequency.

Second, using the Elo-Davidson algorithm, we can predict the results in terms of chances (probabilities) of winning/loosing and drawing; see below.

ELO ALGORITHM

The Elo algorithm was devised in the fifties to rate the chess players. Later it was also used to rate sport players/teams; it is currently the official rating used by Fédération Internation de Football Association (FIFA).

We can see that the Elo algorithm is a particular version of the Elo-Davidson algorithm. It is enough to use the draw parameter U=2. Simple as that. Then, the function F(x) becomes:

F(x)=\frac{1 }{1+10^{-0.5 \cdot x/Sc}}

It is immediately obvious that, using U=2, we assumed that f_{\text{draws}}=0.5. This means, that the Elo algorithm silently assumes that the frequency of draws is 50 percent.

HOME ADVANTAGE

To deal with the advantage due to the game being played on the home field (a rink, in hockey games), we introduce a parameter H, which reflects the “strength” of the local fans, arena, etc. We consider it constant across all teams, and it is simply added to the the rating difference, i.e., we replace D with D+H\cdot Sc. Again, we introduced the scale factor into equation.

How to set this parameter? Here is the rule:

H=\log_{10} \frac{ f_{\text{home}} }{ f_{\text{away}} }

where f_{\text{home}} is the frequency with which the home team wins and f_{\text{away}} is the frequency with which the away team wins. These values are relatively constant across seasons so the above rule is a fair approximation. Again, we introduced the scale factor into equation.

Obviously, if f_{\text{home}}=f_{\text{away}}, which means that there is no home advantage, we obtain H=0.

SCALING AND REFERENCE VALUE

Since the values produced by the Elo-Davidson rating (or Elo) as shown above may be quite small, it is customary to scale them to be in a more “visually comfortable” range. This amounts to multiplying them by a large and arbitrarily set value of the scale parameter. We use Sc = 600  (as in the FIFA rating).

Further, looking at the algorithm, one realizes that the changes to the rating depend only on their difference, D. Thus, we can add a constant value to all ratings, R, and the change due to the game will be the same. This reference value is also arbitrary. Sometimes it is set to zero. In our rating we set it to 1000 to avoid teams getting negative values (this are just numbers but having negative values may be depressing, right?).

PROBABILITIES OF THE GAME RESULT

Another advantage of using the Elo-Davidson algorithm is that it allows us to calculate the probability of the results of the games to come.

This is done as follows:

Pr\{\text{home win}\}= \frac{10^{0.5 \cdot D/Sc}}{10^{0.5 \cdot D/Sc}+10^{-0.5 \cdot D/Sc}+U}
Pr\{\text{away win}\}= \frac{10^{-0.5 \cdot D/Sc}}{10^{-0.5 \cdot D/Sc}+10^{0.5 \cdot D/Sc}+U}
Pr\{\text{draw}\}= \frac{U}{10^{0.5 \cdot D/Sc}+10^{-0.5 \cdot D/Sc}+U}

where D and U are defined as before. Of course, if the home advantage is to be considered, we have to replace D by D+Sc \cdot H.

To be more precise, treating the Elo algorithm as a particular version of the Elo-Davidson algorithm, we can also calculate the probabilities using above formulas. However, using U=2 is the maximum rating increase/decrease per game;