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.<p>You can try to fix this in a few ways.<p>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.<p>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
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.<p>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.<p>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.
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: <a href="http://en.wikipedia.org/wiki/Poisson_clumping" rel="nofollow">http://en.wikipedia.org/wiki/Poisson_clumping</a>.<p>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):<p><pre><code> > ''.join('H' if random.randint(1, 10) == 10 else 'T' for i in xrange(60))
'TTTHTTTTTTTTTTTTTTTTTTTTTTTTTTHTHTTTTTTTTTTTHTTTTTTTTTTHTTTH'</code></pre>
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:<p><a href="http://www.its.berkeley.edu/publications/UCB/2011/VWP/UCB-ITS-VWP-2011-1.pdf" rel="nofollow">http://www.its.berkeley.edu/publications/UCB/2011/VWP/UCB-IT...</a><p>...And here's a product we created to commercialize this research:<p><a href="https://www.youtube.com/watch?v=YQXZybHO52A" rel="nofollow">https://www.youtube.com/watch?v=YQXZybHO52A</a><p>Full disclosure: I am a co-founder along with the authors of the above paper of Via Analytics:<p>v-a.io
At least with SF Muni the bunching of busses issue is more human/contractual/process related.<p>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.<p>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.<p>There were seven busses on the same route directly behind us.
I thought this was going to be a rehash of this <a href="http://www.wbez.org/series/curious-city/why-buses-arrive-bunches-110941" rel="nofollow">http://www.wbez.org/series/curious-city/why-buses-arrive-bun...</a> 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: <a href="https://www.quantamagazine.org/20130205-in-mysterious-pattern-math-and-nature-converge/" rel="nofollow">https://www.quantamagazine.org/20130205-in-mysterious-patter...</a>
Bunching happens a lot when one delay causes one bus/streetcar/train to hold up all the ones behind it.<p>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.
Does London use pay as you board or proof of payment for buses?<p>Here in Chicago, I think boarding delays significantly contribute to bus bunching (or at least make it worse).