aidataservices.inAI data collection · India

Evaluation

How do you build an evaluation set for speech analytics?

Updated 2026-08-01 · 4 min read

Evaluator scoring AI voice output against a rubric — illustration for: How do you build an evaluation set for speech analytics?

Short answer

Build the evaluation set from data recorded under deployment conditions by speakers who never appear in training, then freeze it. For speech analytics, that means sampling domain-realistic conversation audio, intent, outcome and compliance labels across the dialects, devices and noise environments your users actually have, annotating to a stricter standard than the training set, and reporting intent accuracy, compliance-event recall per slice rather than as one aggregate. A 5–20 hour eval set built this way is worth more than a hundred hours of training data, because it is the only thing that tells you whether the rest worked.

Key takeaways

The argument at a glance1Speaker overlap between train and eval is the fastest way to fool yourself.2Report per-slice metrics — aggregate numbers hide the dialect or device where the model fails.3Freeze the eval set and version it; a moving benchmark measures nothing.
  • Speaker overlap between train and eval is the fastest way to fool yourself.
  • Report per-slice metrics — aggregate numbers hide the dialect or device where the model fails.
  • Freeze the eval set and version it; a moving benchmark measures nothing.

Sampling rules

  • Zero speaker overlap with any training batch
  • Recorded on the devices and channels of the deployment, not in a studio
  • Slices sized so per-slice metrics are statistically meaningful
  • Include the hard cases deliberately: noise, overlap, accented speech, rare entities
  • Collected after the training spec is frozen, so it cannot be gamed

What to measure

Report each metric per slice — language, dialect, device, noise condition, speaker age band. An aggregate score that improves while a slice regresses is a launch risk disguised as progress.

  • Intent accuracy
  • Compliance-event recall
  • Summary factuality
Two-speaker conversational recording session in a studio — evaluation context for How do you build an evaluation set for speech analytics
Two-speaker conversational recording session in a studio

Annotation standard

Evaluation annotation should be stricter than training annotation: double-blind transcription with adjudication of disagreements, and a written arbitration rule. Where two annotators disagree on a reference, the metric computed against it is noise.

For speech analytics, the specific pitfalls to watch are: labels defined without listening to real calls first, ignoring dialect coverage in the target market

Sizing the set

PurposeTypical sizeRefresh
Smoke test in CI1–2 hoursStable, rarely changed
Release gate5–10 hoursRefreshed annually
Slice diagnostics10–20 hoursExtended as new markets launch

Keeping it honest over time

Once a benchmark has been optimised against for a year, its numbers stop predicting production performance. Plan a rotation: keep the frozen set for comparability and add a fresh unpublished set each year for the real read.

Frequently asked questions

How large should an evaluation set be?

5–20 hours for most speech use cases, sized so each reported slice has enough utterances to be meaningful rather than so the total looks impressive.

Can training data be reused for evaluation?

No. Any speaker, session or recording condition shared with training inflates the score in ways that do not survive deployment.

Who should annotate the evaluation set?

Native-speaker annotators who did not work on the training corpus, working double-blind with adjudication of disagreements.

How often should it be refreshed?

Keep the frozen set for comparability and add a fresh, unpublished set annually so you can detect benchmark overfitting.

Related reading

Turn this into a dataset specification

Tell us the languages, speaker count and minutes. You get a written scope, a protocol and a fixed price within one working day.

Request a dataset quote