A few days ago, it was pointed out to me that the Elo-based formula used to calculate the rating list was implemented incorrectly. This mistake has now been corrected. The result is major shift in the ratings.
I sincere apologize for the error, for which I take full responsibility. I also thank the person who has kindly pointed out the error to me.
The error and its consequences
My programming error was that the match length was not taken into account when calculating the winning chances of the two players. In other words, the winning chances were calculated as if each match were a 1-point match. This error gave an unfair advantage to the players with a high rating and a disadvantage to the players with a low rating. The ratings on top of the list were thus too high, and the ratings on the bottom of the list too low.
To understand why, remember that the longer match, the higher the winning chances of the rating favourite. The greater your winning chances, the fewer rating points you gain when you win and the more points you lose when you lose.
However, by treating each match incorrectly as a 1-pointer, the winning chances of the rating favourite were underestimated. If the rating favourite then actually won the match, her rating went up by too much. But if she lost the match, her rating went down by too little. Similarly, if the rating underdog won the match, she did not receive the rating increment she actually deserved, while she was punished too much in case of a defeat.
Technical explanation
The correct formula for a player’s winning chances P is to be found on http://www.bkgm.com/faq/Ratings.html#what_are_my_chances_of_winning_:
P = 1 / (1 + 10^(- D * sqrt(N) / 2000))
D is the difference between the player’s rating and her opponent’s rating, while N is the match length.
In the software I wrote, I had forgotten the sqrt(N) on the right-hand side in the definition of P.
Correction
To rectify things, a choice had to be made between two options:
- The ratings are recalculated using the correct formula for all matches in the database.
- The correct formula only takes effect for matches played on or after a specific date, while for matches before that date, the incorrect formula is maintained.
After discussion with BGFed.be president Guy Van Middelem and with former rating committee member Luc Palmans, it was decided unanimously to opt for the first possibility. I would like to thank Guy and Luc for their kind advice and their understanding.
The result of the correction is major change in the rating list. A large bonus for some, an equally large discount for some other.
Once more, I am extremely sorry for the mistake, which is mine and mine alone. To the best of my knowledge, the ratings are now correct.
Should you wish to have more explanations, please do not hesitate to contact me by phone or by email. If there is anything else I can do, just let me know.
— Johan Segers