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, substack

Recent posts on blogs I like:

Raffles

I think that raffles are kind of silly, because when you enter a raffle and you don't know what you're going to get, or if you're going to get anything, what's the point? If you pay for your raffle ticket, and you could pay the same amount…

via Anna Wise's Blog Posts September 13, 2026

Air Filters in Schools

My dad went to a conference recently, and when I asked him about what happened there he said it was a conference for people in biosecurity. When I asked him about the different kinds of biosecurity stuff that the different groups did, he said one did air f…

via Lily Wise's Blog Posts September 12, 2026

The One That I Want Another Sister

I want a baby sister or brother. Because I want to play with another kid, and I don't want to play with Josie because she is in preschool and I won't play with her very often. So I want to play with someone very often who is not just two people. …

via Nora Wise's Blog Posts September 5, 2026

more     (via openring)