Frequently Asked Questions

Is the Source Code Available?

You bet it is! It can be found on GitHub at:
https://github.com/dmuth/SeptaStats

Can I get a dump of all of the train data from this website?

Yes! I have a few years of train data, all of which is available on Dropbox. While I can continue to try to deal with weird edge cases, what we ultimately need is better/more explicit data coming from SEPTA's API so that better graphs can be made. :-)

I periodically refresh what's in the Dropbox folder, but if you need more recent data than what is on Dropbox, please open an issue on GitHub or drop me an email and I can export and upload whatever you need.

Why does the 7 Day System Lateness Graph Start At The Current Hour?

Good question! I had originally tried to "solve" the problem by doing custom sorting by hour in Javascript, but a new problem emerged: how the graph looked for the rest of the day. If the time was say, 6 PM, the current day's lateness would say the same for the next 5 hours. I thought of reducing the lateness to zero for the rest of that, but that's also not an optimal solution as it make it looks like the trains will be at zero lateness for the rest of the evening.

I'm open for other suggestions on how to make the grpah look better.

Why do some of the train graphs show the wrong station order, or even fail to show a train?

This is due partly due to some train lines overlapping.

For example, train 553 is:
  • Glenside Inbound
  • Lansdale/Doylestown Inbound
  • and Paoli/Thorndale Outbound
Only by looking at an actual map can you tell that the Glenside Inbound is a subset of the Lansdale/Doyletown Inbound. This situation (and many others) aren't clearly disclosed in the train data.

Now I know what you're thinking, let's just ignore stations like Glenside that are in the "middle" of other lines. Problem is, sometimes Glenside is the endpoint. Train 3425 is a good example of this: it starts as a West Trenton Inbound and ends at the airport. But some days it starts as a Glenside inbound.

At least, that's what I got from parsing train numbers out of the schedules listed at http://www4.septa.org/schedules/rail/index.html. Is it possible that the schedules contain outdated info? Yes, absolutely.

Have you built anything else?

Yep! I've built a few things you may find interesting: