Every number on a Blackbox Chess report, defined exactly, with the least amount of data we need before we show it. If a card is missing from your report, it is because there was not enough data for it yet, not because the answer was zero.
Stockfish, a chess engine, looks at a position and gives it a number: how far ahead one side is. The unit is the pawn. An evaluation of 1.0 in your favor means you are ahead by about the value of one pawn, even if no pawn has actually been won.
We read that number before and after each of your moves. If it gets worse for you, the move cost you something, and the size of the drop is how much.
An error is one of your moves that made the evaluation of your position worse by 1.0 (about one pawn) or more.
A blunder is one of your moves that made it worse by 2.0 (about two pawns) or more. Every blunder is also an error.
A game has three phases: the opening, the middlegame and the endgame. The report shows two things for each. The percentage is that phase's share of all your mistakes. The rate is your errors per 100 of your own moves in that phase.
The weakest phase is the one with the highest rate, not the largest share. The middlegame has the most moves in it, so it nearly always has the most mistakes. Counting per 100 moves removes that advantage and shows where you are actually weakest.
We only rank by rate when at least 5 of your games recorded move counts, and a phase only competes if you made at least 40 moves in it. Older reports, made before we recorded move counts, name the phase with the most mistakes.
A winning position is one where the engine had you ahead by 1.5 pawns or more after one of your moves. Your conversion figure is how many of the games that reached a winning position you went on to win.
A win has slipped when the evaluation falls from winning to below 0.5 and never gets back to winning. The move shown is your last move that took it below 0.5. A game you were winning and lost on time, without the evaluation ever falling, is counted as not won but has no slip move.
The card appears once at least 3 of your games have slipped in this way.
For each of your moves we look at how much of your starting clock you had left when you chose it: more than half, a quarter to a half, a tenth to a quarter, or less than a tenth. For each group, the percentage is the share of those moves that were blunders.
We also count blunders played in 5 seconds or less, and blunders played after thinking for 60 seconds or more.
This needs clock times in the game record. Games from Lichess and Chess.com carry them; uploaded game files often do not. The card appears once 5 games have clock times, and a group shows no percentage until it holds at least 30 moves.
An endgame is the last phase of a game, when most of the pieces have been traded off. We note the evaluation at the first moment it was your move in the endgame. Winning means you were ahead by 1.5 pawns or more, worse means behind by 1.5 or more, and level is anything in between.
You held an endgame if you won one you entered winning, or did not lose one you entered level. An endgame you entered worse had nothing to hold, so it counts as held whatever the result. Won always means you won the game: a winning endgame lost on time is not won.
The card appears once you have reached 5 endgames. A type of endgame, such as rook endgames, is only named as the one that cost you the most once you have played 4 of that type.
Every opening has a book: the established moves that strong players have settled on. We follow each of your games move by move until your first move that is not in the book.
A costly exit is a game where that move made your position worse by 1.0 (about one pawn) or more. If you left the book with a move that cost less than that, the game is not counted. There is at most one exit per game.
Openings are grouped by name and by the color you played, for example the French Defense as Black. An opening is listed once you have played it 3 times, and the card appears once there are 3 costly exits in total. The move shown for each opening is a real move from one of your games: the exit that cost the most.
The endgame trainer, part of the subscription, groups your endgame positions into families such as pawn endings and rook endings, and picks one to focus on. For each family it estimates how often you get that kind of endgame right, out of 100.
The estimate is built from two kinds of evidence. A real game that reached that kind of endgame counts 2: it passes if you held the result and fails if you dropped it. A training attempt counts 1: it passes if you solved the position. A real game counts for more because it is the real test.
Next to the estimate is a range, for example "likely between 33 and 58". Your true rate is most probably somewhere inside it. The less evidence there is, the wider the range. With evidence worth fewer than 4 training attempts, or a range wider than 45 points, we show no number at all and say there are not enough results yet.
The aim is 70 in 100. The focus goes to the family that sits furthest below that, with a small extra weight for families that have more positions left to master. The aim of 70 is our starting point, not a measured fact, and we will adjust it as more players use the trainer.
Every chess judgment comes from Stockfish: the evaluations, the better moves, and which moves count as mistakes. Nothing else decides what is good or bad chess here.
The names and descriptions of the mistake patterns on your report are fixed text written by us. The same pattern always gets the same words.
Two things are written by an AI language model: the scripts for personalized opening videos, and the answers to questions you ask in the endgame trainer. The model is given the engine's analysis of your position and asked to put it into plain words. It is not asked to analyze the chess itself.
Before you see any of that text, a program checks it against the engine's analysis and the board. A video script that names a move the engine did not produce, or gives a piece the wrong color, is rejected and rewritten. An endgame answer with a false statement about the position is sent back once to be corrected; any sentence that is still false is removed, and if nothing true is left the answer is withheld. The answer moves of practice drills are checked by the engine before a drill is emailed to you.