Summer Sun Sale.
Did the Summer Sun Sale campaign lift consideration of Kitejet for a summer holiday flight?
- Audience
- UK adults 18 to 64 who have taken a short-haul leisure flight in the last two years
- Fieldwork
- 26 May to 14 Jun 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 820c723d07de80ee21f325d090b3e968dcc2d57f0955eae95e957ac276179d89
Show the locked plan
{
"design": "Campaign Uplift",
"audience": "UK adults 18 to 64 who have taken a short-haul leisure flight in the last two years",
"perCell": 300,
"cells": [
"exposed",
"control"
],
"primaryKpi": "consideration",
"secondaryKpis": [
"awareness",
"recall",
"favourability",
"intent",
"message"
],
"subgroups": [
"age band",
"Flies short-haul three times 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, 1 May, 15:20
Gate 2 · Analysis plan locked and hashed
Signed by SpinProof Research Desk, lead researcher, 22 May, 11:05
Gate 3 · Researcher signs the report
Signed by SpinProof Research Desk, second reviewer, 18 Jun, 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 agent28 Apr, 09:12
Turned the booking into study spec v1: Campaign Uplift, audience, KPIs and cells.
claude-sonnet-5-5 · intake prompt v1.4
Intelligence agent28 Apr, 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 agent28 Apr, 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 researcher1 May, 15:20
Gate 1 signed: spec and survey approved with two wording edits.
SpinProof Research Desk
Channels agent2 May, 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 agent22 May, 11:05
Locked the analysis plan. SHA-256 820c723d07de…
stats-engine 0.9.2, deterministic
Lead researcher22 May, 11:06
Gate 2 signed: plan locked before fieldwork.
SpinProof Research Desk
Fieldwork agent26 May, 08:00
Fieldwork opened. Invites live on all channels; rewards queue active.
claude-sonnet-5-5 · fieldwork prompt v1.1
Verification agent27 May, 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 agent31 May, 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 Jun, 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 Jun, 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 agent12 Jun, 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 agent14 Jun, 18:30
81 completes excluded in total: decoy-ad over-claim 29, failed attention check 22, speeder 11, duplicate or fraud flag 7, exposure not confirmed 12.
claude-sonnet-5-5 · verification prompt v1.6
Fieldwork agent14 Jun, 20:00
Quotas met in every cell. Fieldwork closed; rewards paid.
claude-sonnet-5-5 · fieldwork prompt v1.1
Analysis agent16 Jun, 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 agent16 Jun, 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 agent16 Jun, 11:45
Assembled the Evidence File. 0 untraced numbers. Charts re-checked against tested values.
claude-sonnet-5-5 · evidence prompt v1.0
Second reviewer18 Jun, 16:40
Gate 3 signed: report checked against the Evidence File.
SpinProof Research Desk
Norms agent19 Jun, 09:00
Added the study to the travel benchmark set.
claude-sonnet-5-5 · norms prompt v0.9
Portal19 Jun, 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 +4.3 pts (−3.3 to +12.0) | responses.csv: valid=1, consideration=1 by cell → 114/300 exposed, 101/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.4 pts | responses.csv: cell=exposed, freq=3 against all control | analysis/frequency.json#3 |
| R5Persons lifted 294,667 | absolute lift × campaign reach of 6,800,000 (media plan) | analysis/impact.json#persons |
| S1Age: 18–34 +14.4 pts, Holm p 0.14 | responses.csv filtered to sub-group | analysis/subgroups.json#0 |
| S2Age: 35–54 +5.4 pts, Holm p 0.89 | responses.csv filtered to sub-group | analysis/subgroups.json#1 |
| S3Age: 55+ −8.1 pts, Holm p 0.89 | responses.csv filtered to sub-group | analysis/subgroups.json#2 |
| S4Segment: Flies short-haul three times a year or more +1.5 pts, Holm p 0.89 | responses.csv filtered to sub-group | analysis/subgroups.json#3 |
| S5Segment: Everyone else +5.6 pts, Holm p 0.87 | 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.