Understanding the Glicko Rating System
In 2007, Microsoft released their TrueSkill 1 paper, which essentially was a modified implentation of the Elo system. At the time, most of their games used Trueskill 1 as a player ranking system. Later on, the Trueskill 2 paper was released, which replaced their Trueskill 1 ranking system in most of their Xbox games, such as Halo.
Both Trueskill 1 and Trueskill 2 treat a player's ranking as a distribution, rather than a single summary statistic. To achieve this, both ranking systems use a principled Bayesian framework. As a result, the Trueskill algorithm considers the fact that all players play differently depending on their individual circumstances.
Comparing Elo with Glicko
In 1960, the Elo system was invented and used as an improved chess-rating system. The Elo system is a method used for calculating the relative skill levels of players in zero-sum games, such as chess. At the time, the Elo system became very popular in a broad range of other sports, such as basketball and football. In 1995, the Glicko system was invented to improve the Elo system by introducing a rate volatility measure. Afterward, it became a popularly adopted rating system in most well-known sports. For a more detailed explanation of the Glicko system, refer to its original paper.
The Trueskill rating systems borrow many ideas from Glicko, but also includes a measure of match quality between a set of players. There are a few other mathematical differences within the paper, and a few differences between the Trueskill 1 and Trueskill 2 rating systems. However, they share more similarities than differences. For the remainder of this post, I'll be focused on illustrating the intuition behind the Glicko algorithm.
As stated previously, the Glicko system extends the Elo system by computing not only a rating, which can be thought of as a best guess of one’s playing strength, but also a ratings deviation . In statistical terminology, this term represents a standard deviation, which measures the uncertainty of a rating. Thus, a high corresponds to an unreliable rating, or that a player roughly has only competed in a small number of tournament games. Whereas, a low indicates the player competes frequently.
Intuition behind Uncertainty of Ranking
In the Glicko system, a player's rating only changes based on their game outcomes, but players' changes based on their game outcomes and their time not playing. Thus, there are two features in the Glicko system that don't exist in the Elo system. First, increases as time passes without a player competing in many games. Second, if one player’s rating increases by , the opponent’s rating does not usually decrease by . In the Glicko system, the amount by which the opponent’s rating decreases is governed by both players’ terms.
To apply the rating algorithm, we treat a collection of games within a rating period to have occurred simultaneously. A rating period could be as long as several months, or could be as short as one minute. As a result, an is calculated for each rating period, which is based on from the previous rating period.
Here, there is a constant governing the increase in uncertainty between rating periods, which can be precisely determined by optimizing predictive accuracy of future games. Once is computed properly, the new rating must be updated for each player.
The term refers to the updated confidence in our own ranking after playing a bunch of players. Notice, it's basically the same as our previous , but adds a variable. Basically, the variable can be thought of as the change in uncertainty of , or how much more certain or less certain we are about our ranking. A really large (i.e. ) will give us the same , whereas a really small (i.e. ) will give us an of .
Essentially, the variable really starts to shrink when we play more players, which supports the fact that if we play more players, then we'll have a low (and vice versa). So, that is how the uncertainty is updated.
Intuition behind Expected Ranking
The new actual ranking is dependent on the difference between the outcome of an opponent and the expected outcome of playing that opponent. This expected outcome will be around if a player is expected to lose, and around if a player expected to win. This difference is what really determines the update to a player's ranking.
If a player beats someone when he/she is expected to lose, this difference will be positive and high. Meaning, his/her new ranking will be relatively much higher. And, if a player beats someone when he/she is expected to win, this difference will be positive and low. Meaning, his/her new ranking won't change that much. However, if a player loses to someone he/she is expected to win against, this difference will be negative and large. Meaning, his/her new ranking will be relatively much lower. Lastly, if a player loses to someone he/she is expected to lose against, this difference will be negative and small. Meaning, his/her ranking won't change that much.
win | lose | |
win | win | |
lose | win | |
lose | lose |
After playing a bunch of opponents, the updated ranking is also dependent on the term, which essentially is the inverse of each opponent's term. The following formula defines this function:
Again, is roughly the inverse of . Normally, a high indicates a player's ranking is fairly uncertain. In this case, outputs a high if a player's ranking is fairly certain. Meaning, if a player has played many games, then he/she generally will have a low and high . On the other hand, if a player doesn't play many games, then he/she generally will have a high and low .
The inverse of represents the certainty of a player's ranking. Mathematically, we take the inverse because we want to multiply that difference mentioned earlier based on our opponent's uncertainty. So, if an opponent's ranking is highly certain, then his/her ranking will go up even more (i.e. a multiple of the difference). If an opponent's ranking is highly uncertain, then his/her ranking won't go up by very much.
Number of Games Player | ||
---|---|---|
many | high | low |
few | low | high |