All examples · Raw Markdown

Independent questionnaire contract: household connectivity

Version 1.0. Adults 18+ involved in choosing or managing a household fixed broadband connection. Mobile-only households are outside the universe. Four-week reliability and three-month support measures use different, stated reference periods. Intended 10–12-minute median is an untested planning estimate.

No.Measurement / QSS IDODINResponse contract
1Participation s_consent5Yes=1/No=2; No ends before age
2Age s_age10Integer 0–120; below 18 ends immediately; 121 invalid
3Service decision role s_decision_maker20Sole/shared/not involved; last screens out
4Fixed broadband s_has_broadband30Fixed/mobile only/no home internet; latter two screen out
5Primary fixed provider q_primary_isp40Invented codes 1–5; Other=98 with text
6Provider tenure q_tenure50Less than 1 year/1 to less than 3/3 to less than 5/5+ years
7Connection technology q_connection_type60Fibre to premises/cabinet/cable/home wireless/copper; Don’t know=99
8Download package tier q_speed_tier70Disjoint under 50, 50–99, 100–299, 300–999, 1000+ Mbps; Don’t know=99
9Cost estimate availability q_can_estimate_spend75Can estimate=1/Don’t know or cannot separate bundle=2/Prefer not=3; governs only amount
10Monthly fixed broadband cost q_monthly_spend80Only when availability=1; whole £0–250; zero means free; excludes TV/mobile/device add-ons; otherwise absent
11Bundle add-ons q_bundle_services90Multi phone=1/TV=2/mobile=3; exclusive no add-ons=99
12Mobile provider relationship q_same_mobile_provider100Same=1/different=2/no personal mobile=3
13Four-week interruptions/slowdowns q_outage_frequency110Never/1–2/3–5/6–10/11+ incidents; not six-month recall
14Three-month support contact q_experienced_issue120Yes/No; governs the next three items
15Most recent issue contact channel q_support_channel130Telephone/chat/app/store/Other=98 with text; contact only
16Most recent support satisfaction q_support_satisfaction1401 Very dissatisfied…5 Very satisfied; contact only
17Most recent issue resolution q_issue_resolution150Same day/next 1–3 days/4–6 days/7+ days/unresolved; contact only
18Speed consistency rating q_rate_speed1601 Very poor…5 Excellent; Cannot rate=99
19Connection reliability rating q_rate_reliability161Same five-point quality scale plus Cannot rate=99
20Value rating q_rate_value162Same quality scale plus Cannot rate=99; separate from monthly cost
21Billing rating q_rate_billing163Same quality scale plus Cannot rate=99
22Router coverage rating q_rate_equipment164Same quality scale plus Cannot rate=99; household experience, not technical test
23Contract status q_contract_status170More than three months left/renewal within three/out of contract/Don’t know=99
24Twelve-month switching intent q_switch_intent1801 Definitely will not…5 Definitely will
25Hypothetical switching triggers q_switch_triggers190Multi price/reliability/speed/support/moving; exclusive would not consider=99
26Alternative provider consideration q_considered_competitors200Multi invented providers excluding current named provider; Other=98 text and exclusive None=99
27Housing tenure d_tenure210Own/private rent/social rent
28Property type d_property_type220Detached/semi/terrace/apartment
29Settlement d_settlement230Five broad types; no actual location IDs
30Employment d_employment240Six general categories

Provider codes: Doventra Net=1, Pellorin Link=2, Uvellan Fibre=3, Sarnove Connect=4, Kelvori Home=5. All are fictional. The current-provider list keeps its declared order. Alternative consideration is a carried complement: the current named provider is excluded; Other and None remain available. Do not interpret a respondent naming Other twice as two distinct canonical providers without later coding.

Behavioral contracts:

  1. Consent refusal stops before screening. Underage is a valid screenout, not a validation error. Role nonparticipants and mobile-only households receive an ineligible ending without service evaluation.
  2. No support contact skips contact channel, satisfaction and resolution together. Support answers describe one most recent issue rather than unrelated historical contacts. Other support channel retains the supplied verbatim.
  3. Monthly cost 251 is invalid; rejection commits no state. Unknown, inseparable bundled costs and refused costs leave the amount absent; a literal zero means free. Remaining support, ratings and switching questions still apply. A bundle response mixing TV and no-add-ons is rejected before any accepted change. Corrected answers allow continuation.
  4. Both contact and no-contact respondents receive the five service ratings and hypothetical switching measures. All respondents may name triggers even when current intention is low: triggers measure conditions for a hypothetical switch, not current active search. Current provider is excluded from alternative-provider choices.
  5. The fixed-reference-period source and stable answer codes are retained through replay; local completion does not mean storage on a fieldwork server.

Ten declared fixtures cover full support/switching, no support contact, Other provider, participation refusal, underage, mobile-only screening, cannot-rate answers, inseparable bundled cost, declined cost and free broadband. Both engines run the same collected-question contracts and actual submissions. No real account, address, IP, phone or contact data is used.

The service ratings are study-specific, not a validated index. Technical terms, cost-estimate availability and five-point quality ratings need cognitive testing for respondents who cannot know their package or cannot evaluate billing; such uncertainty must inform a revised instrument rather than being interpreted as low quality. This demo’s explicit Don’t know categories cover technology, speed, cost availability and contract status; service ratings allow Cannot rate. Host quotas, invitations, privacy notice and permission authority are external. Browser/mobile layout and real fieldwork, legacy DLL acceptance and fixed-width export are not established by these local checks. QSS alternative-provider choice uses isp_list.except(answers.q_primary_isp.ids()) with explicit Other/None fallbacks. The provider question always precedes this selector; unavailable selector input refuses explicitly. The current Other choice does not suppress the unlisted-alternative fallback.

All examples · Raw Markdown