32 comments

[ 791 ms ] story [ 2007 ms ] thread
Looking at some of the bus routes confirms something I've suspected about MUNI for a long time: most of the "delays" happen at the beginning of the route. I've watched bus drivers sit there for 10+ minutes past the departure time on many occasions, and there appears to be no penalty for the behavior.

I don't know if the drivers are taking a mandated minimum break, waiting in response to orders from dispatch, or just being lazy, but when I see lots of long delays at the top/bottom of every single line on these graphs, it really drives home the source of the problem. I find it difficult to believe that buses leaving at 5AM are encountering enough traffic to cause 15 minute delays immediately upon departure.

Are you sure that's not "the bus driver is waiting for his clock to read the scheduled departure time" or "the bus driver is waiting for people to pay their fare and board the bus" or "the bus driver turned the bus on early to warm it up"?

Every bus I've ridden in has signs plastered all over the front saying how you need to idle it when starting up / shutting down the bus to avoid destroying the innards, so I would expect there to be long horizontal lines at the start/end of runs but I wouldn't expect that to be indicative of drivers being "lazy".

Hang out around Embarcadero Station during evening rush or 4th & King sometime. It's a real mess. I've seen 4 busses running back to back, and some mornings I'll see 5 or more trains backed up. Not to mention the entire system already runs at a snail's pace. I generally bike, and I will usually get there in about 1/2 the time. Compare to Chicago where there's no way I could outrun a CTA bus, let alone the trains.
Yeah, that's fine. I expect delays at rush hour. I don't expect to see nearly every departure for nearly every line delayed by ten minutes or more. That's what these plots seem to be suggesting.
Am I sure? No. That's why I said I didn't know if they were waiting for dispatch, or something else. But I find it implausible that those sorts of delays would cause nearly every departure to be 10+ minutes late at the start of the route, as they seem to in these plots.

Also, I have a lot of direct experience with drivers on certain lines just sleeping in the back of their buses until past the departure time.

What is likely the cause of this is that the previous bus left late due to external delays you weren't aware of, and the next bus waits to leave, even if it will leave late, so that the time between the two will be roughly the same.

I'm relatively confident Muni drivers are not intentionally leaving 10min early, since running an entire route 10min late makes it nearly impossible for them to use the restroom during the time between when they hit their last stop and must turn around and begin running again - a major complaint of the muni drivers' union.

If you look at these graphs, you'll consistently see horizontal lines in front of the first bus of the day, or on busses that run an hour apart.

That's not a delay due to the previous bus being late.

Looks interesting.

One minor thing is that if the sorting of the bus lines was numeric rater than lexical I think it would be easier to find a specific bus line. Also the limited lines should be right after the regular lines (like 5L should be right after 5, 9L right after 9), though with a numeric sort this would just be fixed for free.

This is awesome. Nice work.

Accurately shows the N-Judah ridiculousness I experienced this morning.

What do the short black lines represent? I see some lines start, then abruptly end. Is that a train changing route assignments?
Yes, it's likely vehicles that change their assigned route or are moving between depots.
Trying to compare against the published schedule isn't all that useful. As a resident of SF, I long ago gave up the idea that you could look up the scheduled arrival of a bus and plan around that. However, if a bus is supposed to be running every 12 minutes, that's the number you can plan around (or use to benchmark the performance of a bus line). So instead of trying to show how the times compare with the theoretical schedule I think this would be more useful to show how the buses deviate from the planned interval. If I know it's a 12 minute bus that means I should never have to wait at any given stop for > 12 minutes. If I'm standing there for 30 minutes, then the bus service is failing me.

It would also be useful to color code the historic tracks based on which trips ended up taking something like >10% or 20% longer than the planned time. Again not worrying about if it was late compared to the scheduled route, but just whether it was late relative to its own departure time and expected pace.

It's pretty remarkable how buses in other cities manage to adhere to the published schedule, but MUNI can't seem to manage. I've ridden buses all over the world, and MUNI is absolutely the worst at scheduling or latency. It's almost like they aren't even trying.

And even if you drop the requirement of "stick to the schedule", they still suck: you can have two lines running the same route up a major thoroughfare (e.g. 47/49 on Van Ness), and you'll still routinely get three busses back-to-back, followed by 45 minutes of delay. The only reasonable scheduling mechanism I've found for MUNI is to know exactly how far away the next bus is from your stop. Without real-time position information it's an unusable system, because arrivals are essentially a poisson process.

Muni's on-time percentage has actually improved in double-digits over the past couple of years, while the number of private buses blocking their stops has grown dramatically.

In general, SF is not an automotive friendly city, and Muni buses have to compete with lots of _epic_ _horrible_ drivers. As both a cyclist and a pedestrian, I feel much safer around Muni drivers than around tourist, shuttle, and other private bus drivers, or even out of town drivers like AC Transit Transbay or Golden Gate Transit. Those motherfuckers are cray.

But London or Edinburgh are far, far less car-friendly than SF yet they don't have 59% on time performance.

Something is seriously wrong somewhere if they are honestly averaging 59%.

nextmuni.com is pretty good as far as real-time position information goes. I don't think I've even looked at a published schedule for the last decade.
I agree, but it's useless at the beginning or end of routes as drivers don't depart on time.
I don't know if you rode Muni before they had GPS tracking vs after, but you're right in that it's the only thing that makes the system at all usable. I used to use Muni for my daily commute back before they added GPS to the vehicles and it was an absolute nightmare. At the end of my work day the bus line I took was supposed to run every 15 minutes. It was fairly common for me to have to wait 45 minutes for that "15 minute" bus (and watch 3-4 buses on the same line going the other way pass by). The worst thing is just simply not knowing how long your wait is. Now at least you can check how far away the next bus is and know that you're going to be waiting a ridiculously long time (and call a cab or go to a coffee shop or do something). Even if the delays haven't improved (I don't really know), just the ability to track the buses makes the whole system incredibly more usable.
Agree 100%. I used to work at UCSF Medical Center (Parnassus) and take N Judah from Outer Sunset.

Typical case was I would start walking towards work (or, towards home in the evening) when I didn't see a train. Although the N-Judah schedule was "every 15 minutes", there were often ~45min-1hour delays ,which was enough time to quickly walk from Parnassus to Outer Sunset. Of course, it didn't help that many trains stopped at 19th or Sunset and turned around rather than going the whole way (which meant you'd have to wait another 15-45 minutes for the next train, if it didn't turn around).

Another problem was at the turnaround at La Playa- drivers would disappear into the Muni bathroom there for half an hour, and block all the subsequent trains. Eventually (this was ~2000) Muni put a full time supervisor on site who "watched" the drivers and knocked on the door to get them to go back to their trains. Eventually they started using the switching in the track to skip a few trains in front of slow ones, as well.

More recently I've gone back and the psychological advantage of knowing how long I have to wait has improved the experience a bit.

Yep. And it's more than just psychological: say I have to be somewhere that's 15 minutes away by bus, and 30 minutes away by foot (this is common for me). A random 20 minute delay in the bus arrival means that it's now more reliable for me to just allow the time to walk where I'm going.

I routinely find this to be true even for the underground lines on Market. It's absolutely pathetic that walking is more reliable than taking a subway, but that's the state of MUNI today.

> arrivals are essentially a poisson process.

The funniest thing I've heard all week.

I noticed that certain lines on AC Transit in Berkeley would routinely have the three back-to-back buses problem and wrote a post on it a while ago: http://andrewfong.com/blog/2009/11/12/bus-scheduling/

Long story short, having a slew of people trying to board and disembark at the same time creates a lot of delay. It seems like the sort of thing you could address by having trailing bus(es) during peak hours. But if you're just naively running one bus every X minutes that stops at all stops along a given route, you'll inevitably have back up issues.

Definitely. Of course, MUNI compounds the problem by running absurdly small buses on popular routes (infrequently!) and stopping them nearly every block.

I don't know what ridiculous decision making resulted in this system, but it's not as if the problems are difficult to diagnose.

>It's pretty remarkable how buses in other cities manage to adhere to the published schedule

Avoid Austin Texas at all costs then. We don't have a transit system, we just have these strange oblong boxes that look like buses. Some of them even bend and go really fast, but I refuse to call them busses just like I refuse to call the governing body that oversees them a "Transit Authority".

CapMetro is HORRIBLE.

You can actually see the delay the switch toward Embarcadero station causes outbound on KT/N.
Well done. This would be extremely useful in one of the mobile muni apps. I look at Transporter in the morning to know when to leave for the N, but if it had an indicator of delays, I'd know that it's time to walk/bike/uber instead.
Buses esp 38 Geary and Mission don't look as jacked as I remember them from ~15 years ago. Regularly use to see 3 mission buses bumper to bumper every 30min rather than 1 every 9min.
This would be a lot more interesting with data about private bus locations interlaced with coordinated time.
Could you swap the vertical axis for N Judah? It's a bit confusing to have King & 4th at the top and Judah at the bottom.
This bothers me as well- I'm trying to figure out a consistent way to determine which direction is "Inbound" and which is Outbound - turns out this is quite difficult!

In the case of the N, the 4th and King terminus is closer to some abstract "downtown" point than the other end at Ocean Beach, however this heuristic doesn't generalize to genuinely "crosstown" routes like the 22.

So this depends on when/if I find a method I'm satisfied with.