See why buses bunch and how to fix the problem

Experience shows that buses on high frequency lines often arrive at stops irregularly; sometimes in bunches. Bunching is undesirable for passengers because it increases waiting time at the bus stops.

Why does bunching happen?

The animation below explains the mechanism. Shown is a simulation of a closed-loop bus line. A running clock is in the box. The circle is the loop. The moving dots are buses. The little rays emanating outward from the circle are passengers waiting at the stops. (To repeat the video, press play)

Note how as the buses travel past each stop the little rays disappear. This is to signify that the passengers at the stop have boarded. Note too how the longer the ray the longer the stop. And, although the buses are initially evenly spaced, these spacings get disrupted as time passes until the buses pair up. The simulation assumes that drivers and passengers behave predictably and consistently. It also uses typical values for parameters such as bus speeds and stop times, but no matter what inputs one uses the buses always bunch. So the phenomenon cannot be attributed to bad behavior of the drivers or the passengers. It is an intrinsic property of the system. Why?

The reason is the random passenger arrivals at the bus stops, since their individual boarding maneuvers delay the buses: if on arriving at a bus stop a bus finds more than the average number of passengers waiting, this bus will likely be delayed relative to the bus that precedes it. As a result the delayed bus may encounter more passengers on succeeding stops, and be delayed further. Further delays imply more passengers, which in turn imply more delay. This positive feedback mechanism is the reason[1]. But things are even worse... because as our bus falls behind schedule, it picks up passengers that should have been collected by the following bus. Thus, the following bus experiences less stopping delay so that it tends to catch up until the two buses eventually pair up and travel as a single unit. As time goes by pairs become bunches, until in the end there is a single moving unit. This is the bunching effect.

What can be done?

Transit agencies often attempt to mitigate it by including extra time (slack) into their schedules, and then asking drivers to be punctual at selected control points along the route-even if this means delaying some buses. This method is of limited effectiveness because the slack has to be calculated by assuming a worst case scenario for the bus travel time between consecutive control points along the line, so that buses can stay on schedule despite disruptions. Worst case slack means slow travel times, which is not good for on board passengers-the medicine can be worse than the cure!

Fortunately, since in this day and age it is possible to know where all buses are at all times, we can use adaptive and cooperative strategies that take advantage of this knowledge. References [2, 3] show that a decentralized strategy where each bus only responds to its forward headway-the time separation from the bus it follows-prevents bunching without significantly slowing buses if disturbances to service are minor; e.g., variable passenger arrivals and random traffic events. References [4, 5, 6] show that a decentralized strategy where each bus responds not just to the distance separating from the bus it follows but also to the distance from the bus behind, much as if the buses were connected by springs, is effective even if the disruptions are major. This spring method automatically evens out distance and time separations between buses despite large disturbances such as snowstorms, bus breakdowns and bus insertions.

The animation below demonstrates the concept (press 'play' to see the video). It shows what happens to the system of the first animation when the spring control method is applied after the one-hour mark. Note how: (i) the control method quickly restores and maintains even bus spacings, and (ii) the buses run as fast as in the first animation. You can also imagine that one of the buses that is paired at the start of the animation is a bus that was inserted into service when the three other buses were doing fine; so the animation shows that the spring control method deals with bus insertions well.

The animation below shows the resiliency of the spring method to bus breakdowns (press 'play' to see the video.') The pane on the left shows what happens under conventional control and the one the right under spring control. We have highlighted in red a bus that breaks down early during the simulation. Note how the inter-bus distances are equalized on the right.

References [2, 5] also show that bunching is driven by the average number of passenger arrivals to a bus stop and the average time that it takes for a passenger to board. They also show that the smaller this quantity the less the slowing required to prevent bunching. So mechanisms to speed passenger boarding (as in some BRT systems) not only increase the commercial speed of buses, they also make the system more controllable and regular. The simulation below illustrates the result (press 'play' to see the video). The panes on the left and right only differ in the average bus delay caused by a single passenger, which is 1 second on the left and 2 seconds on the right.


  1. Newell, G.F. and R.B. Potts "Maintaining a bus schedule". In Proc., Second Conference Australian Road Research Board, Melbourne, volume 2, pages 388-393, 1964.
  2. Daganzo, C.F. "How to improve bus service". Working Paper UCB-ITS-VWP-2008-6, U.C. Berkeley Center for Future Urban Transport, August 2008.
  3. Daganzo, C.F. "A headway-based approach to eliminate bus bunching: Systematic analysis and comparisons". Transportation Research Part B, 43(10):913-921, 2009.
  4. Daganzo, C.F. "A cheap and resilient approach to eliminate bus bunching." The 4th International Conference on Future urban Transport, Gothenburg, Sweden, April 19-21, 2009.
  5. Daganzo, C.F. and J. Pilachowski "Reducing bunching with bus-to-bus cooperation". Working Paper UCB-ITS-VWP-2009-12, U.C. Berkeley Center for Future Urban Transport, December 2009.
  6. Daganzo, C.F. and J. Pilachowski "Reducing bunching with bus-to-bus cooperation". Transportation Research Part B, 45(1):267-277, 2011.