Hacker News new | ask | show | jobs
by et-al 2892 days ago
On a tangental note, another HN user posted another visualisation a few months back which I quite enjoyed:

Why do buses bunch?: http://setosa.io/bus/

3 comments

Indeed. You can do all sorts of complicated analysis of where, when, and how frequently buses bunch. But the explanation is very simple - like magnets, buses attract each other, in a positive feedback loop. As long as the waiting time at each bus stop depends on the number of passengers that have to get on and off, then buses will always bunch. This is caused by the bus schedule being tight, so the bus has to keep on driving to stay on time. The problem will be worse the more frequent the service is.

The solution is also very simple. Stop the waiting time at each bus stop depending on the number of passengers that get on or off. Slacken the timetable, so that every few stops the bus waits for a minute to match the schedule.

On bus routes with very frequent service, for instance every 10 minutes or more frequent, there is no longer really any need to have a timetable - it will be a bigger win for the customer to just make sure the buses don't bunch than it is to actually publish a timetable. In this case, you may want to implement a negative feedback loop based on vehicle tracking. Most buses are remotely tracked now anyway, so it shouldn't be too hard to return a signal to each bus saying either "carry on as normal" or "you're too close to the bus in front, wait a bit at the next stop".

This is basically the one problem that needs to be solved for buses to not be rubbish, and it is so simple to do so.

Milwaukee does this, you get on the bus by when an app says it's gonna arrive around there. They also put express buses[1] on the busy routes which don't make the exact same stops. Two ways to split the difference on bunching I guess.

If you check out their site[2] you can click on the Route Map button and see the buses run in real time.

[1] https://urbanmilwaukee.com/2014/12/03/eyes-on-milwaukee-new-...

[2] https://www.ridemcts.com/routes-schedules/greenline

>and it is so simple to do so.

Except for the little hiccup of organizational politics in government bureaucracies that needs to be solved or side stepped as a prerequisite. If you can do that tons of "hard" problems are easy to solve.

Most bus services that I know are private companies, so this wouldn't be a problem.
In Boston on the T-lines they will just announce that the subway is expressing to skip the next two stations. Every one who wants to get off at the skip station needs to exit and catch the train behind.
> "you're too close to the bus in front, wait a bit at the next stop"

That's one way to infuriate the passengers on the waiting bus.

Not if it's something like 20 seconds.
Those will be a very tense 20 seconds. A big sign with a clock will help manage those expectations.
Buses can also pass each other or not stop at every stop. If two of the same line's buses hit a stop at once, maybe the second rolls on by to the next stop unless they have passengers to drop off? The example is a little too simplistic but does illustrate how rapidly the issue can appear.
Yep and I also went to University of Pittsburgh. Not a coincidence.