TTC Bus Service Frequency and Reliability in 2020 (Part I)

This article continues a review of TTC bus route service that began with an introduction that included 54 Lawrence East as a sample.

Routes in this article:

Lest anyone think that these routes were “cherry picked” as particularly bad examples of service, no, they simply happen to be busy routes I chose to examine. The problems illustrated here are pervasive on the TTC’s system as future articles in the series will show.

Technical Note

There are a few gaps in the data exported from the TTC’s VISION tracking system because of outages.

On Monday, June 22, there was an outage from midday to early afternoon. This causes very long headways to be calculated for the first bus crossing a screenline (the point where headways are measured) after the system comes up again.

From midday Wednesday, July 15 to midday Friday, July 17, there was an outage and no data are included in the charts for this period.

For each route discussed here, there are sets of charts displaying headway data in various formats including:

  • Averages and standard deviations of headways on a weekly and monthly basis.
  • Raw data including trend lines showing the overall shape of the data.
  • Quartile charts in block-and-whisker format showing how tightly or loosely the data values are clustered around the mean.
  • Charts for Saturdays and Sundays.

In the interest of space, only the weekly averages, standard deviations and raw data charts are shown in the article, but the full sets are available in linked PDFs at the end of the section for each route. An illustration of the quartile chart format is included in the discussion of the Dufferin Bus.

For a complete description of the various charts produced for these analyses, see Understanding TTC Service Analysis Charts: A Primer.

86 Scarborough

Route 86 Scarborough operates east and north from Kennedy Station via Eglinton, Kingston Road and Meadowvale with various branches:

  • 86A to the Toronto Zoo
  • 86B to Kingston Road at Highland Creek
  • 86C to Meadowvale and Sheppard
  • 86D to Beechgrove and Lawrence

In March 2020, service along part of the corridor was also provided by 905 Eglinton East Express and 986 Scarborough Express.

The June 2020 schedules do not include the 9xx express services, but these were partly replaced by improved and extended service on the 86B Highland Creek local.

The 86B service makes up the “trippers” on this route, and the scheduled headways do not blend. Here is the result.

Because only one service runs north to Ellesmere, the headways are fairly consistent. However, the off-peak service is more frequent than the peak service, a leftover from the March schedules when there was also a 986 express service running north to Sheppard.

This is a problem on several routes: an express service was removed, but its function as a supplement to local service on the outer end of a route was not replaced.

By the time we reach Morningside and Kingston Road, there is a tripper service mixed in and the headways bounce around, except for a roughly two-hour period in early afternoon when there are no trippers.

At Kingston Road and Guildwood, the 86D service is also part of the mix and the combined service lies mostly below six minutes, but at uneven headways.

The same patterns are visible outbound from Kennedy Station with frequent but uneven service among the various branches.

At Morningside, the Beechgrove branch has split off, and the range of headways is wider with a mix of very short and very long gaps quite common.

At Ellesmere, only the service running to the northern terminus remains. As noted above, it is better in the midday than the peaks because there used to be a 986 express service to Sheppard supplementing the peak service.

Headways actually operated were not “well behaved” during any period or at any location. These charts show data for vehicles that were tracked by the TTC’s monitoring system and do not include any standby buses added to supplement service. However, standby buses would only, if present, fill wide gaps assuming they were well managed to do so. The frequent cases of short headways with buses following close behind each other exist whether there are untracked standby vehicles or not, and this speaks to problems both in scheduling and managing service.

In July 2020, southbound at Ellesmere, the actual headways, as shown above, are better in the midday than in the peak period because peaks formerly included the 986 Scarborough express service. Throughout the day, the standard deviation of headways is high and it grows as the day goes on showing that headway values are widely scattered even though this is not far south of the terminal for most service.

This chart shows the data for week 2 in July 2020. Headways are unreliable especially in the afternoon and evening.

Further along the route, at Morningside and Kingston Road, the average headway is lower, but the standard deviations run at about four minutes, close to the average, showing that bunching is common.

Here is the actual service operated in week 2 of July. Note that many points are near the x-axis showing vehicles running close together.

Westbound at Guildwood, the average headway is shorter because all branches of the service are now present, but the standard deviation is almost equal to the average showing even more bunching than at Morningside.

Leaving Kennedy Station eastbound, the situation is not much better even though this is the terminal location.

The headways eastbound at Kennedy lie in bands because the screenline for this chart is at the traffic signal just east of the overpass on Eglinton over the GO corridor. Service is marshalled into bunches at this location by the signal cycles.

I have not included eastbound charts for other locations because they are similar to the westbound charts.

There are additional charts in the sets below that illustrate the data in different ways although I have not included them in the article. Among these are charts that break down the data by quartiles. Here is the chart for week 2 of July eastbound from Kennedy Station corresponding to the raw data illustrated above.

The blue and green blocks contain the second and third quartiles (25th to 75th percentiles) of the data, with the mean (50th percentile) marked by the colour change. This shows the range over which headways are scattered for half of the service. The remaining quartiles are shown by the whiskers. The lower red ones include the first quartile while the upper purple ones hold the fourth quartile.

Ideally, the box should be as short as possible with a limited range of values, and the whiskers should not extend far. However both very short and very long headways are common enough that the lower quartile almost always starts close to the axis, while the upper quartile can reach the 30 minute mark or beyond.

The full chart sets are linked below:

116 Morningside

Route 116 Morningside operates east and north from Kennedy Station via Eglinton, Kingston Road, Guildwood Parkway, Morningside and Old Finch with various branches:

  • 116A to Ellesmere and Conlins Road
  • 116B to Kingston Road and Eglinton
  • 116C to a loop north of Finch at Staines Road

In March, the 116B operated only during peak periods. Although there is no express service with the name “Morningside”, this route was overlaid by the 905 and 986 express services for parts of its length.

In June, the 116B and 116C services have been consolidated becoming the “trippers” on this route.

At Sheppard and Morningside southbound, there is only the 116C service. However, the selective cancellation of some runs produces scheduled gaps, some quite large, in the service.

At Morningside and Guildwood, there is a mixture of the two services on headways that do not blend.

Service eastbound from Kennedy Station mirrors the pattern westbound above.

Service northbound at Sheppard and Morningside mirrors the southbound chart above including the large gaps caused by cancelled runs.

The service actually operated southbound at Sheppard and Morningside is, as on other routes, over a wide range of headways even though the averages look fairly reasonable. The scheduled gaps in service show up as peaks in the average headways.

In the data for week 2, the scheduled gaps are visible as higher points and an absence of short headways in the evening period. These data show quite clearly that the TTC has not adjusted the temporary schedules to compensate for the cancelled runs and even out headways.

On the inner part of the route, at Morningside and Guildwood westbound, all branches are present, but the headways are uneven including many buses running close together.

Leaving Kennedy Station eastbound, the standard deviation is high even though this is the terminal location, and bunched service is common.

(As with the 86 Scarborough route above, note that headways are marshalled by the traffic signal where at the screenline where they are measured east of the GO overpass.)

Here are the full chart sets for the locations cited above.

102 Markham Road

Route 102 Markham Road operates east and north from Warden Station via St. Clair, Kingston Road, and Markham Road with various branches:

  • 102A to Centennial College via Progress
  • 102B to Steeles
  • 102D to Major Mackenzie in York Region (a contract service for YRT)

In March there was also a 902 express service to Sheppard via Centennial College.

By June, the express service had been dropped, but the 102B Steeles service was improved to compensate in part. These are, in effect, the 102 “trippers”.

Southbound from Castlemore (the south end of the loop at Major Mackenzie), the scheduled headways are quite wide and they follow the usual pattern with less (albeit only slightly) worse offpeak than peak service.

Southbound at Sheppard, the service is a mix of 102B and 102D buses, and the headways do not blend.

By the time we reach Ellesmere, the buses from the Progress 102A service have joined in, but the scheduled headways remain irregular.

The northbound service mirrors southbound with irregular headways for much of the day.

At Sheppard the 102A Progress service has dropped out of the mix.

North of Steeles, only the York Region service to Major Mackenzie remains.

Note: For the charts below, June 2020 data were used because I did not request an extract for this route for July. Week 3 of June is used as a sample, even with some missing data on June 22, because it follows a schedule change on the route for service south of Steeles and reflects conditions through the summer.

For the charts at Castlemore (south of Major Mackenzie), note that the Y-axis runs to 90 minutes whereas on other charts it runs only to 30. This is go give headroom for the wider headways north of Steeles to fit.

At Castlemore, the standard deviation of headways is high, often near or above 10 minutes, showing a very wide swing in headways even though the averages might look reasonable compared to the schedule.

The data values are spread out over a band that is at least 10 minutes wide for most of the day even though this is just south of the terminus.

By the time we reach Sheppard southbound, the service includes the buses that run to Steeles Avenue. The standard deviation lies at about five minutes and is close to the average showing that there is considerable bunching.

The service operated in Week 4 illustrates the problem with bunching and gapping with headways spread over a range from zero to 15 minutes.

At Ellesmere southbound, the Centennial College service that branches off at Progress has merged into the route. As at Sheppard, the standard deviation and the average of the headway are close together leading to the headway distribution shown in the second chart below.

Leaving Warden Station eastbound the range of headways is somewhat better than we saw southbound, above, because this is right at the terminus. It does not take long from that point outbound for buses to bunch more, and the headway distributions look similar to the southbound values.

Here are the full chart sets for the locations cited above:

39 Finch East

Route 39 Finch East operates east from Finch Station with various branches:

  • 39A to Neilson Road
  • 39B to Old Finch and Morningview
  • 32C to Victoria Park

In March there was also a 939 express service with three branches:

  • 939A from Finch Station to Scarborough Town Centre via McCowan
  • 939B from Finch West Station to Scarborough Town Centre via McCowan
  • 939C from Finch Station to Morningside Heights (peak only)

The June schedules include only the local service which has been improved in some periods to partly offset the elimination of the express service.

The combined scheduled service on Finch is considerably different with the removal of the express services although the degree of change varies by time of day and the portion of the route. Note also that these are scheduled values, and cancelled trips in the June schedules are not reflected here.

Scheduled service westbound at Neilson shows a pattern similar to that seen on other routes where headways are erratic due to mismatched frequencies on each branch.

At Bayview, peak headways are shorter because the 39C Victoria Park buses are included.

On the outer end of the route, the scheduled service is more regular because it includes only one branch.

Actual operating data from July 2020 show that bunching was common. Westbound at Neilson, the standard deviation of headways is close to the average, and as the scatter chart shows, many buses are running very close to their leaders.

The situation at Markham Road westbound is similar with many buses running in pairs (shown by a very short headway).

For eastbound service at Bayview, bunching is quite common. This is inevitable on a street with such frequent service and traffic signal cycles marshalling the service into blocks. However, the headways are still spread over a band roughly 10 minutes wide

At the outer end of the route, the average headway is wider than the scheduled value implying that some service has been cancelled. Moreover, the standard deviation is high and headways are scattered over a wide range of values with some considerably higher than the scheduled level of service.

It is possible that some of these problems are corrected with standby buses that are not tracked, but this does not explain the wide variation in headways nor the common situation where two buses run close to each other.

Here are the complete chart sets for the four locations cited above:

53 Steeles East

Route 53 Steeles East and its 953 express component operated east from Finch Station with various branches:

  • 53A to Staines Road (off-peak only)
  • 53B to Markham Road
  • 953A to Staines Road (peak only)
  • 953B to Markham Road (peak only)

After the cancellation of the 953 express, its absence as the peak service to Staines was not reflected in the updated schedules and officially the only remaining Staines service was off peak. However, as we will see below, buses are running through to Staines and these are tracked vehicles implying that the allocated service has been redistributed to fix the scheduling oversight.

This chart shows the service westbound at Staines as it is reflected in the official schedules. There is no peak service.

Westbound at McCowan, the scheduled service is fairly uniform throughout the day. This route does not have any “tripper” buses.

The service outbound from Finch Station shows the same steady all-day headway.

And back at Staines, the eastbound schedule only shows off-peak buses.

The service that is actually operated is quite different from the schedules.

The average headways for each week through June are quite different and show an evolution to providing more service as the month went on. This is particularly interesting because buses would only show up in these data if they were tracked vehicles. That implies that the scheduled service was redeployed during the peaks rather than depending on standby buses to fill in where the schedule omitted service.

In the chart below the standard deviations are regularly at or above 10 minutes indicating a very wide swing in the values for individual trips that are masked by the average values. Note that the y-axis is scaled to 60 minutes so that the data will fit, rather than 30 minutes used for most other charts in this article.

By week 4, the service had settled into the new pattern, although as with every other route, there were wide variations in headways. In this chart, note that there were no tracked buses during the AM peak of June 26 (turquoise). Bus bunching is common with many very small headways, but so are wide gaps. This may have been offset by standby buses, but we have no way of knowing as they are not tracked.

At McCowan westbound, the average headway is fairly constant all day as are the standard deviations.

As the scatter chart shows, the actual range of headways is spread over a band nearly 15 minutes wide even though the averages give the impression of a well-behaved service.

Leaving Finch Station, the service is somewhat better behaved with the headways in a narrower band than we have seen for other routes and locations.

However, by the time the service reaches McCowan eastbound, the headways are spread over a wider range, and there are more very low values indicating bunching.

Buses going to the east end of the route at Staines show a very ragged headway similar to the inbound service with values spread over a range from zero to over 30 minutes. The wide gaps might be filled by standby buses, if only we could see them, but the data also show many buses on short headways rather than spread apart to give a better-spaced service.

I am attempting to get the tracking data, if they exist, for the standby buses from the TTC but have not yet been successful.

Here are the chart sets for the locations cited above:

2 thoughts on “TTC Bus Service Frequency and Reliability in 2020 (Part I)

  1. I am always impressed by your optimism about how TTC might act! You say (re Lawrence) “However, standby buses would only, if present, fill wide gaps assuming they were well managed to do so.” :->


  2. A lot of bull shit for nothing.
    For months I complained to TTC about delays with 41 buses, nothing was ever done.

    They blocked me on Twitter and never answered my emails. While complaining by phone all they said was “there is another bus coming”.

    I just got a car. Fu TTC.

    Steve: Yes, the 41 Keele has been a mess for a long time. I wrote about this before, and will return to that route later in the series.


Comments are closed.