|Average speed of urban buses versus the number of boarding per km, supposing bus stop spacing of 200 meters|
|Average boardings/km and range of possible values|
Maybe the spontaneous answer is to schedule the bus line for the average and let the chips fall where they may. On average, buses will be on time, but some will be a bit early, others a bit late. Except that this is often seen to be a terrible idea. A bus can be a bit late, no worry, most users even expect buses to be a bit late. But a bus shouldn't be early, because then anyone who followed the schedule and arrived at the scheduled time will rage at missing their bus as it was too early. On less frequent lines, missing a bus can impose quite a delay on users, up to 1 hour on some suburban lines, but even on urban lines, 10-15 minutes until the next bus aren't rare. So you don't want buses to be early.
The solution is to then schedule the bus for the average, or even the worst possible scenario, and tell the bus driver to slow down if he's early to follow the schedule. In effect, scheduled times mean "the bus will arrive no sooner than...". Visually, it gives something like this:
|Range of speed for the scheduled average with directive not to be early|
That is why if you have ever taken a bus during off peak times, you will notice the bus driver is driving quite lazily, at 40 km/h (25 mph) in 50 km/h zones for instance (30 mph). It's not that he wants to be slow, it's that he's being told not to be fast.
But that's not all. Administrators often love punctuality, it's an easy metric to calculate and to boast about (our bus service has 99% punctuality! We are #1!!!). So what they will do then is schedule the worse possible case, assume the slowest bus possible is the rule and tell all buses that have either less passengers, face less traffic or hit more green lights to slow down to match its speed. Meaning in the previous case that all bus drivers will be told to have an average speed of 16 km/h and no faster.
So... to avoid some buses being 2 or 3 minutes late, you impose a delay of 3 to 6 minutes on ALL users. If you care about good service, that is a terrible, terrible deal that will waste dozens of hours for users each day and make it more expensive to run the bus. But hey, buses may be slow as hell, but at least they're punctual!
So that is why I say: to hell with punctuality. OK, punctuality on a transit line with the means to be punctual without slowing down, like subways or trains on their own right-of-way, is pretty great. But punctuality achieved by making the entire service worse? That's insanity. The next time you hear a transit agency head boast about their record of punctuality, hear what they are really saying: "we have slowed down all our buses and made our service crappy to game the stats about on-time service".
What brought this about is that my transit agency has just modified my buses' schedule to deal with a temporary construction zone, adding a 10-minute buffer in their schedule that wasn't there before. However, the people doing the construction have given buses a lane to avoid all the congestion and traffic, so that in effect, buses are only slowed by 1 or 2 minutes.
The result is that, this morning, my bus went at 30 km/h (20 mph) in a 70 km/h zone (45 mph), but even this wasn't enough, so the bus driver had to stop 2 minutes at an intersection not to be early on his schedule. The poor guy looked apologetic and really embarrassed, but I don't blame him. I blame his idiot bosses. This means that my trip to work has just gone from 30 minutes to 40 minutes each and every single fucking day, all so a transit operator can boast about his on-time performance.
I'll take a bus that sometimes is 2-3 minutes late over a bus that is on-time but ALWAYS takes 10-15 minutes more to get to destination. Maybe I'm the only one, but I had to get it off my chest.