← All posts

Best move, good move, inaccuracy: where the thresholds come from

· 6 min read

Every reviewed game on Chess Wizard paints each of your moves one of five colours. The bands are not a vibe and they are not copied from chess.com. They live in one module, the same one the analysis worker uses, so the label on the move list cannot disagree with the label in the database.

Here they are, as centipawn loss against the engine’s best move:

LabelCentipawn loss
Bestunder 10
Good10–49
Inaccuracy50–99
Mistake100–299
Blunder300 and up

A move that improves the evaluation — the engine was wrong, or your opponent’s last move changed the search — is clamped to zero loss. You cannot farm “best” moves off the other side’s errors.

Why a threshold and not a curve

Accuracy, the number on the game, is a curve: small win-probability drops barely hurt, large ones fall away fast. Classification is a set of cliffs on purpose.

A curve is the right tool for a summary. It is the wrong tool for a move list. You want to scan fifty plies and see the three that deserve a look, in a vocabulary everyone already has. “Inaccuracy” and “blunder” are that vocabulary. A colour that gets 3% more red because the drop was 312 instead of 288 is noise. A colour that flips from mistake to blunder at 300 is a decision you can disagree with, which is better than a decision you cannot see.

The specific edges — 10, 50, 100, 300 — are conventional. Ten centipawns is inside the jitter of a mid-depth search; calling that anything other than best would label half your developing moves. Fifty is a small but real concession, the kind of thing that accumulates into a staircase. A hundred is a pawn, or a pawn’s worth of position. Three hundred is a piece, or a collapse. Other reviewers pick nearby numbers. None of them is a law of chess. If we retune them it will be with a changelog entry, because a stored “mistake” that silently starts meaning something else is worse than a slightly arbitrary cut.

What a “blunder” is not

It is not “you threw the game.”

Classification measures distance from the best move in pawns, not distance from a draw in winning chances. Hang a bishop in a position that was already +9 and the move is a blunder on this scale. It did not change the result. Drop 80 centipawns six times in a row from a level position and none of those moves is a blunder. Together they lost the game.

That is the same distortion centipawn loss has as an average, applied per move. It is still the right distortion for this label. “How far from best” is a question worth answering in the unit the engine speaks. Just do not read the word blunder as a moral judgement about the game.

If you want the move that actually cost you the point, look at the key moments list. Those are the largest eval swings, which in practice means the largest centipawn losses, shown first. One of them is usually the story. The rest of the blunders are often conversion noise.

Mate scores

A forced mate is not a centipawn value. We pin those positions to a large finite number before measuring loss, so going from mate-in-3 to mate-in-8 is not a blunder — you are still winning — and going from mate-in-3 to a level position is the full drop. The accuracy article covers the win-probability version of the same idea. Classification follows the same pin so the two views of one move cannot tell opposite stories about mates.

How to use the colours

  1. Ignore best and good on a first pass. They are doing their job by being boring.
  2. Read every blunder against the eval, not against the word. If the bar was already at +6, file it under conversion and move on.
  3. Spend the time on inaccuracies that start a staircase. A string of 50–90 drops in the same direction is a plan problem. The classification is mild on each ply and harsh on the game.
  4. Check the clock. A blunder with eight seconds left is a different study task from a blunder with five minutes left. The clock-pressure post is the longer version of that.

The move list is a map. The colours are the legend. They are not the terrain.