Back2Warcraft's Elo Rating

Back2Warcraft's Elo Rating is a rating list of the Warcraft 3 professional players curated by Back2Warcraft. The ratings are calculated based solely on map scores in high level tournaments. The ratings do not take the eventual tournament position into account, or indeed any other factors such as prize money and ladder standings.
The ratings are calculated monthly, and released at the beginning of the month. They are based on more than 2500 high level games since December 2015.
Rules[edit]
The ratings use the following standards:
 The first games entered to the system are WCA 2015, where all players were given an initial rating of 2000
 The rating period is one month
 The ratings prior to November, 2016 is considered part of the transient response and not trustworthy
 All games must come from tournaments where at least half the players already have a rating (preferably) or a well established provisional rating
 The minimum number of games to get a rating is 12, before that the players have a provisional rating only
 The minimum number of games to be included in the rankings is 15
 There is no rating decay; the rating will not decrease if a player is inactive
 There is a decay on number of games played for the player, so inactive players will be dropped from the rankings after a period of no games
Calculations[edit]
The calculations are based around Arpad Elo rating system first implemented in chess in 1960. Back2Warcraft’s Elo Rating, while following the basic principles of this system, are implemented using the slightly impoved and more modern version currently in use by the USCF. A straightforward explanation of mathematics can be found in a paper by Mark E. Glickman, a rating system expert, in Chapter 3 and beyond.
The main differences between this variant and the more traditional Elo system is the variable Kfactor and the antiinflation system described by the special rating formula, see the section below.
The Elo rating score is calculated in three basic steps, predict, compare and adjust.
Predict[edit]
The first thing the system does when considering a new result is to predict what the outcome should have been. So before looking at the actual result, the system calculates the likelihood of each player winning the game based on their rating. This likelihood is called the expected score of each player, where the score is simply defined by win = 1, loss = 0. Since only one player can win, the sum of the expected scores is 1.
So in a game between two players rated P1=2000 and P2=1900, the expected scores are 0.64 for P1 and 0.36 for P2. Or in other words, the higher rated player is expected to win 64% of the time if the ratings are true. Since P2 is expected to score 0.36 points each time these players compete, if there’s a situation where they play each other five times the total expected score is 0.36 x 5 = 1.8. Similarly, P1 has an expected score of 0.64 x 5 = 3.2.
Compare[edit]
The predicted score is then compared to the actual score. For each player the difference between these is called the delta. This value is a measure of how the player is performing compared to what could be expected given their current rating. So a positive delta means the player is overperforming his rating, a negative delta means underperforming.
So continuing with the example above, given a 10 victory for P1, the delta is set to (Actual score – Expected score) = (1 – 0.64) = +0.36. For P2 the delta is (0 – 0.36)=0.36. P1 did slightly better than predicted, P2 slightly worse. If we change up the score, and now let the weaker player win with a 10 victory for P2, the deltas become 0.64 and +0.64. So, not surprisingly, when an upset occur, the deltas are higher.
Now, given a five game series between P1 and P2 with a score of 32 victory for P1, the delta of P1 would be (3 – 3.2) = 0.2. The delta of P2 would be (2 – 1.8)=+0.2. The relatively small deltas indicate that the ratings of the players are true, and that little adjustment is necessary. A 32 score is right in line with what we expect when a player rated 2000 plays against a 1900.
Taking the sum of all the deltas of a player over the rating period then gives one number indicating whether the rating should increase, decrease or stay as is.
Adjust[edit]
The final step is then to create a new rating for the player, more accurate to how the player is actually performing. The new rating is given by the old rating plus the adjustment based on the delta described above, or mathematically: Rating = OldRating + K*delta, where K > 0.
If the player has overperformed, delta is a positive number, and the new rating will be higher than the old. If the player has underperformed, the delta will be negative and the rating decrease. The conversion from a delta to an actual adjustment is done by multiplying delta with the factor K, called the Kfactor
The KFactor[edit]
One of the key characteristics of a rating system is how much weight to put on any one result. In an Elo system this size is called the Kfactor. A high Kfactor puts a lot of weight on new results, while a low value is the opposite.
So if there’s a low Kfactor, the system rewards strong performances consistently over time, where players are only slowly climbing or falling on the list. Such a list can feel a little too slow, where the list will lag behind reality.
If the Kfactor is high, the system is very quick to adjust. This means that that the most recent tournament results are considered as the most important. This can be problematic as the list becomes too volatile, with players rising and falling many places every rating period, and the rankings merely a copy of the last tournament placements.
The solution then is to have the Kfactor vary. For each player, every rating period the system calculates a unique Kfactor based on the level of the player, the number of games played previously and the number of games in the current rating period. Thus, for established pros with many registered games the ratings will put relatively little stock in just a single result, but for a newcomer with almost no registered games the system will quickly adjust the rating based on fresh results.
Rating inflation[edit]
Prediction[edit]
Rating difference  Bo1  Bo3  Bo5  Bo7 

+400  82%  92%  96%  98% 
+300  76%  86%  90%  94% 
+200  68%  76%  81%  85% 
+150  64%  71%  75%  78% 
+100  60%  64%  67%  70% 
+50  55%  57%  59%  60% 
+25  52%  54%  55%  55% 
0  50%  50%  50%  50% 
Current rating[edit]
The current ratings was released 1st of May, 2018.
Rank  Δ  Player  Rating  Δ  Played  Exp. Score  Score 

1  ()  Happy  2209  (+0)  0  0.0  0 
2  (+3)  Moon  2153  (+44)  31  17.5  22 
3  (+4)  Lyn  2149  (+47)  40  22.8  28 
4  (2)  TH000  2145  (+6)  51  33.3  34 
5  (2)  120  2105  (26)  27  17.5  15 
6  (2)  Infi  2076  (47)  37  24.1  19 
7  (+3)  LawLiet  2073  (+46)  34  16.1  21 
8  (2)  Life  2072  (33)  10  5.5  3 
9  (1)  FoCuS  2035  (13)  38  24.4  23 
10  (1)  Romantic  2027  (21)  32  19.2  17 
11  ()  Foggy  2015  (+0)  49  27.0  27 
12  ()  WFZ  1981  (12)  27  14.1  13 
13  (+1)  Lucifer  1978  (+19)  54  27.6  30 
14  (+4)  Chaemiko  1966  (+47)  35  15.3  20 
15  ()  ReMinD  1959  (+0)  0  0.0  0 
16  ()  Check  1956  (+0)  0  0.0  0 
17  ()  ReprisaL  1954  (+15)  9  4.5  5 
18  (5)  Fly100%  1953  (24)  7  3.7  2 
19  (+2)  Sok  1925  (+44)  30  13.1  17 
20  (+3)  Colorful  1876  (+19)  15  4.7  6 
21  (+4)  Cash  1861  (+16)  28  13.7  15 
22  ()  Sonik  1860  (17)  9  5.1  4 
23  (4)  So.in  1859  (43)  26  12.7  9 
24  (+8)  HawK  1843  (+64)  19  7.6  12 
25  (+3)  XiaoKK  1840  (+22)  27  10.2  12 
26  (New)  Zhou_Xixi  1819  (10)  8  3.3  3 
27  (3)  tbc_bm  1812  (45)  18  6.3  3 
28  (1)  OrcWorker  1798  (27)  7  3.5  2 
29  ()  Rudan  1797  (18)  2  0.5  0 
30  (+1)  Blade  1792  (+7)  9  3.6  4 
31  (1)  Sheik  1788  (+0)  4  2.0  2 
32  (New)  EfFeCt  1787  (12)  9  4.3  4 
33  (7)  Sini  1781  (54)  17  5.8  2 
34  ()  Anima  1739  (+0)  0  0.0  0 
35  (2)  pingge  1733  (9)  5  1.3  1 
36  (+1)  无道oc  1732  (+20)  8  2.3  3 
37  (1)  Fast  1714  (12)  10  3.7  3 
38  (+1)  XeLSinG  1700  (+0)  0  0.0  0 
39  (1)  HurricaneBo  1689  (15)  2  0.6  0 
40  (+4)  ag3nt  1657  (+43)  6  2.4  4 
41  ()  Edo  1657  (+0)  0  0.0  0 
42  (+5)  ice orc  1652  (+80)  9  1.9  5 
43  (1)  pcg_123  1638  (8)  2  0.2  0 
44  (+1)  14sui  1597  (+0)  0  0.0  0 
45  (2)  RaZZoRMaN  1590  (37)  6  2.6  1 
46  ()  TGW  1575  (8)  2  0.3  0 
47  (+1)  Starshaped  1572  (+0)  0  0.0  0 
48  (+2)  Imperius  1498  (24)  3  0.8  0 
49  (+2)  Deathnote  1454  (8)  3  0.2  0 