lichess.org
Donate

Berlin Candidates Player Accuracy

I wrote a python script that analyzes all the games played in the 2018 Berlin Candidates and calculates the number of moves, inaccuracies, mistakes and blunders for each of the 8 players. With this information I created an algorithm to compute an "accuracy" score for each player, using the same scale for how lichess computed what is a blunder, mistake or inaccuracy.

# 300 -> Advice.Judgment.Blunder
# 100 -> Advice.Judgment.Mistake
# 50 -> Advice.Judgment.Inaccuracy

After some scaling of the scores I got these results.

Shakhriyar Mamedyarov: 82.26
Ding Liren: 81.41
Wesley So: 81.0
Fabiano Caruana: 80.74
Alexander_Grischuk: 77.71
Vladimir Kramnik: 78.82
Sergey Karjakin: 75.62
Levon Aronian: 58.41

The higher the score the more accurate the player played per move in the 2018 berlin candidates.
So what's the algorithm, if we don't know then these scores mean nothing
@fpvbmct the score represents how accurate the player plays each move.The scores show who played the most consistent chess according to stockfish 9+
def getScore(player):
score = 0
maxScore = 100
factor = 98

for i in player:
scale = 1
if player[i] == "Blunders":
scale = 300
if player[i] == "Mistakes":
scale = 100
if player[i] == "Inaccuracies":
scale = 50
if player[i] == "Moves":
scale = 0
if player[i] == "Centipawns":
scale = 0

score = score + (scale * (player[i]/player["Moves"]))
score = maxScore * (((maxScore - score) - factor))
return (round(score, 2))

This topic has been archived and can no longer be replied to.