Apply to my task
arXiv:2603.09309 ★ 87 Mar 10, 2026

A 0–20 Scale Instead of 0–100: How to Get an Honest Confidence Score from an LLM

Key result

78% of confidence scores are three numbers: 90, 95, 100. Ask a model "how confident are you?" and you almost always get "95". No matter how hard the question is. This method gets you a real confidence signal — you instantly see where to trust the answer and where to double-check. Switch the scale from 0–100 to 0–20: a 0–100 scale has about twenty "magnetic" anchors that are multiples of five — 50, 55... 95, 100. On 0–20 there are only five. The model is forced to give 7, 12, 17 — real gradations instead of the eternal "95".

01

TL;DR

Ask a model to rate its confidence on a 0–100 scale and it will almost always say 90, 95 or 100 — which is useless. Switching the scale to 0–20 gives a much more accurate signal, because the model is forced to use more gradations instead of sticking to round numbers.

The problem is that an LLM treats numbers as tokens, not as points on a scale. "90", "95" and "100" are popular tokens in the training data, so the model gravitates toward them. Out of 101 possible values, models actually use only 15 to 28, and over 78% of answers land on just three numbers. Ask "how confident are you?" and you get "95" nearly every time, regardless of the real confidence.

A 0–20 scale cuts down the "magnetic" round numbers (0, 5, 10, 15, 20 — just five anchors versus twenty on a 0–100 scale). The model has to use in-between values — 7, 12, 17 — which gives you a real signal about how confident it is.

Want this for your own case? Apply this study to your task: AI adapts its method to what you are working on and writes the prompt.

02

Method Blueprint

Everything happens in a single prompt:

STANDARD (bad):
"Rate your confidence from 0 to 100" → the model answers 90-95-100 in 78% of cases

REPLACEMENT (works):
"Rate your confidence from 0 to 20,
 where 0 means no confidence and 20 means absolute certainty"
→ the model uses the real range, the signal is readable

One step. You change only the scale range in the prompt.

03

Example

Task: You're preparing an investor pitch and asked Claude to analyze the US EdTech market. You want to know which facts in the answer you can trust and which ones you should double-check yourself.

Prompt:

Analyze the US EdTech market in 2024–2025: 
market size, key players, growth dynamics.

After every specific fact or figure, put in parentheses 
your confidence score on a scale from 0 to 20, 
where 0 means I'm not sure at all and 20 means absolutely accurate information.

For example: "The market size was ~$X billion (confidence: 12/20)"

Result:
The model produces an analysis where every claim carries a confidence score with real differentiation. Specific figures might get 8-12, well-established facts 16-18, debatable estimates 5-7. You immediately see what to double-check first, instead of getting the same "95" on every fact.

04

Why It Works

An LLM generates numbers as text, not as points on a scale. The number "95" showed up far more often in training data in the context of confidence ("I'm 95% sure") than the number "87". So the model picks popular tokens — and a confidence of 95 looks like a default answer, not a real estimate.

A 0–100 scale has ~20 "magnetic" multiples of five: 50, 55, 60... 95, 100. They pull in most of the answers. A 0–20 scale has only five such anchors: 0, 5, 10, 15, 20. Fewer anchors means less distortion and more real information in the in-between values.

Control levers: - Shrink the scale to 0–10 → if you need a rough estimate fast (saves context) - Keep the scale at 0–20 → the sweet spot for most tasks - Don't compress the lower bound (like "30–100" or "60–100") → it degrades the signal, the model clusters at the top - Add semantic labels ("0 means not sure at all, 20 means absolute certainty") → without them the model calibrates worse

05

Prompt Template

{Main task or question}

Rate your confidence in {the answer / each claim / each fact} 
on a scale from 0 to 20 as an integer, 
where 0 means no confidence and 20 means absolute certainty.

{Output format: in parentheses after each fact / at the end of the answer / as a separate block}

Placeholders: - {Main task} — your usual question or assignment - {the answer / each claim / each fact} — choose what to rate: the whole answer or each fact separately - {Output format} — how to show the scores: in parentheses after each sentence, as a block at the end, as a table


🚀 Quick start — paste into the chat:

Here's a template for rating confidence on a 0–20 scale. 
Adapt it to my task: {your task}.
Ask me questions to fill in the fields.

[paste the template above]

The LLM will ask about the task content and the output format for the score — because that determines whether to put scores after each fact or give a single final number.

06

Limitations

⚠️ A 0–5 scale is too coarse: Five values aren't enough to tell confidence levels apart. In almost every model it's the worst result. The minimum workable option is 0–10, the sweet spot is 0–20.

⚠️ Compressing the lower bound hurts: If you use a "60–100" scale instead of "0–100", the result is worse than the standard scale. The model crowds at the top and uses only a fraction of the available range. Don't do it.

⚠️ The number "100" is a special magnet: Even replacing "0–100" with "0–97" slightly improves the result. The value 100 itself acts as a super-strong anchor in every model.

⚠️ The preference for multiples of five persists: Even on 0–20, models more often give 0, 5, 10, 15, 20 — but there are far more in-between values than with 0–100.

⚠️ Non-standard scales cause errors: Ask for "rate from 3 to 38" and the model will often step outside the range. Stick to standard formats: 0–20, 0–10.

07

How They Studied It

The researcher took six current models — GPT-5.2, Gemini 3.1 Pro, two LLaMA-4 and two Qwen3 — and systematically varied the confidence scale along three dimensions: granularity (from 0–5 to 0–100), shifting the lower bound (from "0–100" to "60–100") and non-standard ranges like "14–86" or "3–38". For each variant, the models answered thousands of questions from three datasets — factual knowledge, math, and misconception checks.

The key metric is metacognitive efficiency: how well the stated confidence actually predicts whether the answer is correct. It's not just "the model said 80%" — it's "when the model says 80%, it's right about 80% of the time, and that signal differs from the cases where it says 40%".

The result was surprising: 0–100 loses to 0–20 in all six models, no exceptions. And the effect is robust — for GPT and open models alike, on easy and hard questions. The sharpest finding: replacing "0–100" with "0–97" (just removing the number 100) already improves things. That shows the number 100 works as a linguistic anchor, not as the edge of a scale.

08

Original from the Paper (excerpt)

"Answer the following question. Then, provide your confidence as 
an integer between [l] and [u], where [l] means no confidence 
and [u] means absolute certainty."

Context: This is the standard prompt template from the paper, used in all experiments. [l] and [u] are the lower and upper bounds of the scale. For 0–20 it becomes: "integer between 0 and 20, where 0 means no confidence and 20 means absolute certainty".

09

Adaptations and Extrapolations

💡 Adaptation: rating the quality of a text or idea

The same logic works not only for confidence but for any numeric rating: text quality, how persuasive an argument is, how realistic a plan is. Ask "rate this text from 0 to 100" and you'll get 75, 80 or 85 most of the time.

Rate the following cold email offer on a scale from 0 to 20 
for each criterion:
- Clarity (0 — confusing, 20 — crystal clear)
- Persuasiveness (0 — doesn't convince, 20 — impossible to refuse)
- Specificity (0 — fluff, 20 — concrete details and numbers)

After the scores, explain each one in a single sentence.

[offer text]

🔧 Technique: combine with Chain-of-Thought → think first, then rate

By default in the original study, the model answers the question and immediately gives a confidence score. But reasoning first, rating second can give a more honest signal — the model "sees" its own doubts while thinking:

{Task or question}

First, break the task down step by step and identify where you have 
doubts or gaps in information.

Then give your answer and rate your confidence on a 0–20 scale, 
where 0 means not sure at all and 20 means absolutely certain.

💡 Extrapolation: a "traffic light" instead of a number

If numbers still feel abstract — ask the model to convert the score into a category:

After your answer, rate your confidence on a 0–20 scale and convert it to this format:
🔴 0–7: must double-check
🟡 8–14: worth checking the key facts  
🟢 15–20: safe to use

Format: "[score/20] [🔴/🟡/🟢] — [one sentence on why]"
10

Resources

Rescaling Confidence: What Scale Design Reveals About LLM Metacognition
Yuyang Dai — INSAIT (Institute for Computer Science, Artificial Intelligence and Technology), 2025
[email protected]

Key references from the paper: Maniscalco & Lau (2012) — the meta-d' metric; Tversky & Kahneman (1974) — anchoring effects; Zhao et al. (2021), Shaki et al. (2023) — frequency biases of numeric tokens in LLMs

Research digest

Key result

78% of confidence scores are three numbers: 90, 95, 100. Ask a model "how confident are you?" and you almost always get "95". No matter how hard the question is. This method gets you a real confidence signal — you instantly see where to trust the answer and where to double-check. Switch the scale from 0–100 to 0–20: a 0–100 scale has about twenty "magnetic" anchors that are multiples of five — 50, 55... 95, 100. On 0–20 there are only five. The model is forced to give 7, 12, 17 — real gradations instead of the eternal "95".

Principle

The model doesn't understand the scale. It sees tokens. The number "95" often appeared in training data next to the word "sure" — so it's a popular token. The model picks it as a default answer instead of computing real confidence. It's like a waiter who always recommends the same dish — not because it suits you, but because it's the habitual answer. A smaller scale cuts down the number of "magnetic" tokens — the model has to choose from in-between values. A separate fact: the number "100" is a special case. Even changing the range from "0–100" to "0–97" slightly improves the result. The value 100 pulls harder than every other anchor.

Why it works

Out of 101 possible values on a 0–100 scale, models actually use only 15 to 28. The rest of the numbers might as well not exist. Shrinking the scale to 0–20 cuts the anchors from ~20 to just 5 — and in-between values like 7, 12, 17 stop being "awkward". Adding semantic labels ("0 means no confidence, 20 means absolute certainty") strengthens the effect: without them the model gets lost in the range. Compressing the lower bound does the opposite — a "60–100" scale only degrades the signal, the model piles up at the top.

When to apply

Analysis with specific facts and figures — rate confidence for each claim, especially when you need to separate reliable data from questionable data before making a decision. Works well for: market research, technical explanations, historical facts, any answer where the model might "invent" details. NOT suitable: a 0–5 scale — too coarse; per the study it's the worst of all tested options. Don't use compressed lower bounds (60–100, 30–100) — worse than the standard version.

Mini recipe

1. Replace the range: instead of "rate from 0 to 100" write "rate from 0 to 20 as an integer" 2. Add labels: "0 means no confidence, 20 means absolute certainty" — without them the result is noticeably worse 3. Choose the output format: in parentheses after each fact (confidence: 12/20) — or as a summary block at the end 4. Leave the lower bound alone: a "60–100" or "30–100" range pulls the model to the top — worse than plain "0–100"

Examples

[BAD]: `How confident are you in your answer? Rate from 0 to 100.` [GOOD]: `Analyze the key competitors in the online education niche. After every specific fact or figure, put in parentheses a confidence score on a scale from 0 to 20 as an integer, where 0 means not sure at all and 20 means absolutely certain. Format: 'Market size — $X billion (confidence: 12/20)'`

In plain words

Here's the core problem: modern models are pathological liars when it comes to how right they are. Ask a model to rate its confidence on a 0 to 100 scale and it acts like a cocky intern: it almost always slaps on 90, 95 or 100. That's because an LLM doesn't "feel" probability, it just generates text. In the training data, the phrase "I'm 95% sure" shows up thousands of times more often than "my confidence is 83%". So instead of a real risk estimate we get useless noise.

It's like asking a friend for directions and getting the same answer every time: "Trust me, I'm positive." After a couple of tries you realize his "positive" is worthless, because he says it both when he actually knows the way and when he's just guessing. The model simply sticks to popular tokens, turning the scale into an on/off switch: either "no idea" or "absolutely yes". The researchers found that the root of the trouble is scale design, which nudges the model toward socially expected round numbers.

The fix turned out to be almost embarrassingly simple: just change the scale. Make the model rate itself on a scale from 0 to 20, and the spell of "pretty numbers" breaks. In this range the model has no memorized patterns like "95% sure", so it starts using the available gradations more meaningfully. The Rescaling Confidence study showed that moving to a finer-grained small scale sharpens the signal dramatically — the model suddenly starts separating what it actually knows from where it's just hallucinating.

The principle is universal and applies to any task where you need to know whether to trust an AI's conclusions. Whether you're asking Claude to analyze a market, draft a legal contract or write code — never ask for a confidence percentage. Use a 0–20 scale or even 0–10. It pulls the algorithm out of "autoresponder" mode and switches on something like metacognition, producing a more honest result that tracks reality rather than word frequency on the internet.

Bottom line: stop trusting round numbers — they lie. If you want to know where the model is screwing up, forget percentages and make it count in small points instead. It's the cheapest and fastest way to do model calibration without any fine-tuning. Anyone who keeps believing in "95% confidence" will eventually hit a wall when the model, with a perfectly straight face, puts total nonsense into a mission-critical report.

AI lab assistant

Apply this study to your task

Describe what you're working on. AI takes the method and the measured results from this paper and adapts them to your case, or writes a ready prompt built on them.

Based on A 0–20 Scale Instead of 0–100: How to Get an Honest Confidence Score from an LLM arXiv:2603.09309

Sign in to apply this study New accounts get 50 free credits.