Mapping ridership on a linear corridor

January 9th, 2013

I saw something on the internet a couple days ago:


…that made me want to analyse ridership stop by stop, and well, hopefully make more sense of it than this chart did. It’s kind of pretty, and I’d probably get more out of it if I were familiar with the system, but it’s hard to see any interesting trends here, mostly because the vertical scales vary quite a bit1.

Being the techy that I am, I wrote up a little PHP script to manipulate SORTA’s not-quite-public ridership data  from 20092. Stops are paired up, as well as I could manage for each direction. The green bars are passengers getting on, the blue getting off. Grey bars between them indicate the day’s total. Each side of the center line is a direction of travel.

a day's ridership on the SORTA #33

View full size to read the little stop labels. One pixel represents 2.5 riders(in the full size image)

I made a few of these graphs and they got me thinking about what I should have expected the data to look like. I’d never really thought about what transit ridership should look like theoretically. Did you notice that the balance of riders getting on or off shifts completely from one end of the line to the other? It makes sense. If a transit line were to travel straight through an area with even density, we might expect it to look something like this:

even ridership on a linear transit corridor

This on-off aspect of the data is pretty interesting, and I’m glad it wasn’t all aggregated to totals for each stop.

We see a shift in boardings and de-boardings because a line is more useful if it has a long way to go yet, and not very useful at all if you’re at the second to last stop. Not many people will get on at 7th St to go two blocks to Government Square but if they get on at 7th to go the other direction they have the whole world ahead of them.

And so we see each trip slowly shift from “on”-heavy at the beginning to “off”-heavy at the end with a solid mix of boardings and de-boardings in the middle.

Here’s the #33 again, in map form, and only going out from Downtown:

ridership on the #33 outbound

Remember that this doesn’t include the inbound trips. Not everyone is going one way, I’m just not showing the other half.

Here it is zoomed in on the Glenway/Warsaw business district:

Glenway business district ridership on the SORTA #33

Here’s what just that looked like in the chart by the way:

Ridership outbound on the #33

It’s only the outbound trip, so it’s only one side of the graph. If you look at an aerial photo, you can see pretty quickly that the ridership is higher where there are businesses and dense side-streets going off perpendicularly to houses. The places where riders drop off rather quickly are places where hills have precluded development and one or both sides of the street have either a lot less development within a couple blocks, or even just woods. The hill up from Lower Price hill(East side of the image) demonstrates this effect most notably.

ridership of the #33 over satellites

Transit users don’t visit the woods.

Dense areas are good places to run transit. It’s also good to connect dense areas that are divided by a sparse area like Queensgate. The stops along the way won’t show it, but the huge number of people who loaded on at Government square are still on the bus heading west to the Warsaw Glenway business district and beyond.

There’s a ton more to discover in here but it’s actually a lot of work preparing the data. If you want to do a little exploring yourself, here’s the script and the data that I used. The full stop-level ridership dataset from March 2008 is available on the Data page of this site and a more up to date version will be available very soon if enough people email Kevin, SORTA’s senior system planner. If you haven’t seen it yet, you may also want to check out the full ridership intensity map I made from the same 2008 data. Here are a couple more charts just to whet your appetite:

The #24:

chart of ridership on SORTA's 24

This is the exact same scale(for full size image) as for the full chart of the #33 above.

And the #51:

51 ridership

Same scale here too. Notice that rider’s don’t start using the #51 in earnest until it hits Clifton. That’s why the dip into Fairview is dropped altogether in SORTA’s new routing proposals.

It’s important to note for these two that it’s not that they’re necessarily “performing” a lot worse than the #33, rather their frequency is significantly lower so less riders could have been expected from the beginning.

Show 2 footnotes

  1. As has been said of it. Not being original there.
  2. Spreadsheet software just has nothing on custom, dynamic, database-driven scaleable vector graphics!

4 responses to “Mapping ridership on a linear corridor”

  1. Jeff Bridgmn says:

    Interesting stuff. Thanks for showing the code, that’s interesting for me to see as a programmer 🙂

  2. Brittany Skelton says:

    I love this analysis and these maps!! What a great way to determine where to place new benches and bus shelters, or realtime “next bus” LED signage, or interactive public art installations à la Candy Chang ( to keep people inspired/entertained while waiting for the bus! Also great in helping canvassers determine where to hang out and collect petition signatures, or where politicians could hang out and speak to potential voters, etc!

    • I love it! Though the answer in most every case would be Government Square. But for targeting neighborhoods…that could be a fun map: Most used bus stops by neighborhood.

  3. […] done a little analysis of SORTA’s data already, so you can check that out here and here to get an idea of how this dataset could be useful. If you care to pursue it, I would say […]






Leave a Reply

Your email address will not be published. Required fields are marked *