Human Preference Evaluation
One local preference vote
Authored responses to “Explain a Python list to a beginner.” This demonstration sends no votes anywhere.
A: A Python list stores items in order. For example, [2, 4, 6] is a list of three integers.
B: A list is an ordered collection you can change. The list [2, 4, 6] contains three items; its first item is at index 0.
A: 1000.0; B: 1000.0. 0 local votes. Next expected score for A: 50.0%.
This uses the online Elo update with K = 32. Repeated clicks are not independent evidence about public preference.
For an explanation, a summary, or a piece of writing, several answers can be correct while one is much more useful to the reader. A fixed answer key captures only part of that difference. Pairwise preference evaluation asks people to compare two responses to the same prompt.
The resulting score describes preferences under the sampled prompts, raters, and instructions. Choosing those samples determines whose needs the comparison represents.
This follows tool-agent evaluation. There, the task often supplied an executable success criterion. Here, the criterion includes human judgment, so we need to specify who rates the responses and how.
What a pairwise comparison records
A useful comparison hides model identities, randomizes response position, and gives the rater a clear task. It should allow ties or another explicit way to record no meaningful preference. A rater who values concise explanations may disagree with one who wants a worked example; neither vote becomes a transcription error just because they differ.
The Chatbot Arena research platform collects anonymous pairwise comparisons on user prompts and uses them to estimate relative model strength. Its participants and prompts are not a random sample of every potential user. The resulting ranking describes that evaluation population, subject to the platform’s filtering and statistical procedure.
For a product-specific evaluation, sample prompts from the use you care about and recruit appropriate raters. Keep categories such as code assistance and factual explanation visible when their requirements differ. A single aggregate can conceal a model that helps one group and frustrates another.
From votes to a rating
The Bradley–Terry model assigns a scalar strength to each competitor and models pairwise preferences from differences in strength. For decisive A/B comparisons, on the conventional Elo scale,
Here . The factor is necessary when switching from base-10 Elo notation to a natural-exponential sigmoid. A 100-point difference corresponds to about 64% predicted preference; 400 points corresponds to about 90.9%.
A rating difference implies a modeled preference
Bradley–Terry probabilities expressed on the conventional base-10 Elo scale; a no-tie toy model.
P(A beats B) = 1 / (1 + 10-100/400) = 64.0%.
0-point gap: 50%. 100-point gap: 64.0%. 400-point gap: 90.9%. Adding the same constant to both ratings changes none of these probabilities.
Only differences are identifiable. Adding 500 points to every model changes no pairwise probability. The chosen rating baseline is a convention, not an absolute unit of capability.
Online Elo updates a rating after each comparison:
where is 1 for a win, 0 for a loss, or 0.5 for a tie, and is the current expected score. The other participant receives the opposite update. A larger reacts more quickly and leaves larger fluctuations.
Arena-style Bradley–Terry fitting estimates strengths from the collected comparison data rather than merely choosing a small Elo and replaying votes. Tie handling, regularization, sampling weights, and uncertainty estimation are part of the implementation. State those choices when comparing rating systems.
Online Elo learns from noisy outcomes
Seeded synthetic matches sampled from three fixed Bradley–Terry skills. K = 16, no ties; all ratings start at 1000.
- System A: assumed skill 1100; estimated rating 1064.6.
- System B: assumed skill 1000; estimated rating 984.4.
- System C: assumed skill 900; estimated rating 951.0.
The mean stays at 1000 because each match transfers equal and opposite points. A fixed K leaves ongoing fluctuations; this display does not claim a confidence interval or exact convergence.
This example computes one online Elo update.
A single scalar ranking is also an approximation. Preferences can vary by task and rater, and can be nontransitive. Inspect subgroup results and model fit rather than assuming every comparison is explained by one underlying number.
Agreement and uncertainty
Agreement depends on the raters and questions
Constructed votes for four response pairs. A and B identify the two responses in each pair.
- Rater 1
- A, A, B, B
- Rater 2
- A, B, B, B
- Rater 3
- B, B, A, A
- Pairwise agreement
- Raters 1 and 2 agree on 3/4 = 75%; raters 1 and 3 on 0/4 = 0%; raters 2 and 3 on 1/4 = 25%.
Agreement is a property of the raters, examples, and rubric being studied. Low agreement can reflect ambiguous instructions, small quality differences, legitimate taste differences, or inconsistent annotation.
Disagreement does not impose a fixed minimum detectable win rate. A small preference difference can be estimated with enough informative observations. Conversely, many repeated votes on similar prompts may add less information than their count suggests.
Uncertainty in a two-system comparison
Independent binary votes with no ties, using an approximate 95% Wilson interval transformed to an Elo gap. This is not Arena’s multi-model bootstrap.
Estimated rating gap: 0.0. Interval: -67.7 to 67.7.
Repeated prompts and raters can make the independence assumption inappropriate.
Arena’s multi-model setting also involves the comparison graph: which systems faced which opponents and on what prompts. Bootstrap procedures or other uncertainty estimates need to respect the data collection process. Overlapping individual rating intervals are not a complete significance test for a paired difference; report uncertainty on the comparison you actually want to make.
Do not compare absolute ratings across unrelated snapshots as if their origins were fixed. The prompt mix, model versions, opponents, and fitting conventions may differ.
Presentation can affect the outcome
A longer answer may contain more useful detail, or it may merely look thorough. Headings and lists can make an answer easier to use, even when the factual content is unchanged. Whether that should count depends on the task and rubric.
Hold the facts fixed before comparing presentation
Authored variants containing the same three facts. No preference result is assumed.
- Plain paragraph
- A Python list is ordered. A Python list is mutable. A Python list can contain mixed types.
- List format
- • A Python list is ordered. • A Python list is mutable. • A Python list can contain mixed types.
- How to compare
- Randomize which side each version appears on, collect judgments under a defined rubric, and preserve ties. Presentation can improve readability; whether it should count depends on the task.
A controlled formatting comparison should preserve substantive content, randomize positions, and collect judgments. If the formatted answer also adds an equation or corrects a mistake, the comparison no longer isolates presentation.
Length-controlled AlpacaEval fits a statistical model of judge preferences using answer-length difference and other features, then predicts preferences with the length difference set to zero. This aims to estimate how the comparison would look at equal lengths under the fitted model.
What length control estimates
- Observe
- Collect pairwise judgments, answer lengths, and the relevant prompt and model identifiers.
- Fit
- Model the judgments using length difference and the other specified predictors.
- Adjust
- Predict the modeled preference with the length difference set to zero.
- Interpret
- This is a model-dependent counterfactual. Show it alongside the original preferences and inspect residual biases.
Arena’s published style-control analysis likewise adds length and markdown features to a preference model. It is a statistical adjustment, not simply an instruction to annotators to ignore formatting. Looking at both adjusted and unadjusted results makes the estimand clearer: ordinary user preference may legitimately include readability, while another analysis may try to isolate different aspects of the responses.
Using a model as the judge
A language model can apply a rubric to many response pairs at lower marginal annotation cost. Its model version, instructions, response order, and treatment of ties all matter.
Zheng et al.’s MT-Bench and Chatbot Arena study examined agreement with human judgments and biases including position and verbosity. Agreement in a particular study does not establish interchangeability with humans on every task. Validate a judge against held-out human ratings for your domain, inspect disagreements, and test position swaps.
Generated responses can also contain text aimed at influencing the judge rather than answering the user. Keep the rubric and quoted responses clearly separated, and test adversarial examples.
Use preference alongside task performance
Preference and correctness answer different questions
A disagreement between metrics does not identify its cause.
- Task correctness
- On fixed test items, did the output meet the answer or execution criterion?
- Pairwise preference
- On sampled prompts, which response did the sampled raters prefer under the stated rubric?
- If rankings differ
- Inspect paired outputs and prompt categories. Possible differences include correctness, relevance, detail, presentation, and the populations being sampled.
- What a scatter cannot show
- Correlation alone cannot establish that one model is “style-optimized” or another is “capable but terse.”
If a model is preferred but fails more factual or execution checks, inspect the outputs. It might be clearer, more responsive, more detailed, or more persuasive while wrong. The aggregate disagreement does not identify which explanation is true.
A writing assistant needs evidence about reader preference; a coding tool also needs executable correctness checks. Keep the prompt population and cost budget comparable across systems, and use a final holdout after choosing prompts, judges, or model settings.
The last post in this arc asks a related question about individual predictions: when confidence supports an answer, and when to abstain.
Additional reading
- Chiang et al., Chatbot Arena. Pairwise data collection, statistical ranking, and uncertainty.
- Zheng et al., Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena. Human agreement studies and evaluator biases.
- Dubois et al., Length-Controlled AlpacaEval. Regression-based length adjustment and its intended counterfactual.
- Arena, Does Style Matter?. The published adjustment for answer length and markdown features.