Subway-Surface Frequency

February 5th, 2015
tech, transit
In some transit agencies there's a pattern where you have multiple trolley lines farther out that come together into a central subway through the city center. Boston's Green Line, SF's Muni Metro, and Philly's Subway-Surface lines are all examples of this. Because of lower densities outside of the core and because they're descendents of much larger systems they tend to have a high branching factor, with many surface lines funneling down to a single line underground. Boston has four branches, SF and Philly have five.

I was curious how many trains per hour these different systems ran on their shared central portions, and it's hard to get this information from the transit agency websites. [1] They do publish the raw scheduling data for all their trips, however, and we can get the information from there.

Looking in routes.txt we can see that the MUNI lines are 1093, 1094, 1196, 1198, and 1199. Looking at what stations these routes stop at, stops.txt we can pick one on the central subway, say Montgomery, which is 5731. Looking at calendar.txt we can see that we only want trips tagged with service_id=1 because that's regular weekday service. So we pull trip ids from trips.txt that match that service_id and route_ids, and cross-reference that with entries in stop_times for stop 5731, and we get a full listing of the times any train will stop there.

Doing this for all three systems, we get:


Update 2017-12-23: This isn't quite right. The 0 and 24 columns should be added together, because they're capturing a distinction that isn't important (the idea of "service days"). I think I'm also missing data for the MBTA Green Line for the 1am hour, since that's 25:xx and while I don't have my script anymore I suspect it jkust iterated up to 24.

(Table below: [2])

When I first calculated this for SEPTA I was sure I'd accidentally combined inbound and outbound trips: 70 trains per hour? Looking in Google Maps matched up with my interpretation of the raw GTFS data, however, and the schedules for each of the five lines claim service levels of over 10 trains per hour, so I think it's right. [3] How do they do this, and why does the MBTA Green Line struggle so much with its smaller number? Is it just that they run shorter unpaired trains so they can have multiple ones in a station at once, or something about how they operate them?


[1] The MBTA does publish this (pdf) but they actually schedule more service than they commit to there.

[2] Tabular data for trains per hour:

hour muni mbta septa
0 1 1 6
1 0 0 6
2 0 0 4
3 1 0 5
4 1 0 8
5 17 13 14
6 22 32 26
7 37 40 52
8 35 43 70
9 34 44 50
10 30 39 31
11 30 35 30
12 30 34 30
13 30 33 30
14 32 31 31
15 34 38 51
16 37 40 67
17 36 43 61
18 35 42 35
19 26 37 25
20 25 31 20
21 19 27 15
22 17 28 14
23 17 27 11
24 18 21 6

[3] This news article claims that in the 60s, when there were more lines going through the tunnels, there were as many as 150 trains per hour at peak.

Comment via: google plus, facebook

Recent posts on blogs I like:

Development RCTs Are Good Actually

In defense of trying things out

via Thing of Things March 25, 2024

Clarendon Postmortem

I posted a postmortem of a community I worked to help build, Clarendon, in Cambridge MA, over at Supernuclear.

via Home March 19, 2024

How web bloat impacts users with slow devices

In 2017, we looked at how web bloat affects users with slow connections. Even in the U.S., many users didn't have broadband speeds, making much of the web difficult to use. It's still the case that many users don't have broadband speeds, both …

via Posts on March 16, 2024

more     (via openring)