Rating Calculation

The algorithm used to calculate the ratings is the Glicko rating system,
variation of the famous chess rating system Elo rating system.

For each player two parameters are calculated: rating (r) and ratings deviation (RD).

The RD measures the accuracy of a player's rating. For example, a player with a rating of 1200 and an RD of 50 has a real strength between 1100 and 1300 with 95% confidence. 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, and increases with period of time.

Each player starts with rating of 1200 and rating deviation of 350.
After a round each player is compared to other players.

Step 1.

Determine a rating and RD for each player at the onset of the rating period.

(a)

If the player is unrated, set the rating to 1200 and the RD to 350.

(b)

Otherwise, use the player's most recent rating, and calculate the new RD from the old RD (mbox{RD}_{old}) by the formula

begin{displaymath}
mbox{RD}= min(sqrt{mbox{RD}_{old}^2 + c^2t}, ; 350)
end{displaymath}


where t is the number of rounds skiped since last competition (e.g., if the player competed in the most recent round, t=1) and c is a constant that governs the increase in uncertainty over time. The formula above ensures that an RD at the beginning of a rating period is never larger than 350, the RD for an unrated player.

Step 2.

Carry out the following updating calculations for each player separately:

Assume that the player's pre-period rating is r, and the ratings deviation is mbox{RD}. Let the pre-period ratings of the m opponents be r_1, r_2, ldots, r_m and the ratings deviations be mbox{RD}_1, mbox{RD}_2, ldots, mbox{RD}_m. Also let s_1,ldots, s_m be the outcome against each opponent, with an outcome being either 1, 1/2, or 0 for a win, draw and loss. 

Let r' and mbox{RD}' denote the post-period rating and ratings deviation for the player. The updating formulas are given by

begin{eqnarray*}
r' &=& r + frac{q}{1/mbox{RD}^2 + 1/d^2}
sum_{j=1}^m g(mbo...
...qrt{
left( frac{1}{mbox{RD}^2} + frac{1}{d^2} right)^{-1}
}
end{eqnarray*}



where

begin{eqnarray*}
q &=& frac{ln 10}{400} = 0.0057565 
g(mbox{RD}) &=& fra...
...ox{RD}_j)
(1 -mbox{E}(svert r,r_j,mbox{RD}_j)) right)^{-1} .
end{eqnarray*}

If the rating change rc = r – r’ is bigger than 400, the rating change is limited to 400.
Also if the rating change is lower than -150 it is limited to -150.

The rating of a competitor can go up by maximum of 400 and go down by a maximum of 150.

These calculations are carried out for every player competing in the round.