# Stockfish: What is the maximum (minimum) centipawn score that a position might be evaluated at?

With the exception of checkmate and mate-in-x positions, what is the highest centipawn score that a chess position might obtain upon Stockfish evaluation?

This is a practical question because there are situations where one would want to normalize position scores to [-1, 1]. As a starting point I wrote a small script that evaluates the positions (depth=10) found in 100 PGNs and found the highest score to be 3396. Is there an upper bound (or lower bound for negative scores)? Does the evaluation depth effect the bound?

EDIT: I've selected the answer provided by Chromatix because it solves the problem that motivated my question. For those who are curious about the actual bounds, it's worth noting that looking at approx. 400k positions from grandmaster games I found that the highest and lowest centipawn scores were 7881 and -7658, again, using Stockfish (depth=10).

• What position did you get 3396 eval in? I'm surprised it's that high, because when watching Stockfish play at TCEC, its eval caps at about +148. Jan 20, 2020 at 3:47
• @Allure The eval caps at 1.48 pawns? Jan 21, 2020 at 0:01
• @Acccumulation no, +148 is 148 pawns. Jan 21, 2020 at 0:04
• @Allure "Stockish: What is the maximum (minimum)**centipawn** score that a position might be evaluated at?" Wouldn't 148 centipawns be 1.48 pawns? Jan 21, 2020 at 0:10
• No definite answer there. There's no clear definition of what a "centipawn" is. For example, if you take the starting position and remove Black's queen and Rooks, different algorythms could evaluate that position as +20, +50 or +1,000,000, all of them being correct Jan 21, 2020 at 8:25

The best way to normalise a centipawn score to [-1,+1] range is using a sigmoid function, as that closely approximates the likelihood of a given centipawn advantage converting to a win, and avoids the need to identify a strict maximum or minimum. This is discussed here.

• Fascinating. I believe this solves my problem.
– BLUC
Jan 20, 2020 at 11:06
• And solves a question'o'mine before I even could post it :-) +1 Feb 16, 2022 at 9:47

The maximum possible non-mate Stockfish eval is +153. It indicates a forced line leading to an endgame tablebase win. See Wikipedia article on game 65 of the TCEC Season 14 superfinal, and the game itself.

I don't understand Stockfish's code very well, but if you can read C++ you can try deciphering Stockfish's search algorithm yourself.

• Uhh. Why isn't up two queens with too many pieces into the tablebase evaluated at +180? Jan 21, 2020 at 4:28
• Wow that's interesting, I haven't seen a game with evaluations that high before.
– BLUC
Jan 21, 2020 at 5:08
• @Joshua each queen is worth about 9 pawns - being up two queens is, from a purely material point of view, only +18. (Note if you're working in the units the OP is using, the number quoted in this answer shouldn't be read as +153, but rather +15300.) Jan 21, 2020 at 5:26
• @Joshua A tablebase evaluation doesn't take any material or positional evaluation into account. The latter are only approximations to the likelihood of winning; the tablebase is absolute truth with perfect play. Jan 21, 2020 at 8:51

Arbitrarily High.

No bound except some position which is unknown.

Yes depth affects the maximum bound some.