Network overview
Punctuality, average speed and in-service hours over one window, under one set of filters — every figure a sum over the same journeys. Built from the open bus feed, with nothing bought in.
Data held 4 Aug 2026 – 3 Oct 2026. There is no depot filter: depot is not in the open feed.
Historical performance trends
The punctuality axis runs 0–100 on purpose. Scaling it to the data makes a three-point difference look like a cliff, which is how a chart argues something the numbers don’t.
Route benchmarks
Against the network under the same filters. Routes with fewer than 200 measured timing points in the window are left out — a route with nine observations and 100% on time is a route nobody watched, not a good one.
What these three numbers do and don’t mean
Coverage is South and West Yorkshire
The per-stop record this reads is written only for the areas the poller is scoped to. Other areas appear where a journey starts in one and runs into ours, so their figures are a fragment of that area, not the area.
Vehicle hours are in-service hours
First observed stop to last, per journey. Layover, dead running and time parked between journeys are all outside it, because nothing in the feed says when a duty begins. A supplier’s figure is usually the larger duty one, so this reads low against it.
Punctuality here is journey-scoped
A journey counts wholly in the area it started in. The punctuality report counts each stop in its own area, so the two differ by a few tenths of a point on South Yorkshire. Same window, same definition of on time (−1 to +5:59 at timing points).
Speed is measured, not estimated
Distance runs along the road where the journey’s shape covers the leg and straight across where it doesn’t. The share measured on road is printed under the speed rather than averaged away.