Transit On-time Performance

On-time performance is critical to the success of all scheduled public transit. Assuming that speeds are competitive, fares are reasonable, service frequencies are convenient, the vehicles are clean and safe and the staff is customer friendly, the level of on-time performance can make or break ridership. The customer needs confidence that the bus or train will show up when the schedule says it will.

Until GPS was installed on the buses, it wasn’t easy to accurately measure on-time performance. Data collection was manual, and the primary tool was the “max load check”. Load checkers were posted at locations, generally on the edges of the two downtowns, where the bus routes experienced their largest loads. Examples were Rice and University in St. Paul and Grant and Nicollet in Minneapolis. The checkers would record the bus departure time and estimate the load, keeping a particular eye out for overloads. The checkers got around to each max load point once or twice a month.

In addition, the dozen or so street supervisors would take load checks as time permitted between their other duties. Finally, once every decade or so every trip on a route would be ridden, passenger boardings and alightings would be manually counted, and schedule adherence at every time point along the line would be recorded.

As you can imagine, such sparse sampling made it difficult to write accurate schedules. It also made it hard to catch bus drivers who ran off schedule. A small number of drivers would intentionally run ahead of schedule to reduce the number of passengers they had to carry. On high frequency routes, some would intentionally run late, so their scheduled follower got stuck with the load.

At Metro Transit, on-time performance is defined as less than 1 minute early to 5 minutes late. Before GPS, based on the available manual load checks, on-time performance was estimated at about 80 percent.

GPS changed everything. Suddenly there was on-time data for every time point on every route every day. It is displayed immediately inside the bus for the driver to see and in the Transit Control Center where supervisors can watch it. And it is archived for analysis.

This had several effects. First, running ahead of schedule (“running hot”) has always been against the rules, but now everyone could see it happening, which effectively caused it to cease. Supervisors have been policing two other rules violations, intentionally running late to stick the follower with the load, and arriving late at a terminal, then failing to leave on-time. Layover time at a terminal is “recovery time”, a cushion to get back on schedule. The drivers don’t get to count on it as break time, although they get a break if they arrive on schedule. Although the amount of layover time varies from route to route, the standard is about 15 percent of one-way running time. For example, 9 minutes of layover would follow a 60-minute one-way trip.

Because GPS provides such a wealth of data, the Metro Transit Schedule Department has been able to write more accurate schedules, and that has improved on-time performance. Running time committees that include bus drivers analyze whole routes at a time.

By largely eliminating running ahead of schedule, almost all the off-schedule performance is now lateness. Correcting bad driver behavior and more accurate running time caused on-time performance to reach 90 percent in 2009. Since then, however, it has gradually declined to about 85 percent. It seems likely that the cause is greater traffic congestion. 2009 represented the height of the Great Recession and the economic rebound brought more traffic with it.

On-time performance is more nuanced than the system-wide average might indicate. It varies by the time of year and time of day. The cliché that Minnesota has two seasons, winter and construction, is all too true. Significant snow narrows streets. Snow windrows at major bus stops slow boarding, sometimes preventing multiple buses to access the stop at once. Ice is the worst. Metro Transit has only shut down a couple of times in my memory. Both were due to ice, when a rain or strong thaw was immediately followed by a hard freeze and the streets became skating rinks.

While snow can mess up a few days of bus service, construction season hurts on-time performance more than winter does. The Metro Transit system achieved 90% on-time in February 2017, but dropped to 81.6% in June 2017. It should be noted, however, that February 2018, which had worse weather than Feb. 2017, saw 85.1% on time.

Time of day makes a real difference in performance. It won’t surprise anyone to learn that the PM rush hour is the worst. In March 2016, local routes averaged 92.4% on-time in the AM peak, but only 83.9% in the PM peak. For expresses the numbers were 95.5% and 76.2%.

As group, local buses perform somewhat better at 85.2% than limited stops and expresses, which achieved 82.4% on-time over the last year. That may seem surprising, but it’s primarily due to local buses running around the clock, while limited stops and expresses are concentrated in the rush hours, when the traffic is worse. Here’s a good example of two routes that use I-94 between Minneapolis and St. Paul. Route 94 is the all-day, non-stop express between the downtowns. Most of the day I-94 is free flowing so Route 94 averages 90% on time. Route 355 Minneapolis-Woodbury Express runs the same freeway, but only during the rush hours and is only 85% on time.

It’s harder to write an accurate schedule for express buses than for local buses because freeway traffic is much more volatile. Some days it’s free-flowing, some days there’s extreme congestion. Delays caused by crashes are a huge wild card. However, expresses do better than they used because most get to use some combination of transit advantages such as HOV lanes, bus-only shoulders, ramp meter bypasses and the Marq2 set of bus lanes in downtown Minneapolis. These eliminate the worst of the lateness. Expresses may get late, but they’re often faster than single occupant automobiles on the same highway.

Unlike most new bus routes, the A Line BRT had the benefit of extended schedule testing before it opened for the public. Even though it runs almost entirely in mixed traffic (with some signal priority), a good statistical profile of delay was assembled and the final running time expands and contracts throughout the day to match congestion. The result is that the A Line is running 94 percent on time so far in 2018.

On all routes, on-time performance tends to worsen later in the trip, simply because the bus has encountered more obstacles.

Light rail does better than buses because the trains have their own exclusive rights of way, combined with traffic signal priority and even preemption. In this regard the Blue Line does better than the Green Line. The Blue Line has actual signal preemption along most of its route. It gets to change most of the traffic lights along its route from red to green. The Green Line has only signal priority (shortens reds and lengthens greens), and has to pass through many more signalized intersections than the Blue Line, so the potential for delay is much greater.

The Blue Line established a reputation for very high on time performance. Then the Green Line opened. Blue and Green trains were scheduled to arrive in downtown Minneapolis 5 minutes apart. However, for the first several months before the signal timing priority was worked out, the Green Line’s performance was terrible. The scheduled running time was 48 minutes but most trips were taking 55-60 minutes, causing them to conflict with Blue Line trains downtown. That messed up the Blue Line. Over several months the Green Line traffic signals were timed correctly and on-time performance is now over 90 percent. Later Minneapolis improved the timings in downtown, allowing a couple more minutes to be trimmed on both lines.

The Northstar commuter trains had a sterling record of 95% or better until the winter of 2014-15, when a sudden increase in oil train traffic combined with horrible winter weather messed up the BNSF railroad and the commuter trains with it. BNSF undertook a crash program to add double track and passing sidings from the Twin Cities to eastern Montana. More track capacity was added and the Northstar line reliably runs on time again.

Lateness is most noticeable and irritating when a scheduled bus doesn’t show, then 10 minutes later two appear together. “Bus bunching” is as old as public transit and not easy to prevent because a late bus tends to get later. With the advent of big data, however, at least it can be studied in new ways. They’re answering the question, “If a bus is late, how late is it?”. Metro Transit is now tracking “Headway Adherence”, their term for the number of times a bus route experiences a 20 percent or 40 percent deviation from the scheduled frequency. For example, on a route scheduled for every 10 minutes, a bus that is 4 minutes late is causing a 40 percent deviation from headway adherence. On Metro Transit’s High Frequency routes (15-minute frequency or better) overall on-time performance is about 85%, but about 92% achieve headway adherence of less than 40 percent deviation. Got that?

Before GPS, passengers had to go by the scheduled times and hope the bus would be on-time. During a snowstorm you knew the bus would probably be late and the wait might be long and frustrating, but what choice did you have? Having real time bus arrival available to everyone online has taken much of the uncertainty out of lateness. You can check on your bus, see when it will actually arrive and avoid standing around in bad weather wondering when or if it will show.

One last thought: Unlike the airlines and Amtrak, which pad their schedules to achieve the appearance on running on time, Metro Transit uses no padding, except for a couple of minutes mid-trip on the heaviest routes. is a non-profit and is volunteer run. We rely on your support to keep the servers running. If you value what you read, please consider becoming a member.

8 Responses to Transit On-time Performance

  1. Justin H June 5, 2018 at 10:05 am #

    Is anything being done to improve the accuracy of Nextrip? In my experience, the Nextrip is very accurate when there are no delays in the system, but it fails miserably when there are delays (e.g. snow). This is sadly ironic, because that’s exactly when you need it to be the most accurate. In effect, Nextrip is a glamor feature that with severely limited practicality.

    • Jeremy Hop
      Jeremy Hop June 5, 2018 at 10:24 am #

      I believe NexTrip has been upgraded recently to send a beacon update to the server ever 30 seconds, instead of every few minutes as was in the past.

      • Will June 7, 2018 at 5:25 pm #

        It seems like so much of the time, Nextrip just spits out the schedule, rather than a real time estimate. This makes Nextrip next to useless for me when I’m in Richfield or using the MOA routes. Is there a reason why so many lines do not seem to have any information?

  2. Jeff June 5, 2018 at 10:07 am #

    Fascinating article, thanks Aaron! I’m curious about two things. First, you noted that on-time performance is less than 1 minute early to five minutes late. It seems odd to me that the definition of on-time would not fluctuate with the frequency of the line. For LRT/BRT, during peak, a bus/train that is 5 minutes late is arriving only five minutes before the next bus/train. I wonder how the numbers would look if on-time was instead defined as % of interval or something like that. Second, it always amazes me that the Green Line doesn’t have the same signal pre-emption that the Blue Line has. Granted, the Green Line has more stops and just doesn’t run as fast as the Blue Line, but it seems like anything that could be done to speed it up should be done. It’s aggravating to sit on a full Green Line train during rush hour and then sit at the Raymond light, for example, while two or three cars cross or turn onto University.

    • Aaron Isaacs
      Aaron Isaacs June 5, 2018 at 1:58 pm #

      The interval analysis you mention is the Headway Adherence described in my post. Combine that with conventional on-time performance (1 early to 5 late) to get a more comprehensive understanding of schedule performance.

      The Green Line decision to only allow signal priority was made by St. Paul Public Works. They vowed not to permit a repeat of the traffic disruption caused by the early version of Blue Line signal preemption. Subsequent single tuning along Hiawatha has reduced the negative impacts of preemption but that hadn’t helped the Green Line.

    • Nicole Salica
      Nicole Salica June 5, 2018 at 4:49 pm #

      One day, I’ll get off my tail and organize for signal pre-emption on the green line. I believe that if I took a clipboard with me to just a couple of those trains, I could find a couple hundred signatures asking for it.

      • Jeff June 6, 2018 at 4:21 pm #

        I’ll happily sign that petition.

  3. harry June 5, 2018 at 10:59 pm #

    The city is discounting parking to $20 for 35W commuters which normally cost $99/month.SO much for Transit Advantage.
    The 2 central cities needs to to do more to give buses and transit priorties,Too much traffic slow the buses and train especially during events/rush hours in the downtowns

Leave a Reply

Note on Comments welcomes opinions from many perspectives. Please refrain from attacking or disparaging others in your comments. sees debate as a learning opportunity. Please share your perspective in a respectful manner. View our full comment policy to learn more.

Thanks for commenting on!