• Posts
  • RSS
  • ◂◂RSS
  • Contact

  • Subway-Surface Frequency

    February 5th, 2015
    tech, transit  [html]
    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:

    Willingness to look stupid

    People frequently1 think that I'm very stupid. I don't find this surprising, since I don't mind if other people think I'm stupid, which means that I don't adjust my behavior to avoid seeming stupid, which results in people thinking tha…

    via Posts on Dan Luu October 21, 2021

    Experiences in raising children in shared housing

    Sometimes I see posts about people’s hope to raise children in a group housing situation, and it often seems overly optimistic to me. In particular they seem to expect that there will be more shared childcare than I think should be expected. Today I talke…

    via The whole sky October 18, 2021

    EDT with updating double counts

    I recently got confused thinking about the following case: Calculator bet: I am offered the opportunity to bet on a mathematical statement X to which I initially assign 50% probability (perhaps X = 139926 is a quadratic residue modulo 314159). I have acce…

    via The sideways view October 12, 2021

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact