Glicko rating system

The Glicko rating system and Glicko-2 rating system are methods for assessing a player's strength in games of skill, such as chess and Go. It was invented by Mark Glickman as an improvement on the Elo rating system, and initially intended for the primary use as a chess rating system. Glickman's principal contribution to measurement is "ratings reliability", called RD, for "ratings deviation".
Both Glicko and Glicko-2 rating systems are under public domain and found implemented on game servers online (like Pokémon Showdown, Lichess, Free Internet Chess Server, Chess.com, Online Go Server (OGS), , Team Fortress 2, Dota Underlords, Guild Wars 2, Splatoon 2, Dominion Online and Gods Unchained,), and competitive programming competitions. The formulas used for the systems can be found on the Glicko website.
The RD measures the accuracy of a player's rating, with one RD being equal to one standard deviation. For example, a player with a rating of 1500 and an RD of 50 has a real strength between 1400 and 1600 (two standard deviations from 1500) with 95% confidence. Twice (exact: 1.96) the RD is added and subtracted from their rating to calculate this range. After a game, the amount the rating changes depends on the RD: the change is smaller when the player's RD is low (since their rating is already considered accurate), and also when their opponent's RD is high (since the opponent's true rating is not well known, so little information is being gained). The RD itself decreases after playing a game, but it will increase slowly over time of inactivity.
The Glicko-2 rating system improves upon the Glicko rating system and further introduces the "rating volatility" σ. A very slightly modified version of the Glicko-2 rating system is implemented by the Australian Chess Federation.
The algorithm of Glicko.
Step 1: Determine RD.
The new Ratings Deviation (formula_1) is found using the old Ratings Deviation (formula_2):
formula_3
where:
formula_4
formula_5
formula_6
formula_7
formula_8 represents the ratings of the individual opponents.
formula_9 represents the outcome of the individual games. A win is 1, a draw is formula_10, and a loss is 0.
Step 3: Determine New Ratings Deviation.
The function of the prior RD calculation was to increase the RD appropriately to account for the increasing uncertainty in a player's skill level during a period of non-observation by the model. Now, the RD is updated (decreased) after the series of games:
formula_11