What a Statistician Found When They Analyzed a World Champion's Games (in Bullet Chess)

· Chess Research

In late 2023, the chess world was gripped by controversy when Grandmaster Hikaru Nakamura achieved an astonishing 45-win, 1-draw streak in online Bullet chess. Accusations of foul play quickly surfaced, driven by the sheer improbability of such a run. However, a rigorous 2025 statistical analysis by University of Toronto statistics professor Jeffrey Rosenthal concluded that the accusations were mathematically unfounded [1].

This raises a critical question for the everyday player: if a 45-game win streak isn't proof of cheating, what does "statistically suspicious" performance actually look like?

To answer this, we analyzed a dataset of over 12,800 Lichess Bullet games across rating bands from 800 to 1900 (adjusted to Chess.com equivalents). By examining centipawn loss, perfect-game rates, and win-streak probabilities, we can demystify the markers used by anti-cheat algorithms and provide a roadmap for how human players actually improve.


The Myth of the "Perfect" Game

A common misconception is that playing a game with zero blunders and a near-zero Average Centipawn Loss (ACPL) is a definitive sign of engine assistance. Our data reveals a surprising truth: "perfect" games happen all the time, even at the beginner level.

How often do legitimate players produce 'engine-clean' Bullet games?

As the chart above demonstrates, a player in the 800-1000 Chess.com rating band produces a sub-5 ACPL game (with zero blunders or mistakes) in roughly 5.8% of their games. Why? Because Bullet chess is fast and chaotic. Many games end in quick checkmates, early resignations, or timeouts before either side has the opportunity to make a mathematically significant error.

Short Bullet games look 'perfect'

When a game is short, the ACPL remains artificially low. A single "perfect" game is statistically meaningless in Bullet chess. Anti-cheat systems look for sustained perfection across long, complex games, not isolated brilliancies.

Visual Evidence: The Short "Perfect" Game

Consider this textbook opening trap. If a game ends here, the winner will have a near-zero ACPL, despite playing entirely standard, memorized moves.

Engine-clean position A standard opening sequence that results in a "perfect" engine evaluation if the game ends quickly.


The Reality of Human Error

If perfect games aren't suspicious, what does normal human play look like? The answer lies in the distribution of errors.

Average Centipawn Loss in Bullet

Remarkably, the mean ACPL barely moves as ratings increase from 800 to 1900. The average Bullet game is inherently sloppy, hovering around 110-115 ACPL regardless of the player's skill level. The difference between an 800-rated player and a 1500-rated player isn't that the 1500 plays like an engine; it's that the 1500 blunders slightly less often and capitalizes on their opponent's mistakes more efficiently.

Blunders, Mistakes, and Inaccuracies

Visual Evidence: The Human Blunder

Real human errors in Bullet often involve catastrophic, single-move blunders under time pressure.

Beginner Blunder A typical beginner blunder (red arrow) where a massive advantage is thrown away in a single move. The engine's preferred move (green arrow) maintains the advantage.


What Does a Cheater Actually Look Like?

Anti-cheat algorithms, such as those developed by Ken Regan and utilized by major platforms, do not rely on single-game ACPL [2]. Instead, they analyze the distribution of a player's moves over time, comparing them to the top choices of a chess engine (T1 match rate).

T1 Match Distribution

In Bullet chess, a high T1 match rate is surprisingly common across all rating bands, again due to forced sequences and short games.

Tail Probabilities

However, a true cheater's distribution looks fundamentally different from a human's.

Cheater vs Human Distribution

A human's ACPL distribution has a long, fat tail, representing games where they tilted, blundered heavily, or got crushed in the opening. A player using an engine will have an ACPL distribution tightly clustered near zero, lacking the natural variance of human play. It is the absence of bad games, rather than the presence of good ones, that flags a cheater.

Visual Evidence: The Engine-Tier Move

In long, complex games, humans inevitably make sub-optimal moves. An engine, however, will consistently find the absolute best continuation, even in obscure positions.

Clean Long Game In a 113-move game, maintaining a sub-5 ACPL requires finding obscure, precise moves (green arrow) consistently, rather than natural human continuations (red arrow).


The Mathematics of a 45-Game Win Streak

Returning to Nakamura's controversial streak: how likely is a 45-game unbeaten run? Using a Monte Carlo simulation based on our dataset, we modeled the probabilities for different player profiles over a 200-game session.

Profile Expected Score P(No-Loss ≥ 45) Median Longest Win Streak
Elite (3000) vs 2700 0.872 17.4% 21
Strong (2500) vs 2300 0.789 0.67% 14
Club (1700) vs 1500 0.789 0.76% 14
Beginner (1100) vs 1100 0.527 0.0% 6

Monte Carlo Win Streaks

The results are striking. For an elite player like Nakamura (rated ~3000) playing against a pool of strong but significantly weaker opponents (rated ~2700), a 45-game no-loss streak occurs in roughly 17.4% of 200-game sessions.

Far from being a statistical impossibility, such a streak is a regular occurrence for a player of his caliber against that specific opponent pool. As Rosenthal's paper concluded, the streak was entirely consistent with Nakamura's established skill level and the rating differential [1].


Actionable Advice for Climbing the Ranks

Based on the data, here is a roadmap for improving your Bullet rating:

Data and Methodology

This analysis was conducted using a dataset of 12,803 Lichess Bullet games, collected via the Lichess API. Ratings were adjusted to approximate Chess.com equivalents for clarity. The Monte Carlo simulation modeled 20,000 independent 200-game sessions for each player profile.

Chess Coach 2026-04-17


References

[1] Rosenthal, J. S. (2024). A Statistician Analyzes a World Champion's Games. Harvard Data Science Review. https://hdsr.mitpress.mit.edu/pub/ex6vbavk/release/2 [2] Chess.com. (n.d.). Chess.com Fair Play. https://www.chess.com/cheating

Frequently Asked Questions

What did the statistician conclude about Hikaru Nakamura's Bullet streak?

Jeffrey Rosenthal concluded that the cheating accusations were mathematically unfounded. The 45-win, 1-draw streak was extraordinary, but not proof of foul play.

What data did the article analyze?

It analyzed more than 12,800 Lichess Bullet games across rating bands from 800 to 1900, adjusted to Chess.com equivalents. The study looked at centipawn loss, perfect-game rates, and win-streak probabilities.

Does a perfect or near-perfect chess game prove engine use?

No. The article shows that zero-blunder or near-zero ACPL games happen regularly, even at beginner levels. A strong game alone is not enough to prove cheating.

What is ACPL in chess analysis?

ACPL means Average Centipawn Loss, a measure of how much evaluation a player loses compared with best engine moves. Lower ACPL usually means more accurate play.

What makes a chess performance statistically suspicious?

The article suggests that suspicion comes from patterns across many games, not one brilliant result. Analysts look for unusually consistent accuracy, improbable streaks, and other repeated signals.

How do anti-cheat algorithms evaluate chess games?

They use statistical markers such as centipawn loss, perfect-game frequency, and the probability of long win streaks. The article explains that these markers help distinguish normal improvement from truly unusual performance.

What can everyday players learn from this analysis?

Players can see that strong accuracy is not automatically suspicious and that improvement often looks uneven rather than perfect. The article also provides a roadmap for how human players actually improve over time.