Hacker News new | past | comments | ask | show | jobs | submit login
Wait ages for a bus and then two come along at once (jasmcole.com)
86 points by sebgr on March 3, 2015 | hide | past | favorite | 46 comments



The WBEZ article below alludes to the true dynamics problem, but doesn't explain it. The problem is that say you normally run in 10 minute intervals. For whatever reason, double parked car, helping a disabled person on the bus, etc, you get a minute behind schedule. Now suppose at the next stop typically 10 people are waiting. They arrive at the bus stop at one per minute all day. Since you're a minute late, there will be 11 people, which will take slightly longer to load. Furthermore, now the buss is a little bit fuller, so it takes people a little longer to get to and from the doors. Now you get a little more behind schedule. The bus behind you now has the opposite happening. The extra guy you picked up should have been his passenger, and so he makes his stops more quickly, until he catches up with you.

You can try to fix this in a few ways.

1. You can reduce the perturbations to the system, for example, offboard payment, dedicated lanes, stricter double parking enforcement, quicker entry/exit systems for disabled passengers.

2. You can reduce the feedbacks, or provide a counter-feedback, for example, frequent scheduled waiting stops to resynchronize, don't collect fares when the bus is full, traffic light priority when the bus is full


This is a nice analysis, but the data in the article actually disproves it, at least to the degree show in the last plot (quite reliably in my opinion). The distribution of the waiting time is exponential, is a Poisson process, which means that buses do not influence each other.


The mechanism is real and I've seen it in action, to the point that two buses can end up leap-frogging one another as they make their way along a route, the later bus becoming the earlier bus, but getting bogged down on the next stop, and so on. Glommed together like that, they rarely come apart.

If the data doesn't support that - and I haven't the time to analyze the analysis to determine if it doesn't - it's probably due to actions TfL take to counter it. Buses don't stop as often to "even out gaps in the service" as the tube does, but standing at bus stops, I frequently see buses "disappear": two buses look like they're going to arrive at the same time, but one of them turns into a different bus, like it's been reallocated.



The existence of one plausible explanation (good model fit) does not automatically invalidate another plausible explanation (mechanism of action).


It does if the explanations are contradictory. In this case this means one of two things:

1) The "first bus collects delay" theory is responsible for a part of the difference between the data and the model, after all there is some.

2) There is another mechanism at action that statistically reverses the effect of the "first bus collects delay" theory, not necessarily in the same bus runs.

Number 1) is coherent with Occam's razor.


The first thing I'd want to know, to see whether this is true, is "when two buses clump, do they both arrive between the scheduled arrival time for bus 1 and bus 2, or do they both arrive on time for bus 2?"

The only time I've personally experienced bus clumping, they were both late (for the bus 2 time). That doesn't suggest that bus 2 was being sped up relative to expectation.


If buses don't generally pass each other (for reasons of both practicality of doing so the way stops are laid out, safety and policy), bus 2 making their schedule is dependent on bus 1. So if bus 2 is late, it can be bus 1's fault.


But they do pass each other. Look at quarterto's comment:

> I've noticed that in the "two come along at once" scenario, the second bus often leapfrogs the first, skipping a stop while the first bus picks up passengers.


That may be true in some cities, and not true in others. As a car driver in a big city, I've rarely seen a bus pass another bus, but I have seen buses all bunched together. I suspect there is no incentive for a bus driver to pass another bus. He's not the one in a rush to get anywhere.


Or you can detect that and let empty bus pass full one.


couldn't this be easily solved by making the fuller bus in front no longer stop at any stops unless a passenger requests a stop? And the emptier bus behind pick up all the passengers? -Full bus would get farther ahead by not stopping to pick people up and the bus behind would fall behind as it picked more people up.


This happened to me this year. In our first blizzard this year in boston I just missed the 1 bus. Imagine my surprise to see a second half full 1 about 2 minutes later. By the time the bus went over the river to Boston we could see the first bus just a couple blocks ahead. Very few people (if any) at our stops.


I like to summarize this with a riff on Brook's Law: "Adding people to a late bus makes it later."


Interesting. He should look at data from Japan, along with other countries. When I was in Tokyo the trains and buses were all spread out and things ran on-time; you can literally watch the train arrive as the est. time of arrival clicked down to zero. Buses were similarly on-time and never bunched up. Not once did I see this pattern while I travelled around Japan for 15 days.

When I arrived back in Denver the first thing I noticed were 2 light-rail trains that arrived about 5 seconds apart from each other. Buses also get similar bunched up.

Denver isn't anywhere near London's density; I wonder if this is more related to the system in place and ethnocentric factors such as the pride that Japanese operators seemed to have at running everything as precisely as possible.


My dad always causes a ~90 second delay for the Denver light rail, because the operator has to activate the wheelchair ramp for him. How do they handle that sort of thing in Tokyo?

(Also, I often see multiple light-rail trains bunched up after sporting events.)


From what I found in a cursory investigation is that many stations:

A station attendant will They will ask about your destination and escort you from the ticketing area to the appropriate platform and set up the ramp (if necessary) ahead of time. When arriving at a station, there will be an attendant there with the ramp set up for you to disembark.

They also have wheelchair accessible escalators - an attendant will halt the escalator and merge several steps into one flat one, with a lip.


I'd imagine that the platform on most light-rail trains is built so that a ramp is unnecessary?


There's a ramp inside the train that needs to be deployed to bridge the gap to the ramp at the platform.


Sounds like a strange design to me. On most of the train-based public transit I've seen (and even some of the "rapid" buses), the floor of the car is aligned with the floor of the boarding area, such that ramps are unnecessary.


they're aligned, but there's a small gap that needs to be bridged.


Perhaps they just speed the train up to bridge the time gap. That seems like the simplest solution. Do light rails run on a set speed?


That's sort of the elephant in the room, as far as I'm concerned: you don't construct schedules assuming the best possible circumstances and maximum speed.

At least for light rail, it's quite normal to have trains stop for a good few minutes in certain stations. If there are delays, I'm sure that time gets cut.


I thought the "estimated time of arrival" was based on GPS tracking of the trains and not the pre-defined schedule. At least here in Toronto, the displayed time to arrival system is tied to the actual distance of the next train from the station.



Well seems like he is aggregating data across many lines, stops and times per day. Not very surprising that the result looks random.


There are different kinds of randomness. The exponential distribution of the waiting time is a nice, mathematically pleasing result. Although not a very nice one to the commuter.


"Random" was poor wording on my part.

What the exponential distribution means is that bus arrivals are completely independent. The time since the last bus came doesn't affect the probability that a bus will come anytime soon.


I've noticed that in the "two come along at once" scenario, the second bus often leapfrogs the first, skipping a stop while the first bus picks up passengers. I've no intuitive idea whether this would smooth out the flow more than waiting behind the first bus though.


If we accept the exponential waiting time model, then another term for this phenomenon is Poisson clumping: http://en.wikipedia.org/wiki/Poisson_clumping.

I think one intuitive way to explain it is if you're flipping some biased coin continuously, then if someone walks in, you are more likely to currently be in a long streak and have stuff clump afterwards. For exampling flipping a coin with probability 1/60 of heads each minute for an hour (so average wait time should be 10 mins):

    > ''.join('H' if random.randint(1, 10) == 10 else 'T' for i in xrange(60))
    'TTTHTTTTTTTTTTTTTTTTTTTTTTTTTTHTHTTTTTTTTTTTHTTTTTTTTTTHTTTH'


This sounds interesting, but I don't understand. "if someone walks in, you are more likely to currently be in a long streak and have stuff clump afterwards" What does that mean?


Great article. And here's some academic research that models the dynamics of bus bunching and proposes a decentralized control scheme to minimize a combination of passenger wait time and travel time:

http://www.its.berkeley.edu/publications/UCB/2011/VWP/UCB-IT...

...And here's a product we created to commercialize this research:

https://www.youtube.com/watch?v=YQXZybHO52A

Full disclosure: I am a co-founder along with the authors of the above paper of Via Analytics:

v-a.io


At least with SF Muni the bunching of busses issue is more human/contractual/process related.

When the bus runs late (because stuff happens) and thereby completes it's route late and turns around, and is basically right up against the "next" bus... they send them both out BECAUSE the thought of paying a muni worker to wait for 10 minutes to create a sane space between busses is unthinkable in a penny wise, results foolish budgeting process.


Interestingly enough, I ran into an extreme of this on Saturday; while I wasn't inconvenienced by it (the bus showed up 2 minutes after I arrived at the stop), I overheard the bus driver talking to riders he seemed to know as regulars.

This bus was on time, but there hadn't been a bus for over a 45 minutes; the schedule defined the interval as 1 bus / 7 minutes.

There were seven busses on the same route directly behind us.


I thought this was going to be a rehash of this http://www.wbez.org/series/curious-city/why-buses-arrive-bun... but then I saw maths. I'd love to see more articles/analyses like this.


it's worth noting that this measures the distribution of bus intervals. The distribution of wait times will be more extreme because there will be more passengers waiting at a bunched stop, so the 'bunched' experience will be more common than the 'unbunched' experience. Moreover, the hours when the bunching phenomenon occurs are probably biased to high commute volume times.


Another, very different pattern of bus arrival times evidently arises when buses slow down to prevent bunching: https://www.quantamagazine.org/20130205-in-mysterious-patter...


Bunching happens a lot when one delay causes one bus/streetcar/train to hold up all the ones behind it.

Best solution is letting transit vehicles going the opposite direction to turn ahead ahead of the bottleneck and serve the passengers waiting at the stations in front of the delay area.


Another solution would be to have the lead bus skip pickup at a stop (or two).

You'd need clear and solid signage to assuage people waiting though. Something like "Behind schedule, dropoff only. Next bus arrives in 2 minutes".


Or set a dropoff only stop 50 yards from the designated stop. That way the people from the stop don't try to board.


Does London use pay as you board or proof of payment for buses?

Here in Chicago, I think boarding delays significantly contribute to bus bunching (or at least make it worse).


London buses are cashless. Either you use an Oyster or contactless payment card, or buy a ticket or pass in advance.


So, pay as you board.


Not in a way that delays you - the driver doesn't count change or anything.


Almost nobody in Chicago uses cash to board, but if there are 20-30 people boarding a bus, it can still take over a minute as they all have to go through the front door and tap their cards (and of course, it doesn't always work the first time for some reason).


There's still a small delay as each passenger waits to scan their card at the single machine at the front of the bus.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: