Skip to content

UK bus fares: impute journeys from NTS microdata so the DfT receipts targets are not level-set by the stage (#890 follow-up) #930

Closed

Description

@juaristi22

Why

#890 (PR-T #904, PR-S #927) sets the level of bus_fare_spending at the UK spine's lcfs stage by raking user households to the DfT BUS05ai receipts (London, England outside London), Scottish Transport Statistics passenger revenue and Translink receipts, and then binds the same facts as calibration targets. The rake exists because the LCFS diary records a fortnight and cannot say who rides a bus in a year (13 % of diary households have a positive fare against the NTS household user share of 74 %), so a take-up style incidence draw from NTS0313/NTS0621 and a positive-regime fill supply the incidence and the rake supplies the level. That makes the design-weight fit of the bus targets near-tautological: the stage and the calibration bind the same number (Vahid's review of #927; María's ruling 2026-09-15 keeps rake and target together as the interim and asks for this follow-up).

What

Impute local-bus use from the National Travel Survey microdata rather than inferring it from the fortnight diary:

  • Donor: NTS microdata (UK Data Service SN 5340, special licence; seven-day travel diaries with region, age, household income, car availability and journeys by mode), pinned and cleaned like the other licensed donors.
  • Stage: impute bus journeys per person (or per household) onto the FRS spine by QRF on the predictors both sides share (region, age, household income, num_vehicles), with identity-keyed draws and the usual support clip and receipts.
  • Pricing: journeys times the published average revenue per journey by area (DfT BUS05ai receipts over BUS01 journeys, both in Chronicle 474a0ae; Scotland and Northern Ireland from their own receipts and journey counts), so bus_fare_spending is journeys × fare and no longer level-set to the receipts.
  • Consequence: the DfT/devolved receipts targets bound in Bind the Chronicle transport and energy facts on the UK national surface (#890 PR-T) #904 then constrain something the stage did not set; the Bind DfT, HMRC, DESNZ, Ofgem and ORR facts for bus fares, road fuel, domestic energy and rail support (#790 ruling: bind facts and calibrate) #890 rake (rake_to_vendored_facts on bus_fare_spending) retires; the incidence draw retires with it (NTS microdata carries incidence). Bus support (bus_subsidy_spending, ETB) is unchanged by this issue.
  • Diagnostics to keep: ONS 07.3.2 (household spend on road passenger transport, GBP 8.0bn CY2024 / 8.6bn CY2025, vendored in ons_household_expenditure_facts.json) as a recorded upper-bound check (it covers coach and taxi as well as bus).

Also considered (recorded in the #927 thread)

  • Rake shape only: NTS9904 (trips by region), NTS0702 (trips by car availability) and BUS01 journeys by local authority would let the existing rake spread receipts across nine regions or by car ownership instead of London / outside-London by income quintile; improves the shape, not the tautology.
  • A different calibration total: ONS 07.3.2 is a broader concept and can only be a check; TfL fare revenue is a company report.

Acceptance

A stage twin whose design-weight bus fare totals sit within the 25 % fence of the #904 targets without a rake, receipts as in experiments/890-fuel-bus-energy-receipts.md, and the #904 targets left as they are. Licensed inputs only through the pinned-donor seam; no publisher number typed into the tree (Chronicle rows via vendored_rows).

Activity

  1. 43 remaining items

  2. added a commit that references this issue on Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions