164 Data Points Per Move: What We Actually Extract
Beyond accuracy percentages
When Chess.com reviews your game, you get an accuracy percentage and a handful of classifications — brilliant, great, best, good, inaccuracy, mistake, blunder. That's roughly 5 data points per move.
Shahmat extracts 164 data points per move, organised across 20 logical categories. Here's exactly what that means, how it works, and why it matters.
The analysis pipeline
Every game submitted to Shahmat goes through our analysis engine running on dedicated Stockfish servers. For each position in your game, we run Stockfish 18 at depth 20 with MultiPV 2 — meaning the engine calculates 20 moves ahead and finds the best two candidate moves for every single position. This isn't a quick scan. It's the same depth used in serious preparation at the master level.
From a single Stockfish search per ply, we then derive 164 columns of data across the following categories.
The 20 data categories
1. Position & Move Identification (5 columns)
The board position (FEN), the move played in standard algebraic notation, the origin and destination squares, and the current game phase (opening, middlegame, or endgame). This is the foundation everything else builds on.
2. Engine Evaluation (4 columns)
The centipawn evaluation before the move, the engine's display evaluation, search depth achieved, and position category (winning, equal, losing). We capture the raw engine output rather than just a label.
3. Multi-PV Analysis (6 columns)
The engine's best move and second-best move, their evaluations, and their full continuation lines (3-4 moves deep). This is what powers the game viewer — you can see not just what the engine recommends, but the idea behind it. If you played the second-best move instead of the best, we know exactly how much that cost and why.
4. Accuracy & Quality (3 columns)
Move accuracy (0-100 scale using an exponential centipawn loss model calibrated by rating), raw centipawn loss, and a quality label: brilliant, best, excellent, good, only_move, inaccuracy, mistake, blunder, or major_blunder. The accuracy formula uses a strictness parameter that adjusts by player rating — a 1200 player and a 2400 player are measured against different standards.
5. Time Management (2 columns)
Time remaining on the clock and time spent on the move, in milliseconds. When we analysed Carlsen's online games, his blunder rate jumped from 0.5% with 3-10 minutes remaining to 4.9% under 15 seconds. Most players have an even sharper drop-off — and most don't know where their threshold is.
6. Move Flags (9 columns)
Whether the move was a capture, check, kingside castle, queenside castle, promotion (and to which piece), sacrifice, recapture, and a move type classification. Move types include: development, centralisation, forward, improving worst piece, kick, trade, consolidation, fianchetto, rook lift, pawn break, file opening, backward, and decentralisation. This tells us what the player was trying to do.
7. Opening Knowledge (6 columns)
Whether the move matches known theory (book move), the depth of book knowledge reached, where the player deviated from theory, and the opening name, variation, and ECO code. Across hundreds of games, this shows exactly how deep your preparation goes in each line — and whether your deviations from theory are costing you.
8. Tactical Awareness (2 columns)
Available tactical themes in the position (fork, pin, X-ray, sacrifice, discovered attack, back rank weakness, interference, removing the defender) and whether the player found them. Across Carlsen's games, Pin + X-Ray combinations are the most commonly missed pattern at 2,849 instances. Every player has different blind spots — Shahmat identifies yours.
9. Pawn Structure (23 columns)
Isolated pawns, backward pawns, passed pawns, doubled pawns, tripled pawns, pawn islands, queenside and kingside pawn counts, pawn majorities on each flank, connected passed pawns — all tracked for both White and Black. Plus a pawn structure family classification (French Defence structure, Carlsbad, Stonewall, Hanging Pawns, IQP, etc.). This entire category is invisible in standard game reviews but drives the character of every middlegame and endgame position.
10. Board Control (23 columns)
A board control index, centre pressure index, centre control ratios, enemy-half penetration, mobility score, threat score, material counts and balance, controlled squares, weighted control values, deep penetration counts, contested squares, overwhelmed squares, and an overall control score. This is what powers the 3D Board Control visualisation — a surface map showing exactly how territorial control shifts throughout your game.
11. Piece Coordination (32 columns)
The largest single category. It covers:
- King safety (8 cols): ring pressure, pawn shield quality, open files toward the king, safe escape squares — for both sides
- Piece weaknesses (8 cols): loose pieces (LPDO — Loose Pieces Drop Off), underdefended pieces, with the specific squares identified
- Outposts (4 cols): count and location of outpost squares for both sides
- Strategic assets (4 cols): connected rooks, bishop pair
- Defence & coordination (8 cols): average defenders per piece, mutual defence chains, synergy and coordination scores
When we say "your piece coordination drops in the endgame," this is the data behind it — we're measuring 32 separate dimensions of how well your pieces work together.
12. Position Complexity (7 columns)
Complexity score, chaos score, criticality score, clarity dampener, forcing move count, quiet move count, and legal move count. Complexity matters because a blunder in a position with complexity 50 is very different from a blunder in a position with complexity 10. The first is forgivable; the second suggests a blind spot. The AI coach uses complexity to calibrate its tone — empathetic in objectively hard positions, more direct in simple ones.
13. Endgame Classification (6 columns)
Whether the position is an endgame, the ply it transitioned, the endgame type (e.g., rook and pawn, queen vs rook, opposite-coloured bishops), theoretical evaluation at the transition point, practical difficulty rating, and whether the position is within perfect knowledge (tablebase territory). This is how we can tell you that you convert winning endgames 80% of the time but only 45% in rook endgames specifically.
14. Mate Patterns (7 columns)
Detected mate patterns (back rank, smothered, Arabian, etc.), mate family classification, whether checkmate occurred, mate-in-N threats, severity, pieces involved, and frequency classification. Across thousands of games, this shows whether you spot mating patterns or consistently miss them.
How it all fits together
These 164 columns are written to a fact table in BigQuery for every move of every game. Your report tabs — Tactical Sharpness, Positional Play, Time Management, Endgame, and the rest — each query different slices of this data, aggregated across your entire game history.
The Lab gives you direct access to build custom queries. The AI coach reads the raw data and interprets it in context. The 3D Board Control visualisation renders the board control columns as an interactive surface.
A single accuracy number tells you how you played. 164 data points per move, across hundreds of games, tell you who you are as a chess player — and exactly what to work on next.