Front website https://natronics.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

329 lines
16 KiB

  1. ---
  2. title: 2019 SEPTA Ridership Data
  3. layout: post.liquid
  4. published_date: 2021-09-26 00:00:00 +0000
  5. slug: septa_ridership
  6. is_draft: false
  7. description: |
  8. Philadelphia's tranist agency SEPTA publishes yearly line-by-line breakdowns of ridership
  9. and revenue stats which we can take the data out of those reports and get a sense of what
  10. the most used lines are.
  11. Breakdown tables of routes and a make a map
  12. data:
  13. header_image: img/header.jpg
  14. ---
  15. <style>
  16. .tag {
  17. padding: 0px 5px;
  18. font-family: sans-serif;
  19. border-radius: 2px;
  20. }
  21. .tag.bus {
  22. font-weight: bold;
  23. }
  24. .tag.trolley {
  25. background-color: #539442;
  26. color: #fff;
  27. }
  28. .bsl {
  29. background-color: #f58220;
  30. color: #fff;
  31. }
  32. .mfl {
  33. background-color:#107dc1;
  34. color: #fff;
  35. }
  36. .paoli {
  37. background-color: #207a50;
  38. color: #fff;
  39. }
  40. .doylestown {
  41. background-color: #715543;
  42. color: #fff;
  43. }
  44. .media {
  45. background-color: #0078c0;
  46. color: #fff;
  47. }
  48. .trenton {
  49. background-color: #f57dbd;
  50. color: #fff;
  51. }
  52. .nhsl {
  53. background-color: #9e3e97;
  54. color: #fff;
  55. }
  56. .wtrenton {
  57. background-color: #4e52a8;
  58. color: #fff;
  59. }
  60. .tablebar {
  61. position: relative;
  62. height: 1em;
  63. }
  64. .tablebar .bar {
  65. position: absolute;
  66. background-color: #edebed;
  67. width: 20%;
  68. height: 1.15em;
  69. right: 0;
  70. border-bottom: 1px solid #cfcfd5;
  71. }
  72. .tablebar .value {
  73. position: absolute;
  74. width: 100%;
  75. }
  76. table tbody tr:hover {
  77. background: #f8f1dd;
  78. }
  79. </style>
  80. # 2019 <span style="font-variant:small-caps;">septa</span> Ridership Data
  81. _Published in September 2021_
  82. <p class="illuminated">
  83. Philadelphia's tranist agency <span style="font-variant:small-caps;">septa</span>{% capture sidenote %}Southeastern Pennsylvania Transportation Authority.{% endcapture %}{% include "sidenote.liquid" %} publishes yearly line-by-line breakdowns of ridership and revenue stats{% capture sidenote %}Full statistics for each route were previously published at http://septa.org/strategic-plan/reports.html though that page has since been removed. It's still avaliable on <a href="https://web.archive.org/web/20200803144310/https://septa.org/strategic-plan/reports.html">archive.org</a>.{% endcapture %}{% include "sidenote.liquid" %} which we can take and get a sense of how <span style="font-variant:small-caps;">septa</span> operates.
  84. </p>
  85. For every bus, trolley, and train, <span style="font-variant:small-caps;">septa</span> has the following operating statistics for fiscal year 2019:
  86. - **One way route miles (avg)** The averge distance of a route
  87. - **Daily average (wk) ridership** Average number of rides on a weekday
  88. - **Vehicle hours (annual)** Total operating hours for all verhicles on this route during the year
  89. - **Vehicle miles (annual)** Total miles moved for all vehicles on this route during the year
  90. - **Peak vehicles** At the busiest scheduled period the maximum number of vehicles in service
  91. - **Fully allocated expenses** Total cost to operate this route during the year
  92. - **Passenger revenue** Estimated total revenue generated by this route during the year
  93. - **Operating Ratio** How much revenue covered expenses (as a percent) for this route
  94. - **Mode** Kind of transportation vehicle (bus, trolley, etc.)
  95. - **Vehicle size** Number of train cars, or lenght of bus
  96. {% include "section.liquid" %}
  97. ## What Are The Most Popular Lines
  98. Using thise data we can look at all routes with at least 10,000 weekday average riders:
  99. Rank | Route | Vehicle Type | Average Weekday Riders | % Change from 2018 | &nbsp;
  100. ---: | -----: | :------------ | ----------------------: | -----------------: | --
  101. 1 | <span class="tag mfl">Market Frankford Line</span> | Subway | <div class="tablebar"><div class="bar" style="width:100.0%"></div><div class="value">178,975</div></div> | -0.9% | <div style="transform:rotate(0.9deg);">🠖</div>
  102. 2 | <span class="tag bsl">Broad Street Line</span> | Subway | <div class="tablebar"><div class="bar" style="width:62.7%"></div><div class="value">112,252</div></div> | 0.6% | <div style="transform:rotate(-0.6deg);">🠖</div>
  103. 3 | <span class="tag paoli">Paoli/Thorndale</span> | Rail | <div class="tablebar"><div class="bar" style="width:11.7%"></div><div class="value">20,962</div></div> | 6.9% | <div style="transform:rotate(-6.9deg);">🠖</div>
  104. 4 | <span class="tag bus">47</span> | Bus 40' | <div class="tablebar"><div class="bar" style="width:9.2%"></div><div class="value">16,530</div></div> | 8.6% | <div style="transform:rotate(-8.6deg);">🠖</div>
  105. 5 | <span class="tag bus">18</span> | Bus 60' | <div class="tablebar"><div class="bar" style="width:9.0%"></div><div class="value">16,049</div></div> | -5.2% | <div style="transform:rotate(5.2deg);">🠖</div>
  106. 6 | <span class="tag doylestown">Lansdale/Doylestown</span> | Rail | <div class="tablebar"><div class="bar" style="width:8.9%"></div><div class="value">16,016</div></div> | 4.6% | <div style="transform:rotate(-4.6deg);">🠖</div>
  107. 7 | <span class="tag bus">G</span> | Bus 40' | <div class="tablebar"><div class="bar" style="width:7.9%"></div><div class="value">14,103</div></div> | -7.5% | <div style="transform:rotate(7.5deg);">🠖</div>
  108. 8 | <span class="tag bus">23</span> | Bus 40' | <div class="tablebar"><div class="bar" style="width:7.8%"></div><div class="value">14,005</div></div> | -2.2% | <div style="transform:rotate(2.2deg);">🠖</div>
  109. 9 | <span class="tag bus">52</span> | Bus 40' | <div class="tablebar"><div class="bar" style="width:7.4%"></div><div class="value">13,245</div></div> | -6.2% | <div style="transform:rotate(6.2deg);">🠖</div>
  110. 10 | <span class="tag trolley">13</span> | Trolley | <div class="tablebar"><div class="bar" style="width:7.4%"></div><div class="value">13,201</div></div> | 2.6% | <div style="transform:rotate(-2.6deg);">🠖</div>
  111. 11 | <span class="tag trolley">11</span> | Trolley | <div class="tablebar"><div class="bar" style="width:7.3%"></div><div class="value">13,026</div></div> | 0.6% | <div style="transform:rotate(-0.6deg);">🠖</div>
  112. 12 | <span class="tag trolley">34</span> | Trolley | <div class="tablebar"><div class="bar" style="width:7.0%"></div><div class="value">12,580</div></div> | 0.1% | <div style="transform:rotate(-0.1deg);">🠖</div>
  113. 13 | <span class="tag trolley">36</span> | Trolley | <div class="tablebar"><div class="bar" style="width:6.8%"></div><div class="value">12,107</div></div> | -5.8% | <div style="transform:rotate(5.8deg);">🠖</div>
  114. 14 | <span class="tag bus">33</span> | Bus 60' | <div class="tablebar"><div class="bar" style="width:6.7%"></div><div class="value">11,979</div></div> | -6.2% | <div style="transform:rotate(6.2deg);">🠖</div>
  115. 15 | <span class="tag trolley">10</span> | Trolley | <div class="tablebar"><div class="bar" style="width:6.3%"></div><div class="value">11,328</div></div> | 1.5% | <div style="transform:rotate(-1.5deg);">🠖</div>
  116. 16 | <span class="tag media">Media/Elwyn</span> | Rail | <div class="tablebar"><div class="bar" style="width:6.2%"></div><div class="value">11,098</div></div> | 0.2% | <div style="transform:rotate(-0.2deg);">🠖</div>
  117. 17 | <span class="tag trenton">Trenton</span> | Rail | <div class="tablebar"><div class="bar" style="width:6.2%"></div><div class="value">11,087</div></div> | -6.5% | <div style="transform:rotate(6.5deg);">🠖</div>
  118. 18 | <span class="tag bus">R</span> | Bus 40' | <div class="tablebar"><div class="bar" style="width:6.2%"></div><div class="value">11,037</div></div> | 15.3% | <div style="transform:rotate(-15.3deg);">🠖</div>
  119. 19 | <span class="tag nhsl">NHSL</span> | Rail | <div class="tablebar"><div class="bar" style="width:6.1%"></div><div class="value">10,893</div></div> | 3.5% | <div style="transform:rotate(-3.5deg);">🠖</div>
  120. 20 | <span class="tag bus">56</span> | Bus 60' | <div class="tablebar"><div class="bar" style="width:6.1%"></div><div class="value">10,882</div></div> | -7.0% | <div style="transform:rotate(7.0deg);">🠖</div>
  121. 21 | <span class="tag wtrenton">West Trenton</span> | Rail | <div class="tablebar"><div class="bar" style="width:6.0%"></div><div class="value">10,807</div></div> | -5.5% | <div style="transform:rotate(5.5deg);">🠖</div>
  122. 22 | <span class="tag bus">26</span> | Bus 40' | <div class="tablebar"><div class="bar" style="width:5.9%"></div><div class="value">10,612</div></div> | -5.2% | <div style="transform:rotate(5.2deg);">🠖</div>
  123. 23 | <span class="tag bus">21</span> | Bus 40' | <div class="tablebar"><div class="bar" style="width:5.8%"></div><div class="value">10,358</div></div> | 32.1% | <div style="transform:rotate(-32.1deg);">🠖</div>
  124. 24 | <span class="tag bus">60</span> | Bus 60' | <div class="tablebar"><div class="bar" style="width:5.8%"></div><div class="value">10,333</div></div> | -12.3% | <div style="transform:rotate(12.3deg);">🠖</div>
  125. 25 | <span class="tag bus">17</span> | Bus 60' | <div class="tablebar"><div class="bar" style="width:5.7%"></div><div class="value">10,199</div></div> | -8.2% | <div style="transform:rotate(8.2deg);">🠖</div>
  126. 26 | <span class="tag bus">66</span> | Trackless Trolley | <div class="tablebar"><div class="bar" style="width:5.6%"></div><div class="value">10,063</div></div> | -2.9% | <div style="transform:rotate(2.9deg);">🠖</div>
  127. One thing that really strikes me is just how many more people the two subway{% capture sidenote %}I'm just going to say "subway" to refer to both the MFL and BSL for convienence{% endcapture %}{% include "sidenote.liquid" %} lines cary compared to anything else in the system!
  128. ### Median Ridership By Vehicle Type
  129. Vehicle Type | Median Weekday Riders | % Change from 2018
  130. :---------------- | ---------------------: | ---------------------------:
  131. Subway | 145,613 | -0.1%
  132. Trolley | 11,717 | 0.4%
  133. Rail | 9,917 | -2.6%
  134. Trackless Trolley | 4,425 | -4.2%
  135. Bus | 2,503 | -5.3%
  136. A typical single bus line in the <span style="font-variant:small-caps;">septa</span> system moves about 2,500 people a day, while a subway line can move over 100,000 daily.
  137. Though there are a lot of buses, and only two subway lines. Comparing the totals instead:
  138. ### Total Ridership By Vehicle Type
  139. Vehicle Type | Total Weekday Riders | Number Of Routes
  140. :---------------- | ----------------------: | ---------------:
  141. Bus | 473,494 | 125
  142. Subway | 291,227 | 2
  143. Rail | 131,115 | 14
  144. Trolley | 79,037 | 8
  145. Trackless Trolley | 17,828 | 3
  146. _Total:_ | 992,701 | 152
  147. Out of the almost one million riders a day, nearly half are moved by a Bus.
  148. {% include "section.liquid" %}
  149. ## Ridership Change
  150. Most of the lines seemed to have a small decrease in ridership, though a couple had massive gains. If we take the total ridership numbers between 2019 and 2018 we can make a histogram of the changes
  151. <figure class="">
  152. <img src="septa_ridership_files/septa_ridership_18_0.svg" />
  153. </figure>
  154. ### Biggest Ridership Loss
  155. Route | Vehicle Type | Change since 2018 [count] | [%]
  156. ----------------------------------------------------------------: | :----------- | ------------------------: | ---:
  157. <span class="tag bus">42</span> | Bus | -2,245 | -31.6 %
  158. <span class="tag bus">14</span> | Bus | -2,010 | -20.5 %
  159. <span class="tag mfl">Market Frankford Line</span> | Subway | -1,610 | -0.9 %
  160. <span class="tag bus">60</span> | Bus | -1,270 | -12.3 %
  161. <span class="tag bus">G</span> | Bus | -1,057 | -7.5 %
  162. <span class="tag bus">17</span> | Bus | -836 | -8.2 %
  163. <span class="tag bus">18</span> | Bus | -834 | -5.2 %
  164. <span class="tag bus">L</span> | Bus | -823 | -12.0 %
  165. <span class="tag bus">52</span> | Bus | -821 | -6.2 %
  166. <span class="tag bus">56</span> | Bus | -761 | -7.0 %
  167. ### Biggest Ridership Gains
  168. Route | Vehicle Type | Change since 2018 [count] | [%]
  169. ----------------------------------------------------------------: | :----------- | ------------------------: | ---:
  170. <span class="tag trolley">15</span> | Trolley | +4,065 | 49.8 %
  171. <span class="tag bus">21</span> | Bus | +3,324 | 32.1 %
  172. <span class="tag bus">R</span> | Bus | +1,688 | 15.3 %
  173. <span class="tag paoli">Paoli/Thorndale</span> | Rail | +1,446 | 6.9 %
  174. <span class="tag bus">47</span> | Bus | +1,421 | 8.6 %
  175. <span class="tag bus">113</span> | Bus | +1,015 | 13.6 %
  176. <span class="tag bus">XH</span> | Bus | +950 | 19.6 %
  177. <span class="tag doylestown">Lansdale/Doylestown</span> | Rail | +736 | 4.6 %
  178. <span class="tag bsl">Broad Street Line</span> | Subway | +673 | 0.6 %
  179. <span class="tag bus">107</span> | Bus | +598 | 43.9 %
  180. {% include "section.liquid" %}
  181. ## Costs
  182. There is also some interesting data around both revenue and total expenses per route, so we can look at the cost to run a route compared to how much money it makes from fares.
  183. On the whole, <span style="font-variant:small-caps;">septa</span> only makes about a third of its expenses from passenger revenue (fares){% capture sidenote %}
  184. From <span style="font-variant:small-caps;">septa</span>'s FY 2019 Operating Budget:
  185. <br>
  186. <br>_Passenger Revenue_: **$470.5 Million**
  187. <br>_Total Expenses_: **$1,453 Million**
  188. <br>_Overall Operating Ratio_: 32.4%
  189. <br>_Operating Deficit (before subsity)_: $942.6 Million
  190. {% endcapture %}{% include "sidenote.liquid" %}. But some lines are more profitable than others.
  191. In general both costs and revenue scale with how many people ride a route. The busier it is, the more vehicles have to be deployed, with more operators, and more maintenance needed. Here we can see how it scales up.
  192. <figure class="">
  193. <img src="septa_ridership_files/septa_ridership_26_0.svg" />
  194. </figure>
  195. But notice that mode matters. Here the regional rail (blue) costs are sigificantly higer than the bus (red) baseline.
  196. However in 2019 <span style="font-variant:small-caps;">septa</span> had a entierly different fare structure for regional rail than for busses or trollies. The rail system was zoned so longer trips cost more. If instead we look at the operating ratio&mdash;i.e., how much money a line makes compared to its cost&mdash;we see that the mode split goes away, and that there is much less of a correlation with ridership.
  197. <figure class="">
  198. <img src="septa_ridership_files/septa_ridership_29_0.svg" />
  199. </figure>
  200. {% include "section.liquid" %}
  201. ## Maps
  202. With ridership data we can make a map of the system, but drawn with line widths and colors scaled to the ridership numbers.
  203. <figure class="fullwidth">
  204. <a href="img/overview_map.png" target="_blank" style="text-decoration:none;background:none;text-shadow:none">
  205. <img src="img/overview_map_small.jpg">
  206. </a>
  207. </figure>
  208. Zooming into just the core of Philadelphia
  209. <figure class="fullwidth">
  210. <a href="img/downtown_map.png" target="_blank" style="text-decoration:none;background:none;text-shadow:none">
  211. <img src="img/downtown_map_small.jpg">
  212. </a>
  213. </figure>
  214. We can also see if there is a geographic component to the change in ridership numbers.
  215. <figure class="fullwidth">
  216. <a href="img/change_in_ridership.png" target="_blank" style="text-decoration:none;background:none;text-shadow:none">
  217. <img src="img/change_in_ridership.jpg">
  218. </a>
  219. </figure>
  220. It's hard to see any one particular region that gains riders more than another. West Philly might be a touch more green, but the most popular lines are the ones that we might expect (lines that connect with center city or with major transportation centers).
  221. ### Raw Data
  222. Download a csv of the 2019 data used in the post:
  223. - [2019_route_stats.csv](img/2019_route_stats.csv)
  224. Or [browse some of the numbers as a table](2019-stats.html).