Chessfield.net

Chess Elo formula

The Elo rating was first introduced by FIDE to measure the strength of a chess player. it is calculated based on the results of individual games and strength of the opponents. In this article you will learn how that rating is calculated. Initially, all players start without an official rating and need at least five games against rated opponents to get their first elo. First, we cover the calculation of the initial rating followed by the calculation of the rating change for players that already have an Elo.

Calculation of the initial rating

To obtain an initial FIDE rating, a player has to play at least five games in one or more official tournaments against rated opponents. In addition, the total score of these games has to be different that 0, i.e. at least one draw is needed. The calculation of the initial rating includes only the rated opponents in addition to two draws against hypothetical opponents with a rating of 1800. The initial rating RIR_I is obtained from the following formula, which also used to calculate the performance rating:

RI=Avg(opponents)+dp(p)R_I = Avg(opponents) + dp(p)

Here, Avg(opponents) represents the average rating of all rated opponents, including the two hypothetical 1800 rated players. Furthermore, dp(p) represents the difference between the average opponent rating and the performance of the player, with p being the fractional score. For example, scoring 3 points out of 4 games corresponds to p=0.75. The following table shows the dp values for various fractional scores scores:

pdppdppdppdppdppdp
18000.832730.661170.49-100.32-1330.15-296
0.996770.822620.651100.48-170.31-1410.14-309
0.985890.812510.641020.47-240.3-1490.13-322
0.975380.82400.63950.46-310.29-1580.12-336
0.965010.792300.62870.45-380.28-1660.11-351
0.954700.782200.61800.44-450.27-1750.1-366
0.944440.772110.6730.43-520.26-1840.09-383
0.934220.762020.59660.42-590.25-1930.08-401
0.924010.751930.58590.41-660.24-2020.07-422
0.913830.741840.57520.4-730.23-2110.06-444
0.93660.731750.56450.39-800.22-2200.05-470
0.893510.721660.55380.38-870.21-2300.04-501
0.883360.711580.54310.37-950.2-2400.03-538
0.873220.71490.53240.36-1020.19-2510.02-589
0.863090.691410.52170.35-1100.18-2620.01-677
0.852960.681330.51100.34-1170.17-2730-800
0.842840.671250.500.33-1250.16-284

Example for initial rating

Lets consider an unrated player with no games so far that plays five games against rated opponents in his first tournament. The average rating of these opponents is 15831583. The player scores 1.5/51.5/5 points by drawing three times and loosing two games. Adding the two hypothetical draws against 18001800 rated opponents into the equation raises the average opponent elo to 1645 and leads to a score of 2.5/72.5/7. That score corresponds to a fractional score of p=0.36p=0.36 . As seen in the table above, p=0.36p=0.36 is equivalent tp dp=102dp=-102. Thererfore, the initial rating will be 1645102=15431645-102=1543.

Formula for the rating change

For a player that already has an official FIDE elo, the rating gained or lost throughout a tournament is calculated by summing up the the rating changes in the individual games. In general, the rating gained for a win increases with the elo of the opponent. On the other hand, the lower the elo of the opponent, the more rating is lost after a defeat. The rating change after a game is calculated based on the difference between the expected and the actual score. The expected score for a player with a rating RAR_A playing against a player with a rating RBR_B is given by the following formula:

EA=11+10(RBRA)/400 E_A = \dfrac{1}{1+10^{(R_B-R_A)/400}}

For the special case that both players have the same rating, the expected score is 0.5. An important edge case of this formula occurs the rating difference of the players is more than 400 elo points. In these scenarios, the rating difference is interpolated to 400 points only. For instance, if RA=2200R_A = 2200 and RB=1600R_B = 1600, the expected score in the above formula is calculated under the assumption that that RB=1800R_B = 1800.

The rating change \Delta_{R}} is obtained by multiplying the difference between the actual score SA S_A and the expected score with the so-called K-factor:

ΔR=K(SAEA)=K(SA11+10(RBRA)/400) \Delta_{R}= K\cdot (S_A - E_A) = K\cdot (S_A - \dfrac{1}{1+10^{(R_B-R_A)/400}})

The factor K K in this equation is a measure for the rating fluctuation. Depending on various factors that are listed hereafter the value of K K is either 10, 20 or 40.

Example for rating change

Lets assume a player with a rating of 19231923 wins a game against a player with a rating of 18471847, meaning that SA=1 S_A = 1 . Plugging the ratings RA=1923 R_A=1923 and RB=1847 R_B=1847 into the equation for the expectation value results in EA=0.608 E_A = 0.608 , i.e. the stronger player is expected to have an average score of 0.6080.608 . If we further assume that the player is above 18 years old and has played more than 30 rated games thus far, the K-factor has a value of 20. According to the formula for ΔR \Delta_{R} , the rating change in that case is given by +7.8+7.8. Hence the new rating of the player is 1930.81930.8.

Elo calculation tools

You can use this tool to calculate your new rating after a tournament. It is able to calculate your initial FIDE elo as well as your rating change in accordance with the above formulas. For reference, you can also use the calculator on the official website of FIDE. However, that tool only allows you to enter only one opponent and is therefore not optimal if you want to calculate your rating change after a tournament with multiple rounds.