ai training data

A continuous audit stack for multi-vendor vision data

Track agreement, label drift and batch acceptance with a shared sample, a small QA pipeline and vendor-specific scorecards.

By Graham Winthrop·October 23, 2026·4 min read
What matters here
  1. Measure inter-annotator agreement on the same sampled items before comparing vendors.
  2. A 98% batch target needs a defined denominator, task-specific metric and adjudication rule.
  3. Track class and error distributions by vendor and batch; aggregate scores can hide drift.

Two annotation vendors can return labels that look consistent in separate reports and still disagree on the same images. A single accuracy score will not show whether one source misses small objects, applies a boundary rule differently or has shifted its class mix. A useful audit stack makes those differences visible before the next batch enters training.

The setup does not require a new annotation platform. It needs a shared evaluation sample, a versioned label policy, scripts that check structure and distributions, and a review path for disputed cases. XYNTRIQ describes its work as guideline-based collection and annotation with dedicated, domain-matched teams and multi-tier QA. Treat any provider, including XYNTRIQ, as a source to measure against your own acceptance criteria, not as a replacement for them.

1. Define what passing means

Start with the unit of evaluation: image, object, mask, frame, or sequence. Then define which metric determines a pass. A bounding-box task might use intersection over union (IoU) against an adjudicated reference; a classification task might use exact class agreement. Segmentation needs a boundary-sensitive measure. Do not combine these into one opaque “accuracy” number.

If the project sets a 98%+ accuracy target, write down its denominator and calculation before the first delivery. Is it the share of reviewed objects accepted, images with no critical error, or something else? Set separate thresholds for high-impact classes if a miss on a rare class matters more than a minor boundary difference. The target is meaningful only when every vendor is evaluated on the same rules.

2. Build a shared overlap sample

For each batch, select a stratified sample and send the same items to each labeling source without showing other vendors’ answers. Include common cases, rare classes, difficult lighting and known edge cases. Keep a stable sample identifier, source, batch, guideline version and task type with every result.

Calculate inter-annotator agreement on this overlap set, both overall and by class. For boxes or masks, compare geometries with the chosen overlap threshold; for categorical labels, report agreement by class and a chance-adjusted statistic where useful. Agreement measures consistency, not truth. Two vendors can share the same mistake, so adjudicate a portion against a qualified reference and record the reason for each correction.

Choose sample size based on risk and variability, rather than assuming a tiny fixed sample proves quality. Small samples are cheaper and faster, but can miss rare errors. Expand the sample when confidence intervals are wide, a class is underrepresented or a vendor’s results change materially.

3. Automate the checks that scripts can answer

Keep raw deliveries immutable. A small validation job can parse each export and check required fields, legal class values, missing annotations, invalid coordinates, duplicate identifiers and expected file-to-label counts. For video, test frame references and track continuity against the project’s written rules. A prior QA gate for CVAT video exports shows the value of checking structural failures before model training.

Next, compute batch-level statistics: class frequency, objects per image, box size, mask area, empty-label rate and relevant capture metadata. Compare each batch with the approved baseline and with other vendors’ batches. Flag changes for review rather than automatically declaring them defects. A new region or collection condition can legitimately change the distribution; a sudden rise in empty labels may instead point to a broken export or a rule interpretation shift.

Scripts catch format and distribution problems. They cannot decide whether an ambiguous object should be labeled. Route those cases to human review, and preserve the adjudicated decision as an example for the guideline and future audits.

4. Use a batch gate, not just a vendor ranking

Make the gate explicit: structural checks must pass; sampled quality must meet the task’s threshold; and unexplained drift must be resolved or accepted by an owner. Give each batch a status such as pass, hold or rework, with the reason and evidence attached. Avoid ranking vendors on a pooled score alone. A strong average can conceal a weak class or a deteriorating recent batch.

When a batch fails, separate the remedy by error type. Structural failures may need a corrected export. Policy disagreements call for guideline clarification and a shared adjudication example. Repeated label errors may require expanded review or rework. Re-test the correction on a fresh sample; otherwise, the audit only proves that the disputed cases were fixed.

5. Keep the operating record small and useful

A practical dataset QA stack can be a version-controlled guideline, a manifest, a validation script, a table of sample-level decisions and a batch report. Record the vendor, batch, guideline revision, sample selection, metrics, adjudications and final disposition. That makes comparisons reproducible without requiring every team to adopt the same annotation system.

There is a real trade-off: deeper overlap and human adjudication cost time, while lighter sampling leaves more uncertainty. Use stronger review for new vendors, guideline changes and high-risk classes; reduce it only when repeated evidence supports that choice. XYNTRIQ offers a small sample labeled to a client’s guidelines before a fixed-scope quote. That can provide a concrete pilot batch for this audit process, but the buyer still needs to define the acceptance test and decide what the results mean.

More from XYNTRIQ News