← All writing
Evaluation · 5 min read · 24 Oct 2026

Reading an LLM Leaderboard Without Mistaking Rank for Capability

A leaderboard position is a compressed, leaky summary of a benchmark, not a verdict on how good a model actually is. Here is how to read one properly.

Cover image for the article: Reading an LLM Leaderboard Without Mistaking Rank for Capability

Why rank feels like truth

Leaderboards are seductive because they compress a messy, multi-dimensional question, how good is this model, into a single number and a position. A table with model names down the left and a score column on the right looks like a race result. It invites the same reading: whoever is first is best. But a benchmark score is the output of a long chain of choices, which tasks were included, how they were sampled, how answers were graded, which prompt template was used, and each of those choices can move a model several ranks without touching its underlying capability at all.

I think the right mental model is that a leaderboard is a snapshot of performance on one fixed test under one fixed protocol, not a measurement of a general property called intelligence or reasoning. Treating rank as capability is a bit like judging two runners by who won a single race, ignoring that one ran with the wind at their back, on a shorter track, against weaker competition that day. The number is real. What it licenses you to conclude is much narrower than it looks.

This matters practically because people make expensive decisions off these tables: which base model to fine-tune, which API to put into production, which paper's claims to trust. If the leaderboard is quietly leaking information or averaging away the thing you actually care about, those decisions are built on sand. None of this means leaderboards are useless. It means they need to be read the way a careful reviewer reads a results table, with an eye for what could be inflating or deflating each number.

Contamination and the illusion of generalisation

The first thing I check is whether the benchmark data could plausibly have leaked into training. Large language models are trained on enormous, loosely curated web crawls, and popular benchmarks have been online, discussed, and copied for years. If even a modest fraction of test questions or close paraphrases of them appear in training data, a model can score well by recall rather than by reasoning. This is not a hypothetical edge case; it is a structural risk whenever training data and evaluation data are drawn from overlapping sources, which is most of the time.

Here is a concrete way to think about the size of the effect. Suppose a benchmark has one thousand questions and a model has genuinely memorised answers to one hundred of them through contamination, scoring 95 percent on those by recall. On the remaining nine hundred genuinely unseen questions it reasons honestly and scores 55 percent. The blended leaderboard score comes out at around 59.5 percent. A competitor with zero contamination and a true 58 percent reasoning ability would sit just below it on the table, despite being arguably the more capable general-purpose model. A one or two rank difference on the public board can be entirely explained by differential contamination rather than differential skill.

Good leaderboards now try to mitigate this with held-out or refreshed test sets, canary strings to detect leakage, and decontamination filtering before training. When I look at a leaderboard, I specifically look for whether the maintainers describe any of these safeguards. If a leaderboard gives no information about how it checked for contamination, I treat the absolute scores as soft and focus more on relative robustness across several independent benchmarks than on the exact ranking of any one.

laptop screen showing data table

Aggregation hides the dimension you actually care about

Most public leaderboards report a single composite score averaged across many subtasks: some maths, some coding, some commonsense reasoning, some reading comprehension. Averaging is convenient for producing one sortable column, but it quietly assumes that a point gained on a coding subtask is worth the same as a point gained on a commonsense subtask, and that your use case cares about them in the same proportion as the benchmark designer did. It almost certainly does not.

Imagine two models on a composite benchmark made of four equally weighted subtasks. Model A scores 80, 80, 80, and 40. Model B scores 65, 65, 65, and 65. Both average exactly 72.5 and would sit at the same position on the leaderboard. But if your application is squarely the subtask where Model A scored 40, say structured data extraction, then Model A is the worse choice for you despite being tied on the headline number. The composite score has erased the one piece of information that mattered for your decision.

There is also the question of statistical noise, which leaderboards rarely surface at all. A score of 72.5 percent on five hundred test items carries meaningful sampling uncertainty; two models separated by a single percentage point are very often not distinguishable given that uncertainty, yet the table will still rank one strictly above the other. Some evaluation frameworks report confidence intervals or use paired statistical tests across models on the same items, and when they do, it is common to find that a chunk of the visible ranking order is not statistically significant. Treat small gaps as ties unless you have evidence otherwise, and always look for the subtask breakdown before trusting the average.

A practical checklist

When I actually need to choose a model, I no longer start from the leaderboard position. I start from the task I care about and work backwards. First, I check whether the benchmark's subtasks resemble my actual use case closely enough to be informative at all; a strong score on competitive maths problems tells me very little about summarisation quality. Second, I look for decontamination methodology and treat scores from boards with none as directionally useful but not precise.

Third, I look past the composite number to the per-category breakdown and weight it by what matters to my application, effectively recomputing my own small leaderboard from the published components. Fourth, I treat any gap smaller than a few percentage points as noise unless the source reports significance testing, and I prefer boards that disclose sample sizes and variance over those that only show a single clean number. Finally, where it is feasible, I run a small, leakage-aware evaluation of my own on held-out examples that resemble my real workload, because the single most reliable signal is still performance on data that the model could not possibly have seen and that looks like the problem I am actually trying to solve.

research paper with highlighted statistics
← All writing See the project case studies →