Applied ML Systems · Capstone brief

DS-01 · Predicting when the bus is actually coming

How far apart are they, and can you predict the gap for a given route, stop, and time of day better than assuming the bus is on time?

The question

GRTC publishes a schedule and a real-time feed. How far apart are they, and can you predict the gap for a given route, stop, and time of day better than assuming the bus is on time?

Data

GRTC static GTFS (via Transitland mirror of the agency zip) (https://www.transit.land/feeds/f-grtc~va). Supplement with NOAA hourly weather for the Richmond area (https://www.ncei.noaa.gov/products/land-based-station/global-historical-climatology-network-daily). A public GTFS-Realtime developer endpoint is not currently published — treat real-time capture as a design problem (documented bus-tracker sampling, or schedule-only with an honest baseline). Whatever you collect, start early: eight weeks of capture beats four days of padding.

Expected failure modes

Realtime feeds drop out for hours and the gaps look like on-time performance. Trip IDs change between schedule versions and silently break joins. Rush-hour and midday behave like different problems. Predicting delay in minutes looks easy because most buses are near-zero — the model learns to say "on time" and scores well.

Done looks like

A model that predicts arrival delay at a named stop, evaluated against the "assume the schedule" baseline, with error broken out by time of day and route — plus an honest statement of how many hours of feed were actually captured.

Five C's

CT: choosing an error metric that punishes the costly direction (early buses strand riders; late buses annoy them). CR: designing the collection pipeline before there is data to analyze. CO: comparing capture logs with a peer to find dropouts. CM: a rider- facing explanation of what "3 minutes late, usually" means. CZ: who is harmed by an unreliable bus, and does the error concentrate on particular routes.

Mentor role

A transit planner, data engineer, or logistics analyst reviews the collection design at Checkpoint 1 and the error analysis at Checkpoint 2. School- supervised, both times.

Rubric calibration

R1: the question is narrowed to specific routes and hours, with a stated reason. R2: collection gaps are logged and reported, not hidden. R3: beats the schedule baseline, and the student can say which conditions drive the gain. R4: error split by hour and route, with the early/late asymmetry addressed. R5: a rider could read it. R6: names which riders bear the worst predictions.

Two ways this goes wrong

(a) The student starts collecting in week six, has four days of data, and pads with schedule-only rows — the model learns the schedule and reports excellent accuracy. (b) The student reports mean absolute error of 2 minutes and calls it a success, without noticing every large error is on one late-night route.


Source moved or something unclear? Send feedback on this brief. Mentors are advisory; the school supervises. These briefs do not produce verified computer-science credit.