Updated May 28 at 17:35: The graphs showing the “percent ontime” information have been updated to clarify some of the headings, and to add summary pages showing the percentages separate from the other displays. Commentary about this has been added to the end of the article.
We hear a lot from the TTC about “customer service”. A fundamental part of the TTC’s “product” is the actual movement of people to and fro in the city. Clean vehicles, friendly staff, detailed and accurate web information — these are all part of the package. But without reliable service at the bus and streetcar stops, the rest is window dressing, an elaborate stage set for a theatre without a show, a supermarket with stale food on half-empty shelves.
In many past articles, I have reviewed the operation of various streetcar lines, but it’s worth looking at some of the major bus routes too. These are routes with extremely frequent service and heavy passenger demands. Some are candidates for LRT. How do they operate? What is their service quality given that they are unconstrained by tracks and overhead? Over the next few months, I hope to review a number of routes to see their similarities and differences.
This is a long and rather technical article, but I wanted to include a fair amount of detail as an alternative to simply saying “the service is screwed up”. This affects how the service is operated, how it is perceived by riders, how it might be analyzed by the TTC, and most importantly that a catch-all explanation such as “traffic congestion” is too simplistic a response to complaints.
A Brief Review: How Does This Work?
All TTC vehicles now have GPS receivers and their location is included in an update to the central CIS (Communications and Information System) every 20 seconds. From time to time I have obtained extracts of the archived data for selected routes, and I have developed a group of programs to digest and analyze route behaviour.
To simplify analysis, a route is “flattened” into a one dimensional space, a line with “zero” representing one terminus. The GPS locations are converted to points on that line based on their distance along the route (the process is actually quite simple, but I won’t go into the programming tricks used to make it so and to eliminate rogue GPS readings from locations such as the middle of Lake Ontario).
Those 20-second samples can be plotted against time to give a chart of a vehicle’s movement which typically shows up as a “zig-zag” back and forth with the “top” and “bottom” of the chart, the termini of the route. When all vehicles are superimposed, irregularities show up as uneven spacing, abrupt changes in the slope of a line (indicating a change in speed), layovers (horizontal stretches with no movement). Because the GPS data are fine-grained, it is possible to see long holds at major stops or intersections. These graphs give an overview, but they can be tedious to look at on a large scale.
The mapped data, however, can also be used to determine the headway of vehicles at a point (the time between vehicles) and the travel times from one point to another (referred to in these articles as “link time”). Uneven headways show bunching as well as the degree to which service as operated exceeds the TTC’s goal of keeping headways withing three minutes of schedule. Varying link times can show the effects of traffic congestion (large scale swings in the times for all vehicles) as well as the degree to which such times are predictable for schedule and route management purposes.
Headways — the spacing between vehicles — represent the service as riders see it, and I will look at those values first.
The data were chosen from November 2011 and from March 2012 for a few reasons. First, there were expectations of service cuts over the winter, although these did not materialize to the degree expected. I picked these months as “before” and “after” for comparison. Second, these are two months with fairly benign weather (especially in our mild winter) and with no holidays (Easter fell in April in 2012).
Finch has a major construction site at Keele — the future Finch West Station on the Spadina subway — and this shows up as severe traffic congestion on certain days and times of the day. The analysis shows the degree to which this actually affected (or not) the bus service and, by implication, could be blamed (or not) for irregular service.
What Do Headways Look Like?
Here are plots for three separate dates showing the headways on 36 Finch at nine different locations along the route.
On November 1, construction delays at Keele and Finch were particularly bad as we will see later in the Link Time charts. The headways for this date are quite unreliable. A few weeks later on November 17, things had settled down somewhat. By the following March, construction delays were much less of an issue.
Reading the charts:
- Each chart contains nine pages, one for each location on the route where the headway is measured from the vehicle movement data. Yonge Street (actually a point just west of Yonge) is on page 1, and Humberwood (a point just north of the loop) is on page 9.
- Each dot represents one headway. Low values (close to the X-axis) show two (or more) buses running close together. High values show a vehicle running behind a wide gap.
- The line joining the dots provides a visual indication of the degree to which the headways actually vary. Particularly high spikes are particularly large gaps.
- The wavy horizontal line is a trend line interpolated between the dots. It shows the overall pattern of the data and corresponds roughly to the average headway. This is the headway actually operated, not necessarily the scheduled headway against which the TTC measures its performance ±3 minutes.
- The data points do not distinguish between express and local vehicles or short-turns because the advertised route, branch and destination of the vehicles actually displayed (as opposed to scheduled) is not included in CIS data.
What is quite evident on all six sets of charts is that service leaves both termini on an uneven frequency. Westbound from Yonge and eastbound from Humberwood (or from scheduled short turns at Kipling and at Weston) the headways do not stay reliably close to a target value. This occurs throughout the day and evening and all day on Sunday (Saturdays are similar).
Buses run in packs because they leave the termini close to each other and the pairs, if anything, get closer together as they proceed along the route rather than showing any indication that someone at CIS Control is telling one of them to “slow down”.
This is particularly striking eastbound on Sunday evening March 18. All of the service originates at Humberwood, but the scheduled headway of 9 minutes (early eve) or 13 minutes (late eve) actually shows up with many buses very close together and gaps of 20 minutes or more.
March 18th saw severe congestion in the segments around Keele Street only in the evening. This triggered short-turns and a generally erratic service. However, if we look one week earlier at March 11 when congestion was not an issue, the irregular headways are still plainly visible. This shows that they are a routine operating practice, one that was accentuated by the congestion, but a fundamental characteristic of the line’s operation.
Looking at a Full Month’s Data
Performance numbers for the TTC are often reported as very large scale averages with all day or all month numbers commonly cited as examples of how well (or not) the system is doing. Hidden in the averages is a wealth of information showing variations by time of day, location, day of the week or month. Riders experience buses and streetcars a few at a time, not “on the average”. Overall data for a month is a good place to start looking for unusual behaviours and patterns provided that the detail view, the one the rider sees, isn’t lost in the shuffle.
Headways for November 2011:
In each set of charts there are eight pages of which seven have a common format. The first five show all of the headway data for days of one week. For example, the first page of “Westbound at Yonge”:
- There is data for four days because this is a short week with the first of the month falling on Tuesday.
- Each day’s data has its own colour and symbol as well as a trend line to show the overall pattern.
- The trendlines show that the data for all of the days behaves similarly overall even though there are individual characteristics to each day.
- The scatter of the points shows that the range of headways routinely goes outside of the target range of ±3 minutes, and that these conditions are scattered through the day, not confined to peak periods.
As we step through the pages for weeks two to five, the general pattern stays the same, but the height of the “cloud” of data points gets shorter. This turns out to reflect improvements in the construction delays at Keele which, in turn, reduced the disruption of service. Note, however, that it was not eliminated.
The sixth chart shows all of the weekday data piled onto a single page. Visible here is that throughout the day, the headways are clustered between 0 and 10 minutes with a considerable number of outliers beyond the 10-minute line. The less-frequent late evening service shows up as a general bend in the clustering after 20:00.
The final two charts show data for Saturdays and Sundays. These are especially troubling because generally speaking there is less interference from construction, and with the wider scheduled headways, the spread in actual values makes for service considerably worse than advertised. Moreover, this chart shows buses leaving from Finch Station, a point where if any headway regulation were being practiced, it would show up quite notably before any events along the route had the ability to interfere with well-spaced buses.
The charts for Dufferin westbound show the same behaviour as we saw at Yonge. Irregular service here is not a product of disruptions along the way — it leaves the terminal that way.
Eastbound at Martin Grove is much worse because during many operating periods the full service does not operate this far west. However, what service does arrive at Humberwood leaves on an irregular headway and shows up at Martin Grove scattered all over the place. Another factor here, especially early in the month when the construction delays were worst, is that buses destined for Humberwood are short-turned and the full service is not available to riders beyond that point. Although headways overall lie along fairly flat, smooth trend lines with similar values day-to-day, this masks huge swings in the individual values and very large gaps in service. On weekends, there are few short turns, but headways lie in a band roughly 20 minute wide around the trend lines (and the scheduled headways).
By the time we reach Dufferin eastbound, there is more service because all of the scheduled and unscheduled short turns have merged in, but the headways are still scattered. The effect of construction in early weeks shows up here too, as does the large swing in headways on weekends.
Headways for March 2012:
The charts for March 2012 have a similar character to those in November. The first part of the month had small amounts of snow and a few days where the temperature stayed below freezing. By mid-March, the weather was positively balmy with highs in the teens and twenties.
The early-month snow shows up a bit in the headway charts for weeks one and two. Otherwise, the data behave similarly in March to November but with less spread in the values notably on weekends. Whether this is due to better line management or a major change in the effects of construction is hard to say. There appears to be somewhat less running in pairs as evidenced by fewer headways close to zero especially on weekends. The spread of headways inbound at Martin Grove is not as bad as in November, although it is still not as well-behaved as one would like.
Link Times and Traffic Congestion
Link times show the travel time from one point to another on a route. The charts are similar in format to the headway charts in the previous section, but they convey different information. Here are samples of link times for this route:
Each chart shows the travel time required for a bus between two points. The horizontal position on the chart is the time the vehicle left the origin, and the vertical position is the trip time to the destination. These values tend to cluster around a trend line more closely than headways because driving time is mainly affected by traffic and passenger loading. In some cases, a short-lived delay may hold a few buses whose trips between the two points will be longer than most (November 1, Yonge to Bathurst, just before 18:00). In other cases, pervasive congestion may cause many vehicles to be delayed over an extended period and the effect is enough to shift the trend line. This shows up particularly well eastbound from Keele to Dufferin when congestion pushed what might be a six-minute trip in quiet periods to over half an hour.
That said, examples this extreme are rare in the overall data. There are two kinds of congestion: that produced by predictable events (rush hour, heavier passenger loads) and those that are unpredictable (short-term construction projects, storms). The link times tend to be well behaved because for much of the day the traffic conditions don’t change much from hour to hour, or by time period. A good example can be seen in the times for Sunday, March 18 where the travel times tend to stay within a narrow band. The one exception is in the evening from Keele to Jane where a one-time event (probably construction related) roughly doubled the travel times from about 20:00 onward. This was reflected in the headways for that evening as discussed above.
The charts for the links crossing Arrow Road (Jane to Weston westbound, Weston to Jane eastbound) include various spikes in travel times. These are actually caused by buses taking long layovers (probably for crew changes) at Arrow Road. Similar spikes appear on some of the other pages usually due to a vehicle standing out of service at some location between two points I have used as a link for an extended period.
Monthly collections of link time data can be plotted in the same format as the headway information, but for this article I have chosen to look at a the route on a larger scale — the trip from Yonge to Jane (affected strongly by the construction at Keele) and from Jane to Humberwood.
These charts show the effect of congestion particularly in the PM peak, but it is not an all day effect. On weekends (notably Saturdays) there is a long rise and fall with the peak in mid-afternoon. This is usually associated with shopping congestion. Note that it is quite similar week-to-week.
The point of these charts is that they do show changes in travel time, but in many cases these are changes that occur regularly and can be built into any schedules. Unpredictable congestion can explain some of the chaos in headways, but not all of it.
The Three Minute Metric
The TTC’s current goal, and the measure employed to grade service, is that headways should be within three minutes of the advertised value 65% of the time on bus routes and 70% of the time on streetcars. However, the publicly reported values are system averages for entire months, hardly a meaningful indicator of differences between routes, days of the week, periods of service and locations on a route. In this section, I will review how service on Finch West for March 2012 stacked up against the target.
Four locations and directions are examined here. These correspond with some of the charts presented earlier in the article.
Each file contains eighteen charts — six each for weekdays, Saturdays and Sundays. Five correspond to the five scheduling periods within the day when the headways are more-or-less constant. The sixth summarizes the “percent ontime” values, that is the vehicles that are within the three minute band the TTC is aiming for.
The detailed headway data from each day was scanned and summarized by schedule period and categorized depending on how close to the scheduled headway each vehicle was.
- On Time: A vehicle counts as “on time” if it was within 40 second, give or take, of the scheduled value. 40 was chosen because it is a multiple of the CIS sampling interval of 20 seconds.
- Early: A vehicle counts as “early” if the headway is more than 40 seconds below the target value, but not more than 3 minutes below. For very short scheduled headways, this band could be less than 2’20″ wide.
- Very Early: A vehicle counts as “very early” if the headway is more than 3 minutes below the target, but not below an absolute value of 2 minutes. This band is empty for periods with scheduled headways of 5 minutes of less.
- Bunched: A vehicle counts as “bunched” if the headway is 2 minutes or less, except where the scheduled headway is 5 minutes or less in which case it is impossible to distinguish between bunches and vehicles that are merely a bit early.
- Late: A vehicle counts as “late” if the the headway is more than 40 seconds above the target value, but not more than 3 minutes above.
- Very late: A vehicle counts as “very late” if the headway is more than 3 minutes above the target value.
During peak periods on Finch at Yonge and Dufferin, the combined service is frequent enough that the “very early” and “bunched” categories are empty. This shows one problem of the 3 minute rule: only late buses can count as “off schedule” and parades of closely-spaced vehicles can contribute to “on time” performance. In the off-peak periods, especially on weekends, we see a very different pattern with the “very early” and “bunched” categories being well-represented. Note that one “very late” vehicle could be followed by several “bunched” vehicles and there will not be a 1:1 correspondence in counts for these categories.
Out at Humberwood, the scheduled headways are wider, and we see that service is more likely to lie outside of the 6 minute band (colours yellow, green and blue). The AM Peak is fairly reasonable although roughly 30% of trips may be outside of this band. However, the situation deteriorates through the day and is strikingly bad in the evening and on weekends. Headways at the outer end of the line are all over the map, and service is quite erratic. These are inbound times and they reflect whatever layovers have been taken at Humberwood Loop combined with whatever line management might be practiced to even out headways. Service on the outer end of the line does not meet the standard.
Another way of looking at this data is to consider the count of vehicles rather than the percentages.
This is the same set of charts as before, but the vertical axis now shows how many vehicles came through in the period. Some days and periods have noticeably fewer buses than others, and this reflects short turning when scheduled trips do not reach the end of the line. Riders on the outer ends of routes all over Toronto are familiar with this problem. The service might be just fine in the busy part of the route where the stats are reported, but on the outer ends of the system it is decidedly unreliable. In these locations, buses running on very short headways are next to useless because the riders had to wait for the “very late” bus to show up.
I was tempted to create a category of “extremely late” even though the charts were getting busy, but decided not to (in part because I couldn’t decide just how extreme “extremely” should be). From the headway details earlier in this article, we know that values greater than 20 minutes are not unknown on this route.
The percent ontime values tell a story in their own right. For the weekday data, the peak and midday periods tend to do rather well on Finch West for the simple reason that with short headways, there is no such thing as “very early” and “bunched” is indistinguishable from scheduled service. This puts a large number of data points in the “on time” range and contributes to values at or above 80%. The lower values in the evening are still in the general range the TTC seeks, at least leaving Yonge Street westbound.
The situation falls apart at the outer end of the line where headways are wider and there is plenty of room for variation beyond the six-minute band.
The general problem with a system average as reported by the TTC is that there is a huge amount of data that will easily fall into the acceptable range, and this masks periods and locations where the performance is nowhere near as good.
Overall these charts tell us that a lot of the TTC’s service meets the 3 minute rule, but the amount that does not is substantial, and often well beyond the targets. There are serious problems outside peak periods with headway reliability, and ironically this is the very period where TTC ridership growth is the strongest and the cheapest to serve. Much more attention must be paid to service quality when headways are wide, and the problems we see here should not be buried under system average stats.
There is a wealth of information to be gained from the vehicle tracking data, and the TTC is finally starting to do this type of analysis internally. I look forward to comparing our results, but will continue to report here on various routes of interest.
In the second part of this article, I will look at specific times and locations in detail.