Skip to content

UK bus travel: the lowest frequency band gives about half the population trips, so incidence counts are about double #1386

Open

Description

@juaristi22

Summary

assign_trips_from_band_means (uk_runtime/nts_bus_travel.py:1513) gives each person the diary mean of their interview frequency band, by series and residence group. The lowest band ("less than once a year or never") has a diary mean of about 3 trips a year. So the method assigns trips to everyone in that band, which is about half of the population.

What this does on the certified build (microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71, model year 2024 unless stated):

  • The band share is right. 55.6% of residents outside London are in the band. NTS0313 (2024) gives 49.5% for England.
  • The level barely moves. The band holds 4.9% of trips and fares outside London, and the band means keep the diary totals.
  • The counts are about double (model year 2027, which the dashboard uses):
    • 48.5m people in the UK have bus fare spending, of whom 24.7m are above the lowest band.
    • Outside London, 38.0m people have fare spending, of whom 17.0m are above the lowest band. 11.1m fare payers make more than 12 trips a year.
  • The income gradient is flatter than NTS0705a. England residents' other-local-bus trips per person fall from 39.1 in the lowest income quintile to 19.1 in the highest, a ratio of 2.0. NTS0705a (2024) gives 47.6 to 13.0, a ratio of 3.7. The income measures differ: the model uses household net income deciles, and the NTS uses household income quintiles.

Consumers that count people affected, or chart who pays, get roughly double counts. PolicyEngine/bus-fare-cap#12 reports 38.0m people affected by the 2027 cap for this reason.

Existing issues. None. #930, #954 and #1331 built and moved the stage. The band-mean design is deliberate: the stage docstring explains why the band, not the diary count, sets incidence and level. This issue asks only about the lowest band.

All figures are weighted totals and shares at nation or region level, or published DfT figures.

Options

A decision for the stage owner:

  1. Set the lowest band to zero trips, and rescale the other bands so that each series still matches the published trip rate. The stage's boardings-per-trip factor then still maps to BUS01 journeys.
  2. Keep the band mean, but give it to a drawn subset of the band: draw whether a person rides at all, then the trips of those who do. Incidence falls and totals hold. The subset share needs a source. The share of the band with any bus trip in the diary week is a lower bound.
  3. Keep the assignment, and export a "regular user" flag (above the lowest band) for consumers to count people.

With any option, add a receipt line: frame trips per person by income quintile against NTS0705a, with matched income definitions where possible.

Not in this issue

Related

#930, #954, #1331. PolicyEngine/bus-fare-cap#12.

Activity

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