MaveraMavera Docs
Past studies
Checking…
Use or share this pageSend the page itself, print it, or open its complete context in your AI workspace.

Drift & accuracy back-tests

How well do synthetic reads track real outcomes?

2 min readDocs build Updated Jul 26, 2026

Drift — did it move between two runs?

POST /api/v1/tools/detect_drift
{ "metric": "nps", "baselineRunId": "run_q1", "currentRunId": "run_q2", "threshold": { "sigma": 1 } }
FieldMeaning
deltaRaw change (current − baseline).
deltaZMagnitude in standard deviations vs the baseline CI.
significancep-value against the baseline confidence interval.
directionup · down · flat
classificationstable (within noise) · moved (past threshold) · reversed (flipped sign)

The threshold.sigma controls sensitivity — 1 flags a 1σ move, 2 only flags larger shifts. This is the canonical node inside scheduled trackers: wire it to a cron over a repeating study and it stays silent until something genuinely moves, then emits an alert-ready payload.

Accuracy — how right was the prediction?

This is the flywheel: once the real-world number lands, score the synthetic prediction against it.

POST /api/v1/tools/measure_synthetic_accuracy
{ "testType": "pricing", "feedBack": true }
# → correlation / MAE / bias of Mavera's pre-launch predictions vs the realized metric, per test type.
MetricWhat it tells you
correlationDid the synthetic ranking match reality's ranking? (did we pick the right winner)
MAEMean absolute error — how far off the level was, on average.
biasSystematic over- or under-prediction (signed) — correctable.

With feedBack: true, the realized outcome is folded back in to recalibrate future predictions of that test type.

The published track record

POST /api/v1/tools/get_parity_history   { }
# → latest overall parity per study type + a stability band — your defensible "how much did these claims hold up" answer.

And to score a single run against a named real-world benchmark on the same questions:

POST /api/v1/tools/run_parity_check
{ "studyId": "run_8842", "benchmark": "..." }
# → Pearson / Spearman against the benchmark.

Hybrid validation with real humans

For a study you want to harden, route a subset to real panelists through a provider-abstracted hook and compare:

POST /api/v1/tools/validate_with_humans
{ "studyId": "run_8842", "n": 50 }

Back-testing older studies: the pattern is (1) compare_studies to see the trend, (2) detect_drift to confirm a real move, (3) measure_synthetic_accuracy / get_parity_history once reality lands to grade the original prediction. That sequence answers "did our past calls hold up" with numbers, not vibes.

On this page