The Question

Which of thirty fixes will keep our buses evenly spaced?

Case study · Public transit · High-frequency bus

Client work product

Testing bus-bunching fixes before riders feel them

Client
RTC (Réseau de transport de la Capitale)
Industry
Public transit
Decision type
Routing and dispatch
Geography
Quebec City
Scope
Métrobus lines 800, 801, and 807; 30+ candidate strategies
Decision
Service planning: which operating strategies to put on the street, and in what combination

Client brief

RTC runs public transit for the Quebec City area, and on its Métrobus lines the promise to riders is the gap between buses. When one bus runs late, more riders wait at the next stop, boarding takes longer, and the bus falls further behind while the one behind it catches up. Riders wait far longer than the schedule says, then watch two buses arrive together. RTC's planners have more than thirty ways to fight bunching, including holding, headway management, layover, and frequency changes, and many come with dozens of settings. Adding layover is the familiar fix, and transit planners know its cost: longer trips, and service hours that have to come from somewhere. Service planning needs to know which strategies work, in which combination, before asking drivers, dispatchers, and riders to live with them.

§ 1

The decision

RTC's planners work from rich data. Vehicle location data gives runtimes by segment, passenger counters give boardings by stop, and fare data gives trips by origin and destination. With it, the team diagnoses what happened and builds the next schedule in Hastus.

The harder question is what will happen. Every trip on a route is tied to the next in the vehicle's block, so a delay on one trip carries into the trips after it. Add one minute of layover at a terminal, or move a line from a 10-minute to an 8-minute frequency, and the effect spreads in ways no runtime table shows. Test strategies one at a time and the combinations stay out of view, though the combinations are what end up on the street.

§ 2

A model of the route as it runs

SimWell built a simulation of RTC's Métrobus service from RTC's own data. The model reproduces run times, dwell times, ridership at each stop, riders' origins and destinations, and some driver behavior, each as the spread observed on the street.

Dispatchers' interventions are built in: holding an early bus, letting a bus overtake, sending a reinforcement, putting a bus back on schedule, switching a bus to drop-off only, and transferring passengers. The model counts what riders see: gaps in service, buses running in bunches, and how crowded each bus gets.

The model reads any schedule straight from a Hastus export, so planners test the schedules they actually build. An experiment plan runs every requested combination of strategies and settings, hundreds of scenarios, and scores each on one measure: customers' excess wait time, the minutes riders wait beyond what the schedule promised. Runs cover a single service day, a month, a booking, or a full year, so a strategy is tested against winter and summer conditions alike.

Exhibit A · Timetable versus regulated spacing
High-frequency line · Schematic · Scales illustrative Service time 07:00 Timetable alone With holding and reinforcement Buses bunched0Gaps0 Buses bunched0Gaps0 Bus Bus running in a bunch Gap in service

Results

What changed

The model gave RTC a way to choose its anti-bunching strategies on evidence, in the unit riders feel. Planners could compare combinations on excess wait time before anything changed on the street, and bring the results to the stakeholders who had to agree to them. RTC also considered using the same model to test all-door boarding, stop spacing, and daily schedule adjustments.

SimWell helps operators make better decisions under uncertainty. We build simulation and optimization models that reflect operational reality, test scenarios before committing resources, and transfer capability so teams can run decisions independently.

Start a project