New route: London to Los Angeles.
Did the launch campaign for the new non-stop Heathrow to Los Angeles route shift consideration among long-haul travellers?
- Audience
- UK adults 25 to 64 who have taken a long-haul return flight in the last three years
- Fieldwork
- 21 Sept to 9 Oct 2026
- Sample
- 300 per cell · detects ±10.5 pts
- Primary KPI
- Consideration, fixed at Gate 2
- DraftGate 1
- ApprovedGate 2
- Fielding
- Closed
- AnalysedGate 3
- Signed off
- Released
Method lock
Locked before fieldwork.
The spec, survey version, primary KPI, sub-groups and analysis plan are hashed at Gate 2. If any of it changed afterwards, the hash would not match.
SHA-256 20ca02bf37d3cf7f4668eec02dba5fc392b3ccaa24bb0e760e2df57c07cf14c2
Show the locked plan
{
"design": "Campaign Uplift",
"audience": "UK adults 25 to 64 who have taken a long-haul return flight in the last three years",
"perCell": 300,
"cells": [
"exposed",
"control"
],
"primaryKpi": "consideration",
"secondaryKpis": [
"awareness",
"recall",
"favourability",
"intent",
"message"
],
"subgroups": [
"age band",
"Flies long-haul twice a year or more"
],
"test": "two-proportion z (pooled), Wald 95% interval, Holm adjustment across sub-groups and creatives",
"minimumDetectableLift": 0.105,
"exclusions": [
"decoy-ad over-claim",
"attention check",
"speeder (< one third of median time)",
"duplicate or fraud flag",
"exposure not confirmed by media data"
]
}Human gates
Who signed what, and when.
Gate 1 · Researcher approves spec and survey
Signed by SpinProof Research Desk, lead researcher, 2 Sept, 15:20
Gate 2 · Analysis plan locked and hashed
Signed by SpinProof Research Desk, lead researcher, 18 Sept, 11:05
Gate 3 · Researcher signs the report
Signed by SpinProof Research Desk, second reviewer, 14 Oct, 16:40
Agent run log
Every action, with the model or code version used.
Agents draft, recruit, check and write. Deterministic code does the statistics. Real people give every answer.
Intake agent27 Aug, 09:12
Turned the booking into study spec v1: Campaign Uplift, audience, KPIs and cells.
claude-sonnet-5-5 · intake prompt v1.4
Intelligence agent27 Aug, 09:31
Built the context brief: competitor ads from Meta Ad Library, share of search baseline, AI answer visibility baseline, news and social scan.
claude-sonnet-5-5 · intel prompt v1.2
Questionnaire agent27 Aug, 10:02
Built the survey from the Campaign Uplift template, with decoy ad, attention checks and consent screen.
claude-sonnet-5-5 · questionnaire prompt v2.0
Lead researcher2 Sept, 15:20
Gate 1 signed: spec and survey approved with two wording edits.
SpinProof Research Desk
Channels agent3 Sept, 10:15
Set up recruitment: Meta ad sets with screener, QR codes for placements, panel quotas, SpinProof panel invites.
claude-sonnet-5-5 · channels prompt v1.3
Analysis agent18 Sept, 11:05
Locked the analysis plan. SHA-256 20ca02bf37d3…
stats-engine 0.9.2, deterministic
Lead researcher18 Sept, 11:06
Gate 2 signed: plan locked before fieldwork.
SpinProof Research Desk
Fieldwork agent21 Sept, 08:00
Fieldwork opened. Invites live on all channels; rewards queue active.
claude-sonnet-5-5 · fieldwork prompt v1.1
Verification agent22 Sept, 18:00
Daily quality pass: fraud, speeders, attention and decoy checks run; exclusions logged with reasons.
claude-sonnet-5-5 · verification prompt v1.6
Verification agent26 Sept, 18:00
Daily quality pass: fraud, speeders, attention and decoy checks run; exclusions logged with reasons.
claude-sonnet-5-5 · verification prompt v1.6
Verification agent30 Sept, 18:00
Daily quality pass: fraud, speeders, attention and decoy checks run; exclusions logged with reasons.
claude-sonnet-5-5 · verification prompt v1.6
Verification agent4 Oct, 18:00
Daily quality pass: fraud, speeders, attention and decoy checks run; exclusions logged with reasons.
claude-sonnet-5-5 · verification prompt v1.6
Verification agent8 Oct, 18:00
Daily quality pass: fraud, speeders, attention and decoy checks run; exclusions logged with reasons.
claude-sonnet-5-5 · verification prompt v1.6
Verification agent9 Oct, 18:30
77 completes excluded in total: decoy-ad over-claim 29, failed attention check 20, speeder 15, duplicate or fraud flag 5, exposure not confirmed 8.
claude-sonnet-5-5 · verification prompt v1.6
Fieldwork agent9 Oct, 20:00
Quotas met in every cell. Fieldwork closed; rewards paid.
claude-sonnet-5-5 · fieldwork prompt v1.1
Analysis agent12 Oct, 09:00
Ran the locked plan: every KPI, pre-registered sub-groups, Holm adjustment. No deviations from plan.
stats-engine 0.9.2, deterministic
Reporting agent12 Oct, 11:30
Drafted the report from computed tables only. Every number linked to an analysis output.
claude-sonnet-5-5 · reporting prompt v1.8
Evidence agent12 Oct, 11:45
Assembled the Evidence File. 0 untraced numbers. Charts re-checked against tested values.
claude-sonnet-5-5 · evidence prompt v1.0
Second reviewer14 Oct, 16:40
Gate 3 signed: report checked against the Evidence File.
SpinProof Research Desk
Norms agent15 Oct, 09:00
Added the study to the travel benchmark set.
claude-sonnet-5-5 · norms prompt v0.9
Portal15 Oct, 09:05
Released to client portal with raw data, crosstabs and Evidence File.
portal
Results trace
Every reported number, traced to raw answers.
Each number in the report links to the rows it came from and the analysis output that produced it.
| Reported | Source rows | Output |
|---|---|---|
| R1Consideration lift +9.7 pts (+2.2 to +17.1) | responses.csv: valid=1, consideration=1 by cell → 113/300 exposed, 84/300 control | analysis/kpis.json#consideration |
| R2600 verified people | responses.csv: count of valid=1 | analysis/sample.json#valid |
| R3Decoy false-claim rate 4.3% | responses.csv: decoy=1 over all completes | analysis/quality.json#decoy |
| R4Lift at 3+ exposures +13.9 pts | responses.csv: cell=exposed, freq=3 against all control | analysis/frequency.json#3 |
| R5Persons lifted 227,167 | absolute lift × campaign reach of 2,350,000 (media plan) | analysis/impact.json#persons |
| S1Age: 18–34 +1.7 pts, Holm p 0.81 | responses.csv filtered to sub-group | analysis/subgroups.json#0 |
| S2Age: 35–54 +17.1 pts, Holm p 0.01 | responses.csv filtered to sub-group | analysis/subgroups.json#1 |
| S3Age: 55+ +7.0 pts, Holm p 0.68 | responses.csv filtered to sub-group | analysis/subgroups.json#2 |
| S4Segment: Flies long-haul twice a year or more +9.9 pts, Holm p 0.43 | responses.csv filtered to sub-group | analysis/subgroups.json#3 |
| S5Segment: Everyone else +9.3 pts, Holm p 0.19 | responses.csv filtered to sub-group | analysis/subgroups.json#4 |
Downloads
Always included, never on request.
Demo data. Fictional airlines, illustrative results generated for this demo.