buses.fyi
loading…

Awfulness Map

past 90 min of bus activity
stop rank
best decilemedianworst decile
dashed = bunched (CV > 0.7)
Awfulness = badness × (1 + crowding rank)
Badness = avg headway × (1 + bunching CV)
Color = percentile rank across all stops.
Crowding uses route-level OMNY ridership for the current day-of-week + hour. MTA data publishes with ~1 month lag.
10 worst lines right now · Badness