Programming · free software · the open webSubscribe via RSS

How Should a Dashboard Compare Scheduled and Actual Service?

From the earlier reference collection. Read the current software blog.

Keep planned timetable times distinct from observed service times, and identify the source and time basis of each.

Give planned and observed times separate labels

A schedule describes an intended departure or arrival; an observation records what a feed or measurement system reported. Put those concepts in separate columns or clearly distinct chart marks. A single label such as “departure time” can leave readers unsure whether the dashboard shows the plan or the event.

For a bus scheduled at 08:10 and observed leaving at 08:14, display both values and state the resulting four-minute difference. If the observation is missing, do not fill in the scheduled time as though the bus departed then. Keep “scheduled,” “observed,” and “difference” distinct in tables, charts, and downloads.

Identify each source and its limits

A schedule may come from a published timetable dataset, while observed events may come from a real-time feed or another operational system. Name the source of each and show when it was retrieved or updated when that information is available. The sources can have different coverage, update frequency, and reliability, so readers need enough context to understand the comparison.

A scheduled trip can also use service-day times that extend beyond midnight. A trip listed at 25:10 may refer to 01:10 on the following calendar day within the prior service day. When displaying such records as clock times, explain the conversion and retain the service date so a cross-midnight trip is not assigned to the wrong day.

Align records before calculating differences

Before subtracting times, ensure the schedule and observation refer to the same trip, stop, direction, and date. Matching only by route can pair unrelated events. Define how the dashboard handles cancelled trips, duplicate observations, and events that arrive late. If the matching process is uncertain, mark the result as unmatched or provisional instead of presenting a precise delay.

For example, if the observed departure is 08:14 but the scheduled record is for a different stop, the apparent four-minute delay is invalid. A method note should briefly explain the matching keys and the meaning of the difference sign.

Make the comparison useful

Use a clear time zone, preserve raw times where practical, and explain whether negative values mean early service. A useful display lets readers see the plan, the reported event, the calculated difference, and the provenance behind each in one place.

References

  1. GTFS Schedule Reference

Suggest a correction · All posts