What Is a Centipawn Advantage?

2026-02-1918:406932win-vector.com

Introduction Current computer chess engines include a neat feature: the analysis bar. For example here is the analysis bar from chess.com. White to move, FEN: rnb2rk1/ppp2ppp/3p1q1n/4p3/7P/b1PPP3/P…

Current computer chess engines include a neat feature: the analysis bar. For example here is the analysis bar from chess.com.


Chess com example

White to move, FEN:

rnb2rk1/ppp2ppp/3p1q1n/4p3/7P/b1PPP3/PP1BBPP1/R2QK1NR w KQ – 0 1

The analysis bar is on the left, and the white portion is 74 “centipawn units” below the midpoint (matching the -0.74 “pawn units” in the top right analysis tab). This means the analysis feels white is at a 74 centipawn disadvantage to black in this position. The question is, what is a centipawn advantage?

Lichess gives a similar analysis and score (in this case -50 centipawns).

Lichess example

As probabilities

From the Stockfish Interpretation of the Stockfish evaluation document we have: “a 1.0 pawn advantage being a 0.5 (that is 50%) win probability.” A player with a 100 centipawn advantage is thought to have a 50% chance of winning (probability taken over chess engine near-optimal variations of play). Notice this is not necessarily the traditional material value of a pawn on the board. The intent is given in a reference graph that we reproduce here.

Sf probs

To use this graph we lookup our centipawn advantage (or disadvantage) on the x-axis and then measure the heights we cross the win, draw, and lose curves at. This reads off estimated probabilities of each outcome. Notice at a 0 centipawn advantage a draw is considered almost inevitable under optimal play. In our case the 74 centipawn disadvantage is shorthand for claiming a 0.23 probability of a loss, a 0.77 probability of a draw, and little chance of a win.

The way the engine likely uses the graph is it estimates probabilities (W, D, L) and then finds the point on the x-axis minimizing the (possibly square) distance of these from all three curves. The resulting centipawn advantage is then an approximate summary of the engine calculation.

Some engines, such as the OSX Stockfish UI show below, report both the centipawns (in this case -98 centipawns) and probabilities together.

Osx stockfish

As Elo

Chess players tend to use differences in Elo rating to measure advantage between players. So they may be more comfortable with Elo differences than with probabilities. One can convert centipawns to Elo difference using the following graph.

Elo graph

We see the relation is not linear. The flattish portion in the middle is due to the fact that the centipawn system models draws separate from wins and losses, whereas the Elo system treats draws as half-wins. A 100 centipawn advantage corresponds to an Elo difference of about 190. An Elo difference of 100 is about 80 centipawns.

Why pawns?

Chess does not have an in-game point system (unlike games like Go). We are left to choose our own domain of advantage measure. Common choices include: probability, Elo difference, material (pawn and piece counts), position, or time (moves or tempi). The common evaluation taught is an “all things being equal” chess piece relative value with the following simplified values.

Piece values

Converting probabilities into centipawns is an attempt to use a unit familiar with chess players. In math terms: it is using a logistic link instead of a probability or likelihood ratio.

Positional concerns

In chess one is usually not in “an all things being equal” situation. A given pawn may be protecting a piece, so may be worth much more than a point. For example here is the Stockfish estimated change in centipawn advantage for each single piece removal from the standard initial chess board.

Delta cp board

Notice not all the pawns are priced at the same number of centipawns. The average value for white pawns is 128 (for white to move) and the average value for black pawns is 154 (again for white to move). So the pawns are averaging to a bit more than 100. It makes sense that the centipawn score can not simultaneously be completely calibrated to the claimed 100 centipawns is a 50% chance of winning and to an actual pawn on the board always being worth 100 centipawn advantage.

More on tempi

Beyond the usual “a pawn is worth 2 or 3 tempi” rule it would be interesting to work out a directly theory of “fractional tempi” for chess in the spirit of “Winning Ways for Your Mathematical Plays” by Elwyn R. Berlekamp, John H. Conway, and Richard K. Guy. One idea would be to play over an ensemble of boards, where players alternate over choosing which board to move on (ignoring if it is the white or black turn on each board). Another idea is adding a small random chance of getting an additional move. Some concept like this might allow expressing positional advantage in a direct fractional tempo unit.

Conclusion

Shannon pointed out (Shannon, C. E. (1950). XXII. Programming a computer for playing chess. The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science, 41(314), 256–275. https://doi.org/10.1080/14786445008521796) under perfect play all chess games be a the same single one outcome of the following (we just currently don’t know which one, “A” playing the white pieces):

  1. Mr. A says, “I resign” or
  2. Mr. B says, “I resign” or
  3. Mr. A says, “I offer a draw,” and Mr. B replies, “I accept.”

That is, under perfect play, each chess position is either a forced win, forced draw, or forced loss. The domain of a perfect chess position evaluation function is these three cases as symbols.

As we don’t currently have access to this perfect evaluation function we settle for other evaluation domains such as piece/material values (augmented with positional features), tempi, estimated probabilities, and differences in Elo or matchmaking rating. Total material value plus position came first, as it is easiest to evaluate. Probabilities came quite late as they could not be mechanically estimated in a satisfactorily manner until the 1990s.

Categories: Tutorials

Tagged as: chess games


Read the original article

Comments

  • By knuckleheads 2026-02-2317:483 reply

    I'm not a chess engine guy, but I've talked to some, and, from what I recall, there is a very interesting difference between an engine like Leela Chess Zero (lc0) and Stockfish. Stockfish internally calculates in centipawns while lc0 calculates in WDL's. Stockfish has a model they use that converts their centipawn calculation to WDL's, but it's not _really_ WDL of the position, it's just their estimate of it according to a probabilistic model. Same in reverse applies to lc0. Why I find this interesting is that it shows how they come from different generations, with Stockfish representing the old deterministic style with deep search, and lc0 being directly inspired by Alpha Zero and the new generation of engines based on neural nets. Stockfish has by now adopted the best of both worlds (deep search with a small neural net) and is the better for it, but I still think the developers of both engines banter over who is really producing the True WDL numbers for a given position.

    For my part, I find that WDL is more amendable to interpretation. Being up 5 pawns worth of material sort of makes sense, but being told you have a 95% chance of winning makes more sense to me at first blush.

    • By n_e 2026-02-2319:021 reply

      > but I still think the developers of both engines banter over who is really producing the True WDL numbers for a given position

      In fact, stockfish's WDL is very rudimentary: it is a function of the centipawn evaluation of the position and the value of the remaining material.

      See https://github.com/official-stockfish/Stockfish/blob/a6d055d...

      • By knuckleheads 2026-02-2322:35

        Yeah, it's still unclear to me why Stockfish produces WDL numbers beyond sometimes people ask for them.

    • By tarentel 2026-02-2318:232 reply

      To your last point, the centipawns thing doesn't make a whole lot of sense from an interpretation perspective because it is so shallow. WDL can give you much more insight into how tame or chaotic things are. A 1 pawn evaluated advantage with a 95% chance to win is wildly different from a similar evaluation and a 50% chance to win. The first position likely has an obvious tactic that leads to a win, the latter may require perfect play for 15 moves that only a computer can calculate.

      Also, from a computer perspective, a >= 1 pawn is usually sufficient for a computer to win 100% of the time so it's not really interesting and says very little about whether a person could win 100% of the time.

      • By knuckleheads 2026-02-2322:48

        Yep, exactly. I spent a lot of time trying to figure out better ways for interpreting the evaluations of engines for https://www.schachzeit.com/en/openings/barnes-opening-with-d... and I ended up liking WDL much better than centipawns. A blunder defined in terms of decreasing your chance of winning by such and such percentage is, to me, a much better definition than a blunder losing such and such material. What does that mean? It makes sense to me now, but it took a long while.

        Relatedly, there is an interesting thing that lc0 has been doing as well, where it takes the contempt concept even further, and can beat you with queens odd. https://lczero.org/blog/2024/12/the-leela-piece-odds-challen... It assumes it is better than you and that it shouldn't just give up because you might be up a knight, rook or even queen.

      • By ramblerman 2026-02-2413:43

        If there is a 15 move sequence that leads to a guaranteed win, stockfish would not call it a 1 pawn advantage (given the sufficient calculation time) instead calling it a won position.

        I think you may be mistaking your understanding of stockfish as shallow in that regard.

        Where the big differences might emerge is in strategic mid game positions without any clear tactics or forcing moves. There lc0 can somehow "feel" that a position seems better.

    • By deklesen 2026-02-2318:251 reply

      FWIW, as an avid chess player, I find the "up 5 pawns" has more intuitive signal.

      • By knuckleheads 2026-02-2322:372 reply

        Was it intuitive when you were first learning to play? Or have you gotten used to understanding positions via centipawns?

        • By recursivecaveat 2026-02-247:19

          It's always made as much sense to me as being up or down money in Monopoly, or points in basketball. Stating the W/L value of a position feels like an weird mixing of the present and future to me. Of course the centipawn value holds an implicit prediction of the future, but the indirection makes it more palatable.

        • By deklesen 2026-02-2322:451 reply

          I learned chess when I was 5, and didnt have a chess computer in the first like 5 years and by then I have progressed quite far.. so i cannot really tell

          • By knuckleheads 2026-02-2322:52

            Makes sense. I started learning how to play Chess when I was ~30 and my tutors were just chess engines, game reviews on chess.com and whatever books I found interesting enough to get through. I have fun, and that's all I'll ever have, no titles or anything. The centipawn stuff makes sense now, but it took a while.

  • By paulddraper 2026-02-2315:084 reply

    Surprised it didn’t mention until the very end, but since chess is deterministic, there is no objective probability.

    Every position is objectively plus infinity, minus infinity, or zero.

    The “advantage” is an engine-specific notion that helps prune search paths.

    Some chess engines don’t even evaluate an advantage.

    • By kuboble 2026-02-2315:583 reply

      There are also objective measures for more fine position evaluation.

      For winning/drawn positions: "What is the smallest program that can guarantee your side to win/draw" probably adding some time constraint.

      • By im3w1l 2026-02-2316:14

        I think program size is probably not a good measure since any heuristic you can put in could be discovered at runtime with a metaheuristic that searches for good heuristics. Time and memory make more sense.

      • By paulddraper 2026-02-2319:181 reply

        Measuring the size of a model that produces a win?

        Theoretically valid, but that's not going to be a very useful/diable.

        • By kuboble 2026-02-2320:28

          No, but in practice centipawns reported by the imperfect engine are good.

          But I want to point out that in theory there is also something more than pure win/ lose/ draw with prefect play.

      • By jmount 2026-02-2316:07

        That is a neat variation.

    • By TZubiri 2026-02-2316:31

      Not only it is mentioned, but it's mentioned that it was mentioned as early as 1950, by none other than Claude Shannon:

      >""under perfect play all chess games be a the same single one outcome of the following (we just currently don’t know which one, “A” playing the white pieces): Mr. A says, “I resign” or Mr. B says, “I resign” or Mr. A says, “I offer a draw,” and Mr. B replies, “I accept"

    • By janalsncm 2026-02-242:15

      Yeah it’s confusing because there are really three “evaluations” you could have for a position

      1) god-mode 1/0/-1 which you could argue is the “true” position 2) engine centipawns which help the search algorithm 3) human evaluation which would distinguish between two positions in terms of a subjective difficulty

      For example, two positions might be 0.0 on the eval bar but one position is an obvious draw and in the other position one player has to walk a tightrope of precise moves to draw. Just because that’s obvious to a computer doesn’t mean a human can easily draw the second position.

    • By monktastic1 2026-02-2319:141 reply

      Yes, this is a huge omission, because it means that as engines improve, the stated advantage becomes increasingly meaningless to humans (which is the opposite of what we may intuitively expect).

      What I really want to know as a player is how easy it will be for me to win from this position against someone of my opponent's strength, which is admittedly a very hard thing to define, let alone compute.

      • By TurdF3rguson 2026-02-2323:30

        How likely you mean. It's the same effort to win a game as to lose a game.

  • By salamo 2026-02-241:37

    You'll also have some fun pinning down the difference between an "inaccuracy", a "mistake", and a "blunder". These are meaningful delineations for humans but not for a chess algorithm. Objectively, any amount of centipawn loss either changes the best possible outcome for the player or it does not.

    So in practice, a drop in win probability greater than 14% is considered a blunder on Lichess.

    For reference, lichess uses the following function to map centipawn advantage to the probability bar, derived from observed outcomes: https://github.com/lichess-org/lila/pull/11148

    From an ML perspective, this is basically logistic regression with a single feature. However, once we leave the realm of theoretical centipawn value and begin to optimize predictive power, we could imagine adding in other things like the players' ELOs or time remaining per player, etc.

    I think there are some interesting theoretical differences between predicted win probability derived from Stockfish CP and actual outcomes. As in, you could even imagine predicting positions where certain players struggle and steering them towards those positions. [0]

    [0] https://www.youtube.com/watch?v=KgOC1D8wkyE

HackerNews