Survey — Panel Response Funnel
A fieldwork funnel for one survey wave: sampled panellists narrowed to the usable responses, with every drop-off named. Typed FlowScript for survey instruments. Keywords: survey, instrument, construct, questionnaire, psychometrics.
Make it your own.
// A fieldwork funnel for one survey wave: sampled panellists narrowed
// to the usable responses, with every drop-off named. The instrument
// they were answering is declared alongside, so the response rate and
// the item map are read from the same document.
instrument wave7 {
title: "Commuter satisfaction — wave 7"
audience: "National travel panel, adults 18 and over"
mode: "web"
language: "en"
}
construct reliability {
name: "Service reliability"
definition: "Belief that the service arrives when it says it will"
reference: "Adapted from the ORR passenger satisfaction battery"
}
construct value_for_money {
name: "Perceived value"
definition: "Judgement that the fare is proportionate to the journey received"
}
construct intent {
name: "Intent to keep commuting by rail"
definition: "Stated likelihood of using rail for the same journey in 12 months"
}
item r1 {
text: "My train arrived within five minutes of the advertised time."
construct: reliability
scale: "likert-5"
}
item r2 {
text: "I can plan around this service without building in extra time."
construct: reliability
scale: "likert-5"
}
item r3 {
text: "Disruption is communicated to me before I reach the platform."
construct: reliability
scale: "likert-5"
}
item v1 {
text: "The fare is fair for the journey I get."
construct: value_for_money
scale: "likert-5"
}
item v2 {
text: "I could not find a cheaper way to make this journey."
construct: value_for_money
scale: "likert-5"
}
item v3 {
text: "I resent what I pay for this journey."
construct: value_for_money
scale: "likert-5"
reverse: true
}
item i1 {
text: "I expect to make this journey by rail a year from now."
construct: intent
scale: "likert-5"
}
item i2 {
text: "I would recommend this route to someone starting the same commute."
construct: intent
scale: "likert-5"
}
// ── Fieldwork. 24 000 sampled, 4 711 analysed, and every panellist
// who left the funnel is attributed to a reason.
cohort sampled {
n: 24000 source "Panel frame draw, 2026-02-03"
}
cohort invited {
n: 21640
from: sampled
excluded: {
quota_already_full: 1508
invalid_contact_record: 852
}
}
cohort started {
n: 6427
from: invited
excluded: {
no_response_after_three_reminders: 13894
opted_out: 1319
}
}
cohort completed {
n: 4938
from: started
excluded: {
screened_out: 908
abandoned_mid_survey: 581
}
}
cohort analysed {
n: 4711
from: completed
excluded: {
straightlined_every_grid: 146
below_speeder_threshold: 81
}
}
view items: item_map
view fieldwork: consort(sampled)