LatentEval

INSTRUMENT | Eval statistics

Golden Set Size Planner: How Many Examples an Eval Set Needs

5 cited sources

Size a golden set from a baseline pass rate, a margin, and the drop worth catching: items per slice, a total, and a verdict on the set you already have.

100 items at a 90% pass rate puts the true rate between 82.6% and 94.5% and catches a 9.2-point drop. A five-point regression walks through. It rests on our work on how many runs an eval needs.

This page counts distinct items, per slice and in total, and grades a set you own. How many times to run each is the repeated-run planner; pricing both is the budget calculator. Report the rate afterward with the interval calculator.

What the set has to prove

The rate you expect to score. Sizing is most expensive near 50%.

Check this value.

Half the width of the reported interval, in percentage points.

Check this value.

Below the baseline. Smaller drops cost far more items.

Check this value.

Check this value.

Check this value.

What is the set scored against?

Independent arms means each system is scored on its own items. If both systems score the same items, that is a paired design: the design chooser will say so, and its McNemar count is the right one. This count is the conservative one. The drop you name is the effect size the set has to be able to see.

Slices you gate on separately

Five gated slices means five tests. One means the set is judged whole.

Check this value.

Not applicable at one slice: one test has nothing to correct for.

Check this value.

How the items are spread

The per-slice count is the one that governs, so the shape of your slices drives the total. The slice and class balance analyzer reads those shares off a set you already have. Bonferroni is the conservative choice: it splits one significance level across every slice, which costs items rather than correctness. None judges every slice at its own level, which is cheaper and lets false alarms accumulate across the slices you gate on.

The set you already have

A total across every slice. It is graded on the smallest slice that total implies, never on the total itself.

Check this value.

Distinct items required

141

Precision binds. Holding the interval inside 5.0 points takes 141 items per slice; catching a 10.0-point drop would take only 86. The cited planning shortcut says 139, and its interval comes out at 5.04 points, over the margin you asked for.

Two goals, and the one that governs

What the count has to buyItems per sliceTotal across slices
Precision: interval inside 5.0 points 141 141
Detection: catch a 10.0-point drop 86 86
The count that governs 141 141

Every count above is sized at 95.0% confidence and 80.0% power, with z = 1.959964 and a significance level of 0.0500. The verdict and the ladder grade at the same level, so a count this page prescribes always passes its own check.

What a given count buys, at your baseline rate

ItemsWhere the true rate would sitWidth, pointsSmallest drop it can catch, points
25 72.5% to 96.8% 24.4 19.43
50 78.6% to 95.7% 17.0 13.35
100 82.6% to 94.5% 11.9 9.19
200 85.1% to 93.4% 8.4 6.36
500 87.1% to 92.3% 5.3 3.93
1,000 88.0% to 91.7% 3.7 2.75

Every row is a Wilson confidence interval taken at the baseline rate. Wilson rather than the textbook normal approximation, because that one under-covers below a few hundred items, which is exactly the range an eval set lives in.

Export the plan

Every count here is distinct items at one run each. How many times to run each item, and what that does to the noise, is the repeated-run question. Sizing a comparison in runs rather than items is the sample size and power calculator, which is also where statistical power is defined in full.

n = min{ n : Wilson half-width(p, n) <= margin }How?

How this is calculated

The precision count. The half-width of a Wilson interval at rate p over n items is z / (1 + z2/n) times the square root of p(1-p)/n + z2/(4n2). It falls as n grows, so there is a smallest n whose half-width reaches the margin you asked for, and that is the count returned. At a 90% baseline and a 5-point margin the half-width is 0.050176 at 140 items and 0.049995 at 141, so the answer is 141.

The shortcut, shown beside it. The widely cited planning formula is n = z2 p(1-p) / margin2. At an 80% expected score and a 5-point margin it gives 245.85, so 246, which is the number the practical-evaluation guide states. It is printed here as the comparison and never as the answer: at this page's own defaults it returns 139 items, whose Wilson half-width is 5.04 points, over the 5 that were requested. A page that sizes with one rule and grades with another can reject the count it just prescribed.

The detection count. Against a held reference, n = (zalpha sqrt(p0(1-p0)) + zbeta sqrt(p1(1-p1)))2 / d2, with p1 = p0 - d. At a 90% baseline, a 10-point drop, 5% significance and 80% power that is 85.4955, so 86. Against two independent arms the null variance is pooled across both, which at a 5-point drop gives 685.5969 per arm, so 686. Both are the standard handbook forms. That per-arm count is what the arms are each scored on, so the set itself holds twice it: 1,372 distinct items, which is the number the design chooser prices for the same comparison.

Slices and the correction. Each gated slice is its own test, so a Bonferroni correction divides the significance level by the number of slices. Five slices at 5% become 1% each, z rises from 1.959964 to 2.575829, and the precision count per slice rises from 141 to 244. Under equal allocation the total is the per-slice count times the slice count, so 1,220. Under traffic-share allocation the smallest slice governs: the total is the per-slice count divided by that share, so 2,440 at a 10% smallest slice. Bonferroni is conservative, and the page says so rather than hiding it.

Grading a set you already own. The number you enter is read as a total across every slice, and the smallest slice it implies is what gets graded: 695 items across five equal slices is 139 per slice. At the corrected level that slice carries a 6.66-point half-width and can catch a 9.38-point drop, so it clears a 10-point drop and misses a 5-point margin. The items to add are what the prescribed total is short by, so 1,220 - 695 = 525: what you own plus what you are told to add is the number at the top of the page. When the verdict clears, the items to add are zero.

The floor. No count below 16 items is ever returned. The best case Wilson width at n, reached only at a perfect or a zero score, is 19.4 points at 16 items and 20.4 at 15, so 16 is the smallest count that can place a rate inside a 20-point window at all. At a 90% baseline the real width at 16 items is 30.6 points. It is a floor on what is possible, never a recommendation.

Formula: n = min{ n : Wilson half-width(p, n) <= margin }

Questions

Is 100 examples enough?

For a 90% pass rate, 100 items put the true rate somewhere between 82.6% and 94.5% and can catch about a nine-point drop. So a ten-point regression is visible and a five-point one is not. At an 80% rate the same 100 items run from 71.1% to 86.7%, which is the case people mean when they call 100 examples a coin flip. Whether 100 is enough depends entirely on the drop you need to see; enter it above and the page answers for your numbers.

Why does the total jump when I add slices?

Because a gated slice is a separate test, and it has to carry its own count. Five slices at 244 items each is 1,220 items, not 244 spread thin. Two things drive the jump: every slice needs the full per-slice count, and the multiplicity correction raises that count as well. If a slice is not actually gated, do not list it here, and judge it descriptively instead.

Why is my own set graded on its smallest slice?

Because that is the slice that fails first. A pooled interval over 695 items looks reassuring while each of five slices holds 139, and it is the 139 that decides whether a per-slice gate can fire. Grading the total would clear sets that cannot do the job they were built for.

Does this count runs or items?

Items. Every count here assumes each item is run once. If you run each item several times to average out nondeterminism, that multiplies the runs, not the items, and it is a separate calculation. Putting repeats in the same form as a margin of error is the conflation that makes sizing advice unreadable, so this page keeps them apart.

Should I use the precision goal or the detection goal?

Both, which is why the page sizes for each and returns the larger. They answer different questions: precision is how tightly you can report the rate, detection is how small a regression you can block on. A set sized only for detection can still report a rate too vague to act on, and one sized only for precision can miss the regression you built it to catch.

What is deliberately out of scope here?

Three things. Choosing which items to write, and generating synthetic cases before you count them, are construction questions rather than counting ones. Trials per item and the noise between runs belong to the repeated-run planner. Tokens and dollars belong to the budget calculator. This page answers one question: how many distinct items.

Sources

  1. Rudd et al. (2025), A Practical Guide for Evaluating LLMs and LLM-Reliant Systems, section 2.3arXiv preprint Retrieved
  2. NIST/SEMATECH e-Handbook of Statistical Methods, 7.2.4.2: sample sizes required for a proportionNIST/SEMATECH Retrieved
  3. Bowyer, Aitchison and Ivanova (2025), Position: Don't Use the CLT in LLM Evals With Fewer Than a Few Hundred DatapointsICML 2025, via ar5iv Retrieved
  4. Armstrong (2014), Etymologia: Bonferroni CorrectionEmerging Infectious Diseases, via PubMed Central Retrieved
  5. Miller (2024), Adding Error Bars to Evals: A Statistical Approach to Language Model EvaluationsarXiv preprint Retrieved