How chess accuracy is calculated
Chess accuracy is a score from 0 to 100 that shows how close your moves were to the engine's best ones. A review measures how much win chance each move gave away, turns that loss into an accuracy for the move, and combines the moves of each player into one number for the game.
How is the accuracy of one move calculated?
Every position gets an expected score, a win chance from 0 to 100 %, taken from the engine's evaluation with the Win% curve that Lichess uses. An evaluation beyond 10 pawns counts as 10 pawns, and so does a forced mate. The loss of a move is the win chance after the best move minus the win chance after the move you played, never below zero.
The move's accuracy comes from that loss with the curve Lichess uses for it. No loss is 100. Losing 5 points of win chance gives about 81, losing 10 points about 65 and losing 30 points about 26.
How is the accuracy of the whole game calculated?
Each player gets their own number: the average of two averages of their move accuracies. The first is weighted by volatility, so a move in a sharp stretch, where White's win chance swings a lot between nearby positions, weighs more than a move in a quiet one. The second is a harmonic mean, which falls hard when one move scored very low, so a single blunder pulls the result down more than it would in a plain average.
The review also splits accuracy into the opening (the first 20 half-moves and book moves), the middlegame and the endgame (up to 15 points of pieces other than pawns left on the board), so you can see where a game was lost.
Why does the same game get different accuracy on different sites?
Because accuracy is not a measurement but the result of choices, and each site makes its own. These are ours:
- Engine search. Each position is searched for up to one million nodes with its two best lines. A suspicious move, one that seems to lose more than 8 points of win chance, is searched again with three million nodes and three lines, and that result replaces the first. More or less depth gives other evaluations.
- Opening theory. A move from the opening book, or one that leads to a position found in at least five games between players both rated 2200 or more in our Database, counts as no loss, unless a deeper evaluation sees it as worse than an inaccuracy. This holds only in an unbroken run from the starting position, up to 60 half-moves.
- Endgame tablebases. In positions a tablebase covers, a move is judged by win, draw or loss, so a slower win is not a mistake.
- Equal moves. If your move is one of the engine's two best lines, its loss comes from that same search, so the noise between two searches does not tell two equally good moves apart.
- The game formula. A plain average of the move accuracies gives another number than the volatility weighting and the harmonic mean above.
Our curve and weighting follow the ones Lichess uses, but that does not make our number the same as Lichess's or any other site's: the search budget, the theory rules and the tablebase rules are ours. Compare accuracy within one site, your games against your games, and read it next to the counts of inaccuracies, mistakes and blunders.
Curious what these numbers look like for your own game? Review a game of yours and see each player's accuracy next to the move-by-move labels.
Import a game from Lichess or Chess.com and see where it was decided.