Ghost buses appear on transit apps as "arriving" but never show up, destroying rider trust in real-time data

transportation0 views
A "ghost bus" is a transit vehicle that appears on real-time tracking apps and station displays as scheduled or en route but never actually arrives. The root cause is a chain of technical failures: a driver doesn't log into the CAD/AVL system, or GPS hardware drops signal, or the agency cancels a trip but never pushes the cancellation to the GTFS-realtime feed. The app still shows the bus as coming. The rider waits. The bus never comes. Then the next bus shows up already full because it absorbed the ghost bus's passengers. This matters because it doesn't just waste 15-20 minutes of a single wait — it destroys the foundational trust that makes transit usable. If a rider can't trust the app's arrival time, they have to build in a buffer for every trip. A 30-minute commute becomes a 50-minute commute "just in case." Over weeks, that uncertainty tax adds up to hours of lost time, and riders who have any alternative — a car, a rideshare — switch permanently. The Chicago Transit Authority found ghost buses were so pervasive that it took until August 2025 to even begin sharing cancellation data with third-party apps, meaning for years riders were making decisions based on fiction. This problem persists because transit agencies' internal dispatch systems and their public-facing data feeds are separate stacks maintained by separate teams with separate incentives. Dispatch cares about moving vehicles; the data team cares about feed uptime. Nobody owns the gap between "we cancelled run 4472" and "Google Maps still shows run 4472 arriving in 3 minutes." The GTFS-realtime spec supports trip cancellation messages, but most agencies' legacy CAD/AVL systems can't generate them automatically. Fixing it requires either expensive hardware upgrades (dual GPS antennas, automated operator login detection) or manual processes where dispatchers update feeds in real time — which they don't have bandwidth to do during the exact moments (driver no-shows, breakdowns) when ghost buses are created.

Evidence

Chicago CTA began sharing cancellation data with apps in August 2025: https://www.wbez.org/wbez-newsletter/2025/08/06/the-rundown-ghost-buses-busted-in-cta-tracking-apps | King County Council passed legislation directing Metro to track and report unplanned trip cancellations: https://www.theurbanist.org/2025/03/19/king-county-wants-fewer-ghost-buses/ | Swiftly analysis of ghost/zombie bus root causes in CAD/AVL systems: https://www.goswift.ly/blog/banish-ghost-and-zombie-buses | OC Transpo blamed 'data mismatch' for persistent ghost buses: https://www.cbc.ca/news/canada/ottawa/oc-transpo-buses-transit-gps-application-1.7061310

Comments