Questions, and honest answers.
Nobody has actually asked these yet, so calling it an FAQ would be its own small lie. These are the questions this data invites, answered in advance. Methodology has the full detail on how every number is derived.
Why report on-time percentage and not wait times?
Because for the old-network versus new-network comparison, only one of them is trustworthy.
Expected wait is derived from observed headways, so it depends on catching most of the arrivals. Arrivals we fail to match make buses look further apart than they are, which inflates the wait. On 2026-08-05 we fixed a bug in our own pipeline where an hourly job was blocking the ingest loop for most of each hour. Arrival matching roughly doubled overnight, from about 244,000 a day to about 485,000, with no change whatsoever in the actual bus service. Measured expected wait fell from 21.8 to 14.9 minutes across that fix.
The first new-network week was measured before that fix. Comparing its wait figures against the June baseline would have shown a regression that was ours, not WMATA's. So we do not publish that comparison. On-time percentage held steady across the same change, which is why the comparison rests on it instead.
Today's wait numbers on the board are measured at full coverage and are the most accurate we have published. It is the comparison across those two windows that does not hold, not the current figure.
How do you know on-time isn't affected by that too?
We checked, and it held: across a 65% swing in arrival coverage, average on-time percentage stayed between 56.4% and 57.8%.
The honest caveat is that this is one natural experiment, not a proof. It also depends on how the average is taken. Averaged across routes, which is what we publish, it held flat. Weighted by individual arrivals instead, it moved about three points. We think route-averaging is the right statistic and that it is genuinely robust here, but we would rather state the limit than imply we have settled it.
Why not compare route by route?
WMATA's June 29 redesign renamed almost every route and redrew most of them. A route number before the redesign and the same number after are frequently not the same service on the same streets, so a route-level before-and-after would compare things that are not comparable.
System-level totals survive that problem, because the network as a whole is still the network as a whole. That is the only cut we publish for the comparison.
On the live map, is that where the bus actually is?
For rail, yes: train markers are raw GPS positions as reported.
For buses, not exactly. Bus positions are map-matched onto the route's shape, so a bus is drawn where it is along its route. When a bus leaves its route, which usually means a detour, we hold it at the last position we were confident about rather than guessing. That is why the legend calls a red dot a known unknown. It is a bus we can see but can no longer place, not a bus parked in the street.
Buses whose last position fix is more than 90 seconds old are dropped from the map entirely rather than left sitting there going stale.
Why do some days show dashes instead of grades?
Because on those days our measurement was broken, and publishing a grade would mean passing our own failure off as a finding about the service.
Currently flagged: bus from 2026-06-21 to 2026-07-27, when a schedule-matching fault corrupted bus ground truth around the redesign; and rail from 2026-07-27 to 2026-08-05, when arrival matching decayed to about a quarter of normal and a mid-service-day schedule reload cost a further evening.
These cannot be recalculated later. We keep raw vehicle positions for three days to save disk on a small machine, so once the window passes the underlying data is gone.
Why isn't a rail A the same as a bus A?
Each mode is graded within its own realistic range. The on-time window differs (rail is allowed to be two minutes early against bus's one, because an early train does not strand you the way an early bus does), and the achievable range differs too.
Grades are absolute, not a curve: a C is a median route or line, an A is genuinely strong, an F is the real bottom. But an A on a rail line and an A on a bus route are two different bars, and comparing them directly is not meaningful.
Are you affiliated with WMATA?
No. DCX is independent and unaffiliated, built from WMATA's public GTFS and GTFS-Realtime feeds and Capital Bikeshare's public GBFS feed. Nothing here is endorsed by or supplied by the agency, including the grades, which the agency would probably not choose to give itself.
Can I get the data?
The scorecard is served as public JSON alongside the site, and the enriched warehouse is available through a keyed API. See the API page for the schema and to request access.
Independent · derived from GTFS-Realtime & GBFS · not affiliated with WMATA or Capital Bikeshare.