Skip to content

Human Preference Evaluation

8 min readbuilds on Tool and Agent 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,

P(A≻B)=11+10(RB−RA)/400=σ ⁣(ln⁡10400(RA−RB)).P(A\succ B)=\frac{1}{1+10^{(R_B-R_A)/400}} =\sigma\!\left(\frac{\ln 10}{400}(R_A-R_B)\right).

Here σ(x)=1/(1+e−x)\sigma(x)=1/(1+e^{-x}). The factor ln⁡10\ln 10 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:

RA′=RA+K(SA−EA),R_A' = R_A+K(S_A-E_A),

where SAS_A is 1 for a win, 0 for a loss, or 0.5 for a tie, and EAE_A is the current expected score. The other participant receives the opposite update. A larger KK 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 KK 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.

A seeded toy tournament with known assumed strengths. A fixed online update rate leaves fluctuations; the display is not a reproduction of Arena ratings.

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