Why do buses bunch?: http://setosa.io/bus/
Why do buses bunch?: http://setosa.io/bus/
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.
That's one way to infuriate the passengers on the waiting bus.
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.
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-...