ChessRank.org
Blog
8 september 2026

Hoe wordt nauwkeurigheid bij schaken berekend? Lichess, Chess.com en ChessRank vergeleken

Laatst bijgewerkt:

Schaaknauwkeurigheid wordt in twee stappen berekend. Eerst wordt de beoordeling van de engine in centipawns omgezet in een winkans, Win% genoemd. Daarna krijgt elke zet een score op basis van hoeveel Win% hij weggaf: een zet die niets verliest scoort 100%, en volgens de gepubliceerde Lichess-formule scoort een zet die je winkans 10 punten verlaagt ongeveer 64%. De nauwkeurigheid van de partij is een gemiddelde van die zetscores.

Lichess publiceert zijn formules. Chess.com niet. ChessRank gebruikt dezelfde twee stappen als Lichess met een eigen kalibratie. Hieronder staan de formules, een uitgewerkt voorbeeld met echte getallen en de redenen waarom dezelfde partij op elke site een andere score krijgt.

Van centipawns naar winkans

Een schaakengine geeft zijn beoordeling in centipawns, honderdsten van een pion, vanuit de partij die aan zet is. Op zich meten centipawns fouten slecht: een pion verliezen in een gelijke stelling weegt zwaar, een pion verliezen terwijl je al een toren voor staat bijna niet. Daarom wordt de beoordeling eerst omgezet in een winkans. Lichess gebruikt deze curve:

Win% = 50 + 50 × (2 / (1 + exp(-0.00368208 × centipawns)) - 1)

BeoordelingWin% van de betere kantWin% van de andere kant
0,0050,0%50,0%
+0,5054,6%45,4%
+1,0059,1%40,9%
+2,0067,6%32,4%
+3,0075,1%24,9%
+5,0086,3%13,7%

De curve is steil rond gelijkspel en vlak aan de uiteinden. Daar draait het om: hetzelfde materiaalverlies kost veel winkans in een evenwichtige stelling en heel weinig in een beslissende.

Van winkans naar zetnauwkeurigheid

Voor elke zet beoordeelt de engine de stelling ervoor en erna, beide vanuit de speler die zet. De daling van Win% wordt met een tweede gepubliceerde formule omgezet in zetnauwkeurigheid:

Accuracy% = 103.1668 × exp(-0.04354 × (winPercentBefore - winPercentAfter)) - 3.1669

Een uitgewerkt voorbeeld

  1. Voor je zet geeft de engine +1,00 voor jou aan. Win% = 50 + 50 × (2 / (1 + exp(-0.00368208 × 100)) - 1) = 59,1%.
  2. Je speelt een zet waarna de beoordeling vanuit jouw kant -0,50 is. Win% = 45,4%.
  3. De daling is 59,1 - 45,4 = 13,7 punten winkans.
  4. Nauwkeurigheid = 103,1668 × exp(-0,04354 × 13,7) - 3,1669 = 53,7% voor die zet.

Voor andere dalingen geeft dezelfde formule deze waarden:

Door de zet verloren Win%Zetnauwkeurigheid (Lichess-formule)
0100,0%
291,4%
579,8%
1063,6%
2040,0%
3024,8%

De nauwkeurigheid daalt snel bij de eerste punten en vlakt daarna af. Een reeks kleine onnauwkeurigheden kost meer dan de meeste spelers verwachten.

Hoe de nauwkeurigheid van de partij wordt samengesteld

De partijscore is niet simpelweg het gemiddelde van de zetscores. Neem vijf zetten met 100, 100, 100, 100 en 20. Het rekenkundig gemiddelde is 84%. Het harmonisch gemiddelde, dat door de slechtste waarden wordt bepaald, is ongeveer 56%. Elke site kiest zijn eigen weg tussen die twee getallen.

  • Lichess weegt zetten naar hoe wisselvallig de stelling was in een schuivend venster van zetten, en combineert dat gewogen gemiddelde met een harmonisch gemiddelde. Zetten in scherpe, schommelende stellingen tellen zwaarder.
  • Chess.com publiceert zijn manier van middelen niet.
  • ChessRank mengt het rekenkundig gemiddelde met het harmonische, zodat één blunder de partijscore meer drukt dan een gewoon gemiddelde, maar minder dan een zuiver harmonisch gemiddelde.

Voor de zetlabels die uit dezelfde dalingen komen, zie Blunder vs fout vs onnauwkeurigheid: wat is het verschil? Voor de oudere maat op basis van ruwe centipawns, zie Centipawn-verlies (ACPL) uitgelegd.

CAPS2 van chess.com: wat openbaar is en wat niet

De nauwkeurigheid van chess.com komt uit CAPS2, dat een eigen, gesloten systeem is. Openbaar is hoe het product zich gedraagt: Game Review geeft elke kant een nauwkeurigheidsscore, labelt elke zet en toont een Game Rating, dat volgens het helpcentrum van chess.com "wordt bepaald door de kwaliteit van je zetten te vergelijken met wat van een speler op jouw ratingniveau wordt verwacht". Gratis accounts krijgen één volledige Game Review per dag. Platinum biedt onbeperkte Game Review en Diamond voegt onbeperkte uitleg van de coach toe.

Niet openbaar zijn: de formule van beoordeling naar zetscore, de gewichten voor de partijscore, de engine-instellingen en de precieze labelgrenzen. Wie zegt de formule van CAPS2 te kennen, gokt of reconstrueert haar.

Hoe ChessRank je partijen analyseert

Deze sectie is de referentie voor hoe de analyse van ChessRank werkt. Elk punt komt uit de code van de site.

  • Engine. Stockfish, gecompileerd naar WebAssembly, draait in je browser op je eigen apparaat. Er wordt niets geïnstalleerd.
  • Diepte. Elke stelling van de partij wordt tot diepte 14 doorgerekend. De partijanalyse bewaart per stelling de twee beste varianten van de engine, die ze nodig heeft voor het label Great. Het Report analyseert veel partijen tegelijk en bewaart één variant, dus het geeft nooit Great en zijn getallen voor een partij kunnen iets afwijken van de partijanalyse.
  • Vooraf berekende openingen. Ongeveer 10.000 openingsstellingen zijn opgeslagen met vooraf berekende beoordelingen, 99,45% ervan op diepte 40 of meer, elk met maximaal vier engine-varianten. Is een stelling uit je partij er een van, dan wordt de opgeslagen beoordeling gebruikt in plaats van een nieuwe berekening.
  • Eindspeltabellen. Syzygy-tablebases worden gebruikt in de stellingsanalyse en door de optionele Go deeper-knop van de partijanalyse. Ze worden nooit gebruikt voor de nauwkeurigheid, de labels of de rating van een partij.
  • Waar de score wordt berekend. Je browser stuurt de zetten en de beoordelingen van de engine naar de beoordelingsserver van ChessRank, die de labels, de nauwkeurigheid en de ratingschatting teruggeeft. De server bewaart de partij niet.
  • Win%. Beoordelingen worden omgezet in winkansen met een logistische curve van dezelfde vorm als bij Lichess, met een eigen helling. Zeer grote beoordelingen worden afgetopt, en een gedwongen mat telt als een heel groot voordeel dat kleiner wordt naarmate het mat verder weg ligt.
  • Zetnauwkeurigheid. Een exponentiële curve van de Win%-daling, dezelfde vorm als bij Lichess, met constanten afgestemd op Game Reviews van chess.com van echte partijen. Boekzetten en zetten met maar één legale mogelijkheid scoren 100%. Een kant waarvan elke zet boek, gedwongen of de eerste keuze van de engine was, scoort precies 100%.
  • Partijnauwkeurigheid. Een mengsel van het rekenkundig en het harmonisch gemiddelde van de zetnauwkeurigheden. De nauwkeurigheid per fase (opening, middenspel, eindspel) gebruikt een groter harmonisch aandeel.
  • Labels. Onnauwkeurigheid, fout en blunder volgen uit de grootte van de Win%-daling. Best is de eerste keuze van de engine. Great is de beste zet wanneer de op één na beste variant veel slechter is. Brilliant is een offer dat de engine als correct bevestigt. Miss betekent dat een gewonnen stelling of een gedwongen mat werd weggegeven zonder de partij te verliezen. Book komt uit een lijst van benoemde openingen en Forced markeert een zet met één legale mogelijkheid. De laatste zet van een partij krijgt nooit het label onnauwkeurigheid, fout of blunder. ChessRank toont standaard eigen namen, in de Instellingen kun je de bekende kiezen.
  • Kosten. Gratis, zonder account en zonder daglimiet.

Waarom dezelfde partij op elke site anders scoort

LichessChess.comChessRank
EngineStockfish 19 voor serveranalyse, plus analyse in de browserNiet gepubliceerdStockfish (WebAssembly) in je browser
RekendiepteNiet vermeld in onze bronnenNiet gepubliceerd14 per stelling, vooraf berekende openingen op 40 of meer
Waar het draaitServers van Lichess of je browserServers van chess.comEngine in je browser, score op de server van ChessRank
Openbare nauwkeurigheidsformuleJaNee (CAPS2)Methode hierboven beschreven, constanten niet gepubliceerd
ZetlabelsOnnauwkeurigheid, fout, blunderVolledige reeks van Brilliant tot BlunderVolledige reeks van Brilliant tot Blunder, plus Forced
Ratingschatting per partijNeeJa (Game Rating)Ja
Gratis limiet40 serveranalyses per dag, analyse in de browser onbeperkt1 volledige Game Review per dagGeen daglimiet

Drie dingen verschuiven het getal. Verschillende engines en dieptes zien verschillende beste zetten, vooral in scherpe stellingen. Verschillende curves maken van dezelfde beoordelingsdaling een andere zetscore. En verschillende middelingsregels wegen slechte zetten anders. Meer over verschillen tussen engines lees je in Waarom kunnen onze resultaten licht afwijken van andere platforms? Hoe nauwkeurigheid samenhangt met speelsterkte, lees je in Nauwkeurigheid bij schaken per rating, en het sterktegetal per partij in Game Rating van chess.com uitgelegd.

Veelgestelde vragen

Wat is de formule voor schaaknauwkeurigheid?

Lichess publiceert haar in twee delen. Win% = 50 + 50 × (2 / (1 + exp(-0.00368208 × centipawns)) - 1) zet een beoordeling om in winkans, en Accuracy% = 103.1668 × exp(-0.04354 × (winPercentBefore - winPercentAfter)) - 3.1669 geeft elke zet een score op basis van de verloren winkans. Chess.com publiceert zijn formule niet.

Wat is CAPS2?

CAPS2 is het gesloten systeem waarmee chess.com de nauwkeurigheid in Game Review berekent. Chess.com publiceert de formule, de gewichten en de engine-instellingen niet. Openbaar is alleen de uitkomst: een nauwkeurigheid per kant, een label per zet en een Game Rating.

Waarom is mijn nauwkeurigheid anders op Lichess en chess.com?

De twee sites gebruiken andere engines en instellingen, andere curves van beoordeling naar zetscore en andere manieren om zetten te middelen tot een partijscore. Lichess weegt zetten bovendien naar hoe wisselvallig de stelling was. Een verschil van een aantal punten voor dezelfde partij is normaal.

Wat betekent winkans bij schaken?

Winkans is de beoordeling van de engine omgezet in een kans om te winnen tussen 0 en 100. Op de Lichess-curve is +1,00 ongeveer 59% en +3,00 ongeveer 75%. Nauwkeurigheidsformules meten hoeveel van die winkans elke zet heeft weggegeven.

Is nauwkeurigheid hetzelfde als gemiddeld centipawn-verlies?

Nee. Gemiddeld centipawn-verlies telt ruwe beoordelingsdalingen op, dus een pion verliezen kost evenveel in een gewonnen als in een gelijke stelling. Nauwkeurigheid zet beoordelingen eerst om in winkans, dus dezelfde pion kost veel minder als de partij al beslist is.

Gebruikt ChessRank eindspeltabellen voor de partijnauwkeurigheid?

Nee. Syzygy-tablebases worden alleen gebruikt in de stellingsanalyse en door de optionele Go deeper-knop. Nauwkeurigheid, zetlabels en ratingschatting komen uit Stockfish-berekeningen tot diepte 14 en uit de vooraf berekende openingsstellingen.

Bronnen

De formules voor Win% en nauwkeurigheid en de beschrijving van de middeling bij Lichess komen van lichess.org (lichess.org/page/accuracy), de analyselimieten van Lichess van lichess.org/features. De definitie van Game Rating en de limieten van Game Review komen uit het helpcentrum van chess.com. Gegevens over ChessRank komen uit de eigen code. ChessRank is een onafhankelijk project en is niet verbonden aan, goedgekeurd of gesponsord door Chess.com of Lichess.