Measured, Not Believed ← all audits
Case study · LMArena (Chatbot Arena) · reproducible

The model shown second wins more

Human preference is the gold standard. It's what we use to check whether an AI judge is any good. So it's worth asking the uncomfortable question about the human vote itself: is it fair to both sides? On the most-watched LLM leaderboard, the answer is almost — but not quite. The model shown second wins a little more often, and it isn't because it's the better model.

LMArena ranks models from blind, side-by-side human votes: you see two answers, A and B, and pick the one you prefer. The order is randomized, so over enough votes any left/right quirk should wash out. I checked whether it actually does, using the public battle data (lmarena-ai/arena-human-preference-140k).

The second-shown model wins 1.25 points more

MeasureDecisive votesPosition A winsPosition B (second) winsp
Raw 98,348 49.38% 50.62% 9.8 × 10⁻⁵
Within-matchup (controlled) 98,332 49.38% 50.62% 9.0 × 10⁻⁵

Across ~98,000 decisive votes, the model in the second slot wins 50.62% of the time versus 49.38% for the first — a 1.25 percentage-point edge, with a p-value near 10⁻⁴. Small, but far too consistent to be chance at this scale.

It's the position, not the model

The obvious objection: maybe the stronger models just happen to land in the second slot more often. If so, this is about model strength, not order. So I controlled for it the clean way — the within-matchup test.

The discriminating fact For every pair of models that met in both orders (X-vs-Y and Y-vs-X — 1,197 such matchups), I compared how often a model won from the first slot versus the second slot against the very same opponent. Strength cancels out: it's the same two models, only the order changes. The second-slot advantage survives essentially unchanged — +1.25 points, same p-value. It's the position talking, not the model. In plain terms: people lean a little toward the last thing they read.

Does this break the leaderboard? No — and that's the interesting part

Here is the honest, two-sided reading. Because LMArena randomizes A/B, each model spends about equal time in both slots, so the bias mostly averages out in the aggregate ranking. (In a separate audit I found the arena's #1 holds up decisively — so this doesn't overturn it.) The bias is real but largely laundered by the randomization.

What it does mean:

Caveats, so this is fair This is a snapshot of the released battle set. I dropped ties and "both bad" votes and measured raw win-position; I did not model per-user or per-prompt effects. The finding is about the direction and size of the order effect, which the simple within-matchup control already isolates. "Position B" is the second answer as recorded in the data; if the public dump preserves display order, this is a display-order (recency) effect.

The fix is one design choice

Randomize order and average both presentations before you score — or, better, show each matchup both ways and combine. It costs nothing and removes the thumb from the scale. The general rule is the one this whole series keeps arriving at: the measurement has its own biases, and you only find them by measuring the measurement.

Reproduce
Data: lmarena-ai/arena-human-preference-140k (public) — columns model_a, model_b, winner.
Keep decisive votes (drop tie/both_bad): 98,348. Position-B win rate = 50.62% (z = −3.90, p = 9.8e−5).
Within-matchup control: for each unordered pair present in both orders (1,197 pairs), pool wins by slot — B = 50.62%, +1.25 pp, p = 9.0e−5. Pure-stdlib, deterministic.
Before you trust a preference score

Is your eval fair to both sides?

Order effects, judge self-preference, length bias — I check the number for the biases hiding inside it, from your own released data. Independent, reproducible, plain-English.