Updated August 25 at 10:30 pm:
For some time, I have been working on a different version of the program that produces the headway and link time charts, and this work is now complete. This will simplify future work on other routes, but also it cleans up the existing charts.
I have made the following changes to the charts that are linked from this post:
- The data points are shown on the charts so that readers can see exactly where they are. Each point represents a car on a specific headway at a specific time, or a car’s travel time between two points.
- I have added a moving average trendline based on 7 consecutive data points to show the reliability (or lack of it) of the detail as opposed to the longer term average which approximates the scheduled headway (provided there are no delays or short turns).
Otherwise, this post is unchanged. Information about other days will appear soon.
My apologies for the break in this series. Back at the start of July, I expected a quiet summer and planned to roll out a series of posts on the King route. “Quiet” would not describe the recent political turmoil. In what appears to be a lull on that front, I return to the King car.
The issues raised by this analysis are of equal value regardless of the outcome of funding and budget debates. If TTC funding does improve, we still need to know how to manage the service, and which problems are really caused by that catch-all villain, “congestion”, and which problems have other origins. If the TTC funding is frozen or cut, making the best of what we have will be vital. It would be far too easy for the TTC to stop looking for improvements.
As an introduction to the various ways in which I have reworked the TTC’s vehicle monitoring data, I chose Christmas Day. The weather was uneventful with some rain in the evening, and operating conditions were as close to ideal as one could find. This post is not intended to show readers anything profound about the line, only to introduce the general format of chart that I will use in later discussions.
This discussion is rather dry, but it is a necessary introduction to much of what will follow.
The starting point for the analysis transforms the vehicle location data into two formats: a graphic timetable and an “as operated” schedule.
[Technical note: All charts linked from this page are in PDF format. They have been converted from the original Excel spreadsheets which are vastly larger and incompatible with environments where that product is not available. Also, of course, the source data on which the charts were based has been stripped off.]
The chart showing operations for a route is presented with location as the Y-axis (up and down) and time as the X-axis (left to right). To keep the chart from being too compressed, the day’s operation is spread over several pages each of which covers 3 hours.
The principal Y-axis values are:
- 100 = Broadview Station (and immediate environs)
- 200 = Queen & Broadview
- 300 = Yonge & King
- 400 = Bathurst & King
- 500 = Dufferin & King
- 575 = Roncesvalles & Queen
- 675 = Dundas West Station (and immediate environs)
This is, roughly, a scale of 50 = 1 km. On the charts, Broadview Station is at the bottom, and Dundas West is at the top.
It is easy to see cars entering and leaving service as well as short turns. Other effects are a side-effect of the CIS data. For example, on several pages, you can see lines that have short reversals. These are cases where block-by-block CIS reports drifted relative to the actual location of a car which eventually passed a CIS signpost. At that point, the position is corrected.
On page 2, there is salmon-coloured line with a big zig-zag in the middle of the chart. There are two things noteworthy about this. First, it is a car that entered service around 10:45 am from Russell Carhouse, but was out of sequence (late) behind the car represented by the adjacent dark blue line. They travel together westbound from Broadview Station and at Bathurst the car is suddenly “teleported” west to Roncesvalles. It appears to return east to about Shaw and is again teleported to just east of Roncesvalles. This is an example of the curious data one finds in CIS. In the end, the “salmon” car short turned at Roncesvalles and came eastbound in the correct order. Why the cars didn’t just change places using the double-track arrangements at Broadview or Dundas West is a mystery.
Another phenomenon is shown by the “light blue” run leaving Broadview Station at about 13:10. All day long, this line is rather wobbly, and this may indicate that the onboard equipment is not registering reliably.
For most of the day, the length of time spent in layovers at both ends of the line is quite generous, certainly more than the usual two-to-three minutes of recovery time. Two cars are commonly at terminals together even on a relatively wide scheduled headway. As we will see for other days in the month, this is an exception. Moreover, had the day been snowy, these extended layovers would have been consumed by slower journeys enroute.
Finally, as we will see in more detail below, although there is a regular back-and-forth service on the route, it is by no means a rigid set of parallel lines on the chart. Short-turns are rare, but headways are not strictly observed.
The official schedule will never match what happens on the street, and an “as operated” schedule lets us analyse the data in other ways.
[Another technical note: Although the graphic timetables show the double reversals due to inconsistent data from CIS, these phenomena have been largely weeded out in the as-operated schedules. The program creating the schedules watches for such reversals and discards them. This eliminates spurious headway reports that are actually the same car passing a point twice in the raw data.]
There are two things we want to know:
- What is the actual headway at various points along the route?
- What is the time needed to get from point to point (the link times) on the route?
To that end, I have subdivided the route with “time points”. These are not the same as the TTC’s schedule timepoints, but are locations of interest for this analysis. The important thing about them is that they bracket places where things might happen. For example, a pair of timepoints south and north of Queen & Roncesvalles will show us the headway on either side of that intersection, the length of time needed to get from one to the other, and the instances where a short-turn (or carhouse move) meant that a car did not continue through to the next segment of the route.
For the purpose of my analysis, the timepoints are:
- Erindale (leaving Broadview Station)
- Wolfrey (south of Danforth)
- River (west of the King/Queen split)
- Portland (east of Bathurst)
- Crawford (east of Shaw)
- Fraser (east of Dufferin)
- Jameson (middle of Parkdale)
- Marion (north of Queen on Roncesvalles)
- Bloor (south of Dundas West Station)
King Dec 25 Headways Westbound
King Dec 25 Headways Eastbound
For a good part of the day, service leaving Broadview Station is within a band of plus-or-minus two minutes. This is “on time” as far as TTC statistics go (the accepted band is 3 minutes), but you can see that the service is a bit ragged. Wider headways occur from time to time where cars are missing.
As you step through the pages, you are moving from across the route (note that the eastbound charts are in reverse order and you have to start at the last page and work back). The entire pattern drifts gradually in time, but stays more or less intact except where short turns leave or join the service. What stands out is the way that the spread in headways widens as we move across the city — this shows the effect of one car catching up with its leader so that by the far end of the trip the exaggeration in vehicle spacing is much worse than at the beginning.
On some routes, this would not matter much because there is little demand boarding outbound near the termini. However, a route like King is really several route segments each with its own travel demands. Both Broadview and Roncesvalles are quite independent of the travel demands downtown, but suffer because headway reliability at the ends of lines is not a priority for the TTC.
King Dec 25 Link Times Westbound
King Dec 25 Link Times Eastbound
The link time charts show the length of time needed to get from one timepoint to the next on the route. On days like Christmas when there is no congestion or unusual variation in loading, the link times will say fairly constand all day.
The values for each route segment are quite well-behaved and there are only a few standouts. Note that times at terminals are not reliable due to limitations of CIS location resolution, and so long link times southbound from Dundas West to Bloor are probably data errors. Likely, CIS reported the cars as leaving Dundas West before they actually did, and the times shown include the layover.
Consistent link times show that within the usual fluctuations caused by traffic lights and slight variations in demand, there was no congestion of any kind on the route all day. When we come to “normal” days, this will not be the case.
In the next post in this series, I will review Friday, December 1, a snowy day with severe traffic congestion. You will see a very different picture. I will also introduce another format of chart showing the effect of short turns.
Later in this series, I will turn to charts that combine information from many days so that we can see how the route behaves overall. This approach lets us see patterns that occur every day (and therefore should be planned for) as well as patterns that occur now-and-then (and therefore require at least a workable strategy). We will also see problems that are entirely of the TTC’s own making in the scheduling and management of the service.
This is really interesting, Steve. I wonder if on the headway graphs you could put the line that reflects what the actual headway should be, and perhaps also the standard deviation lines.
Steve: Actually, there are two problems. First, I don’t have the detailed schedules in a form that would tell me exactly when the transitions occur between each period; also, of course, this line would shift as we move across the city. I dropped trend lines on the charts sometimes, and you can see them follow the expected headways except at the ends of the lines where short-turns play havoc. This is much worse on regular days than on holidays. Standard deviation runs into the same problems.
And running time is very difficult to do, because you notice that even on Christmas there’s some variation. Should we base running time on the most professional and efficient veteran driver we have, the average driver, or the slowest newbie? Since we don’t want the streetcar to ever have to wait at a timepoint besides the terminals, it seems like we need to give the streetcar less running time than we might like – which will likely result in them being frequently late. I think free running time is the only good solution for the streetcar routes.
Steve: When we get to “regular” days, you will see a much greater variation in running times and the question then becomes what running time can reasonably be expected for a given trip segment at various times. One thing this does show is that the “congestion” excuse does not hold water as a blanket description of what is going on, and that targeted improvements to traffic flow as well as attention to off-peak effects are important.
Interesting graphs. This looks like the kind of data that could use some sophisticated analysis with deviations, variances, etc. Alas my probability and statistics course was a long time in the past.
Also, the timepoints are a good hint as to where I’ll find the CIS installations!
Steve: In the text above (which I have corrected), “timepoints” was originally “timpoints”. These are presumably places where one can buy coffee and very, very small doughnuts.
The timepoints I have chosen in fact generally do not correspond to CIS signposts. The choices are intended to bracket common short-turn locations and to avoid resolution problems around locations where cars head off in various directions. For example, the intersection of Queen and Broadview was deliberately omitted as a timepoint because the CIS data does not behave well there. A few blocks away at River or at Dundas, the data is much better behaved, and these give useful, reasonable data for headways and link times.