Elo vs Glicko-2 vs TrueSkill
All three predict results from skill estimates and update them after games. The difference is what else they track: how sure the system is about each rating, how erratic a player is, and whether more than two players or teams can be rated.
| Elo | Glicko / Glicko-2 | TrueSkill | |
|---|---|---|---|
| Numbers per player | Rating | Rating + rating deviation (RD). Glicko-2 adds volatility (σ) | Mean skill (μ) + uncertainty (σ) |
| Uncertainty | None. K is set by rules | RD shrinks with games and grows with inactivity | σ shrinks as the system learns |
| Teams and free-for-all | Two sides only | Two sides only | Any number of teams and players |
| Update timing | After each game or period | Per "rating period" | After each match |
| Used by | FIDE[7] | Chess.com (Glicko), Lichess (Glicko-2)[5] | Xbox Live games, e.g. Halo 3 and Forza Motorsport 7[4] |
| Open spec | Yes | Yes, published by Mark Glickman | Published paper, Microsoft trademark |
Glicko: adding a "how sure are we" number
Mark Glickman's Glicko system gives each player a rating deviation (RD) as well as a rating. A high RD means an unreliable rating. RD goes down as a player competes and goes up with time away from play. A rating ± 2 RD gives a 95% confidence interval. For example, 1850 with RD 50 means 1750 to 1950.[1] In practice, a newcomer's rating moves a lot at first, and results against an opponent with an uncertain rating count for less. Chess.com's help center describes exactly this behaviour.[6]
Glicko-2: adding volatility
Glicko-2 adds a volatility σ, which is high when a player's results are erratic, such as a sudden run of strong results after a stable period, and low when they're consistent. It also has a system constant τ that limits how fast volatility can change. Glickman suggests values between 0.3 and 1.2. The system works best when players average at least 10–15 games per rating period.[2] Unrated players start at 1500 with RD 350 and, in his example, volatility 0.06.[2]
Worked example from Glickman's paper
A 1500 player with RD 200 and σ 0.06 plays three games, with τ = 0.5. They beat a 1400 (RD 30) and lose to a 1550 (RD 100) and a 1700 (RD 300).[2] Our implementation, which is unit-tested against the paper, gives:
The paper's answer is 1464.06, RD 151.52 and σ 0.05999. The loss to the very uncertain 1700 player (RD 300) costs less than it would in Elo, which can't tell a reliable rating from a guess.
TrueSkill: teams and many players
Microsoft Research's TrueSkill, presented at NIPS in 2006, models each player's skill as a bell curve with mean μ and uncertainty σ. It explicitly models draws, handles any number of competing players or teams, and can infer individual skill from team results. The paper describes it as a generalisation of Elo, and reports that it was more accurate and converged faster than Elo on Halo 2 beta data.[3] Microsoft's project page says TrueSkill has been used in many Xbox games, from Halo 3 to Forza Motorsport 7.[4]
A fourth option: fit everything at once (Bradley–Terry)
Elo updates ratings one game at a time, so the order of games matters and recent games count more. The Bradley–Terry model from 1952 estimates every rating at once from all pairwise results, using the same "probability from a strength gap" idea.[9] In December 2023 LMSYS's Chatbot Arena, which ranks AI models from human votes, switched from online Elo to Bradley–Terry. They wanted more stable ratings and better confidence intervals, because the models' abilities don't change over time.[8]
Which one should you use?
- Elo if you want something everyone can check by hand, for one-on-one games with regular play, like a club ladder or an office league. That's what our league tool uses.
- Glicko-2 if players come and go, or play very different numbers of games. The uncertainty term handles newcomers and returning players better.
- TrueSkill or a similar model for team games and free-for-alls where you want ratings for individual players.
- Bradley–Terry when skill doesn't change, like products, photos or AI models, and you can refit the whole dataset. See Elo for ranking anything.
These recommendations are our own judgment, based on the properties described above.
Sources
- Glickman, M. E. The Glicko System — glicko.net
- Glickman, M. E. (2022). Example of the Glicko-2 System — glicko.net
- Herbrich, R., Minka, T. & Graepel, T. (2006). TrueSkill™: A Bayesian Skill Rating System. Advances in Neural Information Processing Systems 19 — Microsoft Research
- TrueSkill™ Ranking System (project page) — Microsoft Research
- Chess rating systems — Lichess
- How do ratings work on Chess.com? — Chess.com Help Center
- FIDE Rating Regulations, effective 1 March 2024 (with the 400-point rule as amended from 1 October 2025), sections 7–8 — FIDE Handbook
- Chiang, W.-L. et al. (7 Dec 2023). Chatbot Arena: New models & Elo system update — LMSYS Org
- Bradley, R. A. & Terry, M. E. (1952). Rank Analysis of Incomplete Block Designs: I. The Method of Paired Comparisons. Biometrika 39(3/4), 324–345 — Biometrika