Semantic QC is live — 41% more invalid open-ends caught before they reach your dataRead the method

Data quality

We do not sell completes.
We sell data you can act on.

The most expensive line in a study is the rework after a decision was made on bad data. Quality control decides at submit, not at the debrief.

3 layersIdentity / behaviour / semantics
2.8%Average rejection rate
$0Billed for rejected completes
41%More bad open-ends caught in 2.0

Three gates

Is the person real,
are they paying attention,
does the answer hold up?

The three layers run independently and any failure stops the complete. Every verdict and its reason is retained, so you can audit it — or appeal it.

Layer one

Identity · does this person exist

Cross-referenced identity, mobile and employment data, plus device, payment-binding and history linkage to surface multi-account users, farms and paid-answering rings before they enter a study.

  • Identity and mobile verification
  • Device fingerprint and account graph
  • Employment and domain checks
Layer two

Behaviour · are they engaged

Question-level timing, pointer and scroll traces, answer order and consistency modelling. Straightlining, speed-running and click-without-reading all surface here.

  • Question and interview timing models
  • Straightlining and random response
  • Internal logic consistency
Layer three · new in 2.0

Semantics · does it hold up

Open-ends are reviewed for AI cadence, topic drift, stem restatement and zero-information answers — and you get a readable reason, not an opaque score.

  • AI-style answer detection
  • Stem overlap measurement
  • Explainable, appealable verdicts

Reject at submit

Do not clean at the end.
Stop it at the door.

The conventional workflow runs a cleaning script after collection — by which point bad completes have already consumed quota and budget. Quality control decides at submit: rejected responses free the quota instantly and recruitment refills it.

  • Adjustable thresholds: strict, standard or relaxed, chosen per study.
  • Quota reopens automatically on rejection — no wasted fielding time.
  • Anything marked "review" goes to a human queue, with 5% sampled again.
QC engine · decision detailSTRICT
R-48210 · open-end semantically emptyReject0.19
R-48211 · matrix flat across 6 rowsReject0.22
R-48212 · stem overlap 0.81Reject0.28
R-48213 · 11 questions in 118 secondsReview0.61
R-48214 · tenure conflicts with stated roleReject0.15
R-48215 · open-end, 42 words, specificPass0.93
Wave: 37 / 1,321 rejectedQuota reallocated

Rules are public

If a rule rejected you,
we say which rule.

Quality control should not be a black box. These are the rules currently in force — no hidden clauses, and no "the system determined the response was invalid".

RuleTriggerActionBilling
Device and account linkageSame fingerprint across 3+ accounts, or a match against a known farm registryAll linked accounts frozen for reviewNot billed
Timing anomalyAny question under 1.5s, or whole interview under 40% of medianAuto review plus human spot checkBilled once corrected
StraightliningSame option across 5+ matrix rows with zero varianceRejectedNot billed
Semantically empty open-endOver 0.7 overlap with the stem, AI cadence, no informationRejected with reason recordedNot billed
Contradictory answersInternal conflict, e.g. stated role incompatible with tenureRe-screened, rejected if unresolvedNot billed
Supplier quality drift90-day rejection rate 1.5× the meanDowngraded, throttled or removed—
Rejected completes are never invoiced. They also flow back into the panel with a mark: an account rejected twice enters a watch list and is frozen on the next hit. That is how the rejection rate stays under 3% instead of creeping up.

Deliverable

Every project ships
with a QC report.

Not a screenshot claiming the file was cleaned, but a document you can hand to a colleague: where the sample came from, how much was lost, why, and what is still trustworthy.

  • Source mix — delivered, rejected and share by supplier and channel.
  • Rejection detail — counts per rule, the reason given, and whether a human reviewed it.
  • Timing distribution — question and interview level, against benchmark.
  • Quota attainment — cell-level fill rates and any shortfall explained.
  • Usability verdict — one sentence on whether this file supports the decision.
PO-2481 QC report · summaryDelivered
1

1,321 received · 1,284 valid

37 rejected (2.8%), against a 4.6% category benchmark

2

Most rejections came from semantics (21)

Then straightlining (9) and internal contradictions (7)

3

Median interview 6 min 12 s

Normal distribution at question level, no speed clusters

4

All 16 quota cells met

Highest cell oversampled 4%, weighted down

✓

Verdict: fit for quantitative brand tracking

Recommend reading 10% of open-ends before quoting them

Start your first project

Brief it today. Work with usable data tomorrow.

$500 in sample credit on your first order. No minimums, no contracts, no platform seat fees. If you would rather have someone run it with you, one of our researchers will field the whole study.

No credit card 14-day refund window Export to SPSS / Excel / CSV

QUALITY FAQ

Questions about quality control

Not covered here? Email support@pandaopinion.com — you will hear back within two hours during business hours.

Talk to us
How do you detect AI-written answers without rejecting real people?

The semantic layer looks for information density: answers naming a store, a price, a moment or a specific reason pass. Only boilerplate, stem restatement and suspiciously smooth but empty prose get rejected. We calibrated on 12,000 human-labelled responses and keep the false-positive rate on genuine respondents under 0.7%. Every rejection keeps the original text so you can appeal.

Can we make the standard stricter?

Yes. There are three preset thresholds plus custom rule combinations, for example rejecting anything under three minutes. Stricter settings raise CPI and slow down fielding; the dashboard shows the projected impact as you change them.

A 2.8% rejection rate sounds low. Are you actually catching anything?

Rejection is the last step, not the first. The identity and behaviour layers stop most ineligible accounts before they ever enter a project, so they never consume quota or budget. A low rejection rate reflects earlier filtering, not a lax gate.

Can we get the raw records and re-clean them ourselves?

Yes. You can export a record-level file including question timing, device type, source supplier and rejection flags, so your own rules can be applied on top. We do not lock the data.