Back to updates

Site Updates + Ghost Buses

Since launching atltransit.live I’ve been fixing bugs, speeding up page loads, and adding metadata to pages for search engines and LLMs. The bigger change is that the site now tracks ghost buses.

What’s a ghost bus?

Riders and reporters already use the term. On ATL Transit Live it has one specific meaning:

A ghost is a scheduled run whose deadline passed with no realtime movement evidence that the trip ran, judged on retained schedule and matching data good enough to evaluate it.

A trip with no vehicle assigned to it does not qualify, since MARTA may be running a bus that just isn’t reporting its location.

No sign of movement at all, on good data, is a ghost. Movement that starts and then goes dark is a tracking gap, and the site says so.

Why it matters

Riders on Reddit and social media keep reporting buses that never showed up and were never officially cancelled.

Because MARTA never cancels the trip, the back-end feeds show no cancellation, so MARTA’s own apps and Google Maps keep presenting the bus as pending. The result is riders waiting for a bus that was never coming.

Every scheduled run gets a status

These are my categories, not MARTA’s.

LabelWhat it means
ScheduledOn the timetable, not yet changed by any supported realtime signal.
Currently dispatchedMARTA is reporting a fresh vehicle position matched to this run.
CancelledA cancellation signal exists that applies to this run, route, or service window.
CompletedFinal, stop-level evidence across the whole run.
Assumed completedThe run started, nothing contradicted it, and tracking stopped before the last stop. A labeled estimate.
Tracking gapMovement was seen, then went incomplete in a way that blocks a reliable conclusion.
GhostThe deadline passed with no evidence the run happened, on data good enough to judge.
Scheduled run endedThe scheduled window passed without enough evidence to call it completed.

What else changed

Stop-level results. A stop is a separate question from a run. With supported timing evidence, a bus can be early, on time, late, or very late. Without it, the timetable stays marked as scheduled time only. A stop can also show arrived, passed, cancelled, skipped, tracking gap, or ghost. If a vehicle position shows a bus went by and MARTA never supplied an arrival time, the site records passage instead of arrival. It does not invent a stop time to fill a blank.

Service alerts. MARTA service notices and GTFS-Realtime alerts get matched to the route, run, vehicle, and service window where the evidence supports it. An alert can explain why a run was cancelled or delayed. On its own it does not establish that every stop was reached.

Route reliability. Route pages now report confirmed delivery and estimated delivery separately. Confirmed counts only runs with final stop-level evidence. Estimated adds carefully bounded assumed-completed runs. That keeps the site from overstating what it knows, and from marking a route as failing because MARTA stopped broadcasting partway through a run that had already started.

Data limits. The site can only evaluate what MARTA publishes and what gets retained. A new static schedule has to be published before future trips can be checked against it. Until it arrives you’ll still see realtime positions, with a plain note that schedule-based reliability and trip matching are limited.

Within those limits, the site shows what it knows, what it can reasonably infer, and what it cannot prove yet.