ThinkWork

Position Bias, Verbosity Bias, Self-Preference: The Three Ways Your AI Scorer Is Lying to You

LLM-as-judge systems carry structural biases that no accuracy metric will surface. Here is how to find them before they cost someone a job or a deal.

If you are running an LLM to score sales calls, written pitches, or roleplay transcripts at scale, you have almost certainly validated it by checking whether the model agrees with itself. Run the same transcript twice, get the same score, call it reliable. That is not validation. That is checking whether a broken ruler is consistently broken. The three structural biases documented in LLM judge research: position bias, verbosity bias, and self-preference, will not show up in your inter-rater reliability figures. They will show up in your people decisions and your deal quality, and by then you will have forgotten you ever made a scoring choice at all.

What "structural bias" actually means here

A structural bias is not random noise. Random noise averages out. A structural bias is a consistent directional skew baked into how the model was trained, meaning every score it produces is nudged in the same direction by a factor that has nothing to do with quality. You cannot fix it by running more assessments. You amplify it.

The three below are not hypothetical. They are documented in published research on LLM evaluation systems (including work from Stanford and DeepMind), replicated across model families, and directly relevant to any sales-enablement or QA scoring deployment.

Failure Mode 1: Position Bias

Give an LLM judge two candidate responses and ask which is better. The model will favour the one that appears first in the prompt, at a rate meaningfully above chance, even when the responses are identical or the second is objectively stronger by the model's own stated criteria.

Why? Training data. Human preference datasets used in RLHF are themselves positionally biased: reviewers get tired, prime their judgements on what they read first, and annotate accordingly. The model learned that pattern.

What this looks like in practice. You are scoring discovery call transcripts from two reps. Rep A's call appears first in the batch file your pipeline processes. Rep B's call is substantively better: sharper questions, cleaner control of the agenda, a confirmed next step. The LLM scores Rep A at 78 and Rep B at 71. Neither score triggers a confidence warning. Rep B's manager asks why her rep keeps underperforming on assessments. Nobody has an answer because nobody tested for this.

How to surface it. Take 20 scored pairs. Invert the order, put the second response first, and re-score without changing anything else. If your scores shift by more than 3-5 points consistently, you have a position effect. Most teams find they have never done this.

Failure Mode 2: Verbosity Bias

LLM judges systematically rate longer responses more favourably, independent of whether the additional length adds meaning. A rep who says "I hear you on the budget concern: we have had three clients in your sector move forward with phased contracts, and I can show you how that worked" scores lower than a rep who says the same thing wrapped in two additional sentences of preamble and a closing summary. Same information. Different word count. Different score.

This is not subtle. In published evaluations, verbosity bias has been shown to inflate scores by 8-15% for responses that are longer but not better. In a call-scoring context, that means you are systematically rewarding reps who talk more, which is frequently the opposite of what good sales looks like.

The sales-specific problem. Talk-to-listen ratio is a genuine signal of call quality. If your AI scorer is verbosity-biased, it will fight directly against that signal. A rep who holds discipline, asks a tight question, and shuts up will score lower than a rep who rambles confidently. You are not measuring skill. You are measuring output volume. If you want a sense of what calibrated benchmarks on that ratio actually look like, the Cold Call Talk-to-Listen Ratio Scorecard gives you a human-validated baseline to cross-reference against.

How to surface it. Take five mid-scoring transcripts. Pad each one by adding a generic introductory sentence and a closing restatement of the same content, changing nothing substantive. Re-score. If scores improve, you have verbosity bias. In my experience running this test, teams find it on the first attempt roughly 70% of the time.

Failure Mode 3: Self-Preference

If your AI scorer was built on the same model family that generated the training responses, sample answers, or rubric exemplars in your system, it will preferentially score responses that resemble its own outputs more highly than responses that are equally valid but stylistically different.

This is the most insidious of the three because it is invisible unless you specifically test for it, and because the failure mode sounds like quality. The model is not rewarding bad answers. It is penalising good answers that do not sound like it.

What this looks like in a certification context. You are running a written pitch certification. Your exemplar "gold standard" responses were generated or refined with GPT-4. You are now using GPT-4 (or a fine-tuned variant) as your judge. A rep who writes in a punchy, direct style, short sentences, no hedging, crisp structure, scores 66. A rep who writes in a more expansive, qualification-heavy style that mirrors how LLMs naturally generate text scores 79. The second rep is not better. They just sound more like the model.

How to surface it. Source five responses that a competent human marker would score at 80+, written by humans in varied styles. Score them with your LLM judge. Then generate five responses to the same brief using the underlying model itself. Score those too. If the model-generated responses score materially higher than the human-written ones of equivalent quality, you have self-preference contamination. You can run a quick structural check using the Human vs AI Scoring Agreement Checker to see where the divergence sits.

The one audit you can run this week

You do not need a research team. You need two hours and a willingness to find bad news.

Audit stepWhat you are testingPass condition
Order inversion on 20 pairsPosition biasScore delta under 4 points consistently
Pad 5 transcripts by ~15%Verbosity biasNo meaningful score increase
Compare human vs LLM-generated exemplarsSelf-preferenceHuman-written responses score within 5 points
Human marker scores same 10 transcripts blindCalibration anchorAgreement within one grade band on 8 of 10

The fourth row is the one most teams skip, and it is the only one that grounds everything else. Without a human calibration anchor, you are still just checking whether the ruler is consistently broken. If your QA or enablement team does not have a calibration benchmark, the Cold Call Certification Scorecard gives you a structured human-validated rubric to start from.

A score you have not stress-tested is a prior

The argument here is not that LLM scoring is wrong. Used well, with human sign-off at the margins, it scales something that previously did not scale at all. The argument is narrower: a score that has never been tested against a known failure mode is not a measurement. It is an assumption wearing a number's clothes.

Position bias, verbosity bias, and self-preference are not edge cases. They are the default behaviour of every LLM judge that has not been explicitly corrected for them. The correction is not complicated. It requires someone deciding that "the model agreed with itself" is not the same as "the model was right."

Run the audit. Find out which of the three you have. Then decide what to do about it with your eyes open, rather than after the score has already done its damage.

New posts

Get new posts in your inbox.

A fresh post most mornings. No digest spam, no course funnel, just the post, and one click to stop. Prefer a reader? Subscribe by RSS.

Alerts start right away. Unsubscribe any time.