# Is there a way to get blunders, mistakes and inaccuracies using Stockfish?

Stockfish provides the best moves/lines but is there a command or technique to get inaccuracies, mistakes and blunders? How is this done by lichess or chess.com?

They also have the ability to show an evaluation chart throughout the game. Are they doing it iteratively move by move? Even in that case how can you categorize the moves as mistakes or blunders using Stockfish?

## 1 Answer

Common methods for engine annotation include a strict evaluation model or the expected points model. In the strict evaluation model, engine annotations require user-defined parameters to classify inaccuracies, mistakes, and blunders using the strict difference in the evaluation between the move played and the engine's top choice.

In the expected points model, the engine's evaluation is mapped to a function between 0 and 1, indicating the probability of win (or the expected score). Then the assessed move's expected points score is similarly compared to the engine's top choice.

Chess.com: Using Chess.com's Knowledge Base, the current documentation for How are moves classified? What is a ‘Blunder’ or ‘Brilliant’ and etc? shows moves are classified using a new system, ClassificationV2, which uses an expected points model instead of the previous strict evaluation differences.

Chess.com is using the probability of a win evaluation and assessing the move's impact on that probability based on the following:

• Best: 0 ≤ change ≤ 0
• Excellent: 0 < change ≤ 0.02
• Good: 0.02 < change ≤ 0.05
• Inaccuracy: 0.05 < change ≤ 0.10
• Mistake: 0.10 < change ≤ 0.20
• Blunder: 0.20 < change ≤ 1.00

Lichess.org: The documentation for Lichess indicates that they also use their Win% and Accuracy% metrics "to identify inaccuracies/mistakes/blunders in game analysis."

Lichess definitions:

• "`Accuracy%` represents how much you deviated from the best moves, i.e. how much your winning chances decreased with each move you made."
• "`Win%` represents your chances of winning the game from a given position."

Lichess first computes `Win% = 50 + 50 * (2 / (1 + exp(-0.00368208 * centipawns)) - 1)`
which allows comparing `Win%` before and after each move.

This enables the `Accuracy%` calculation.
`Accuracy% = 103.1668 * Math.exp(-0.04354 * (winPercentBefore - winPercentAfter)) - 3.1669`

Older Lichess forum posts (1, 2) indicate previous strict evaluation differences such as

• Inaccuracy: 0.5 < gap ≤ 1,
• Mistake: 1 < gap ≤ 2, and
• Blunder: 2 < gap,

may have been previously used, but it seems this is no longer the case.

• Why the downvote? Did I misinterpret one of the sources? Jan 20 at 12:48
• thanks a lot, very useful, let me think about it and read the reference and get back to you tomorrow. No idea who downvoted it. Jan 20 at 13:27
• I'm still saying: We still need May 16 at 19:44
• We have amazing engines, but we do not have the right software to utilize their power. May 16 at 19:45