This is how much ELO you are losing in the opening
Combining stockfish evaluations with Lichess's winning chances allows us to derive an exact amount of ELO that each opening mistake is costing you.How Much Elo Are You Really Losing in the Opening?
If you are like me, you love studying openings and perfecting your repertoire. One of the struggles I personally had was knowing which openings most needed my attention. Sure, you have a feeling for which openings are weak, but how much are these mistakes actually costing you ELO-wise? Turns out we can calculate an approximate ELO loss for every mistake, and the math is more interesting than you'd expect.
TL;DR: try it for your own games at Opening Coach
From Centipawns to Win Probability
Stockfish speaks centipawns. A +100 cp evaluation rougly means "white is up about one pawn of equivalent advantage." But centipawns are not linearly related to winning chances: going from 0 to +100 matters far more than going from +800 to +900.
Luckily, Lichess already solved this problem. In lila/pull/11148, the team fit a logistic curve to 75,000 positions from 2300+ rated rapid games:
winProb(cp) = 1 / (1 + e^(-0.00368 × cp))
Plug in +100 cp and you get roughly 59% winning chances as a human. At +300 cp you're at about 75%. At +1000 cp, 97%. That constant 0.00368 neatly aligns with actual human winning chances given an engine evaluation.
This is the foundation. Once you can translate any position into "chance I win this game from here," you can start asking interesting questions.
The Cost of a Single Mistake
Suppose on move 7 of your pet Caro-Kann line, you always play ...Bf5, but the engine prefers ...Bg4. Stockfish says the position after your move is -40 cp (slightly worse), and after the best move it would be +20 cp (slightly better).
Convert both to win probability:
Δp = winProb(+20) - winProb(-40) ≈ 0.518 - 0.463 ≈ 0.055
≈ 0.518 - 0.463
≈ 0.055
So this single move costs you about 5.5 percentage points of expected score, every single time you reach that position.
Of course, you don't play that position in every game. If it came up in 20 of your last 500 games, the mistake's weighted contribution to your average result is:
gain = (20 / 500) × 0.055 = 0.0022
It may look small, but these things add up as we will see in the next section.
Expected Score → Elo Points
Elo is designed so that the expected score between two players follows a known curve. Invert it, and you can ask: "if my average result improves by X, how many Elo is that worth?"
ΔElo = -400 × log10((0.5 - totalGain) / (0.5 + totalGain))
When you do the math across a player's full opening repertoire, the numbers are nothing to scoff at. A typical 1500-rated player's opening mistakes often works out to 100+ Elo of pure opening debt.
What This Actually Tells You
There are a few caveats worth stating plainly:
- The estimate assumes fixing a mistake means you'd always play the engine's top move in that exact position.
- Openings interact. Fixing one mistake changes which positions you reach, which changes which other mistakes matter.
- Opening gains don't fully convert to winning chances if your middlegame and endgame don't keep pace.
But even with all that, the exercise is useful because it replaces vague anxiety ("my openings are bad") with hard data ("these six positions are costing you 42 Elo, in this order").
Try It on Your Own Games
If you want to see this analysis run on your actual Lichess games, I've been building Opening Coach, which does exactly this: pulls your games via the Lichess API, runs Stockfish on every opening position, aggregates the mistakes you keep making, ranks them by weighted Elo impact, and lets you drill them in a spaced-repetition trainer.
The math above is literally what it uses — the methodology page walks through the same derivation if you want to verify it.
It's completely free. No paywall, no "pro tier," no account required to try it. I built it because I wanted it for myself, and it seemed silly not to let others use it too.