Frequently asked questions
Straight answers about the reliability data on this site — and, further down, about the Trackside iPhone app. Jump to app questions →
About the reliability website
The reliability data
How do you calculate reliability, and what does “on time” count as?
We compare each train’s actual arrival to the public printed timetable, stop by stop, across months of history, and summarize how a given train usually performs — typical lateness, how often it’s on time, and the bad-day tail. “On time” here means arriving within a small threshold of the scheduled time. The full method and its limits live on the About page.
Why might your delay numbers differ from the agency’s?
We measure against the public timetable and report lateness at the stop that matters to a rider, not at whichever stop is most flattering. We also deliberately ignore the raw “delay” value in the data feed, which for arrivals is computed against a padded internal schedule and can disagree with the public timetable by a couple of minutes. Different tools make different choices, so small differences are expected.
Why does a train look better at its final stop than it felt on my commute?
Timetables build “recovery” padding into the last stops of a run, so a train that was running late mid-route can arrive at its terminus roughly on time against that padded schedule. That’s why we anchor a train’s performance to the stop a rider actually cares about, not the terminus — measuring at the end systematically understates the delay you felt along the way.
How current is the data, and how far back does it go?
The site reflects data collected over an extended window of daily service. It’s a picture of how trains usually run, not a live position tracker — for live tracking, that’s what the app is for.
How do you count cancellations, and why do some trains have little data?
A cancelled train usually just stops appearing in the agency feed rather than sending a clear “cancelled” flag, so we infer cancellations from a train that never departed its origin. Trains that run rarely, or that were recently added, simply have less history behind their numbers, and we say so rather than pretending a handful of days is a reliable pattern.
Understanding performance
What makes a commuter train late?
Short version: most of what makes a US commuter train late is decided long before it leaves the station, and it usually comes down to two things — whether your agency controls its own tracks and how the whole system is funded.
Who controls the tracks can matter enormously. Some commuter lines don’t run on their own rails — they’re tenants on tracks owned by a freight railroad or by Amtrak, and the owner’s dispatchers decide which train moves and which one waits. On those lines, when a freight train and a commuter train want the same stretch of single track, it’s often the track owner — not your transit agency — who makes the call. On paper, passenger trains are supposed to have priority; in practice, riders and crews have long reported that freight is often slower to yield than that priority suggests. Agreements with the host railroad can also cap how many trains an agency is even allowed to run. Other agencies own most of their own track, which spares them the tenant problem — but ownership is no free pass, because it hands them the bill for maintaining aging infrastructure themselves.
Funding is the thread that runs through all of it. Commuter rail in the US runs on a mix of fares and public subsidy, and for decades that funding — especially the capital money for track, signals, and new equipment — hasn’t kept pace with the need. Deferred maintenance turns into slow orders and speed restrictions; aging equipment breaks down; there’s never enough scheduled track time to fix things without disrupting service. This hits tenants and track-owners alike: an agency that rents its rails and one that owns them can both be starved of the money to keep them in good repair. (Sources: GAO on commuter/freight track access, ASCE Infrastructure Report Card.)
On top of all this: weather, heat orders that force trains to slow in summer, single-tracking, and one bad incident cascading through a tightly-scheduled corridor. None of it is unique to any one agency — it’s the shape of American passenger rail.
What can I do about it?
More than you might think — most of these problems are funding and policy choices, not laws of nature. The most direct lever is your elected representatives: state legislators and your members of Congress vote on the operating and capital budgets that decide whether tracks get fixed and service gets added. Telling them that reliable commuter rail matters to you, showing up to your agency’s public meetings, and supporting transit-funding measures all count. (This is offered as civic information, not a partisan position — better-funded, better-maintained rail is the goal regardless of who you vote for.)
About this site
Are you affiliated with the transit agency?
No — this is an independent project. We’re not operated, endorsed, or supplied by any transit agency; we simply build on the public data feed each agency already publishes, the same feed open to any developer. And we’re not a substitute for an agency’s own official service information.
Do you track me or use cookies?
No. This site runs no analytics, no advertising trackers, and sets no tracking cookies — there’s nothing to opt out of. You don’t need an account, and browsing the reliability data is anonymous. The one cookie you might ever see is a strictly-necessary security cookie set by our hosting provider (Cloudflare) to tell real visitors from bots; it holds no personal information and doesn’t follow you from site to site. Like any website, our server keeps short-lived access logs for security — they aren’t used to profile you. (Full details on the privacy page.)
Where does the data come from?
Entirely from the agency’s public real-time and schedule feeds. That’s a strength — it’s the same data the agency itself runs on — and a limit: we can only ever be as accurate and complete as that feed is. When the feed is wrong or missing, so are we.
Can I get this for my line or another agency?
The website already covers MARC, VRE, MBTA, SEPTA, and Caltrain, with more on the way. If yours isn’t here yet, that’s usually just a matter of getting the data collection running for it long enough to build honest history.
What’s the difference between the app and this website?
The website answers “how does this train usually run?” — long-run reliability you can use to plan. The app answers “where is my train right now?” — live tracking, arrival estimates, and notifications while you’re actually commuting.
About the Trackside app
These questions are about the Trackside iPhone app — a live train tracker for your commute. More about the app →
Tracking & accuracy
Why doesn’t the app use my phone’s location to track trains?
Because your phone’s location isn’t the train’s location — you might be watching a train you’re not even on, or standing on a platform waiting for one. The only thing that knows where every train actually is, is the transit agency’s own tracking feed, so that’s what we use. Leaning on the agency feed instead of your GPS also means the app isn’t holding your location sensor open in the background, which is easier on your battery.
Why is the train’s position sometimes behind, wrong, or missing?
Everything the app shows comes from the agency’s live feed, and that feed updates on its own schedule — usually every 15–30 seconds, but sometimes slower, and occasionally a train drops out of it entirely for a while. When that happens we show you the last thing the agency told us. So a position can lag reality by a bit, and once in a while a train the agency has stopped reporting will go quiet. That’s a limit of the underlying data, not a bug we can fix by trying harder — no third-party app has better train positions than the agency’s own feed.
Why does the train glide along smoothly and then occasionally jump?
Between the agency’s updates, we make an educated guess about where the train has moved to — we know its recent speed and the shape of the track, so we carry it forward smoothly rather than freezing it in place. When a fresh update arrives, the position snaps to the real value. That snap isn’t an error; it’s the estimate correcting to ground truth. We keep the guessing conservative on purpose — it never runs a train past a stop it hasn’t actually reached.
A train I was watching disappeared, or showed a huge delay — what happened?
Agencies don’t always send a clean “cancelled” signal. Often a cancelled or annulled train simply stops appearing in the feed, and a train that’s been sitting can leave a stale prediction behind that briefly looks like an enormous delay. If a train vanishes near its scheduled time, a cancellation is the most likely explanation — check the agency’s own alerts to confirm.
Why does the delay here sometimes differ from another app or the platform sign?
We always measure a train against the public printed timetable — the same schedule on MARC’s published timetables — at the stop you care about. Different tools make different choices (which stop they measure at, which schedule they compare to, how they round), so small differences are normal. One thing we deliberately don’t use is the raw “delay” number baked into the agency’s data feed: for arrivals, that number is computed against an internal schedule that includes built-in padding, and it can disagree with the public timetable by a couple of minutes. We compute lateness ourselves from the public schedule instead.
Why is a ride in my history missing its delay — blank instead of a time?
Your ride history records the delay you actually experienced, captured when the ride wraps up. If the app was closed or in the background through your arrival, it may not have seen the train’s final numbers in time — and once a train finishes its run it drops out of the agency feed, so by the time you reopen the app there can be nothing left to confirm the real delay against. Rather than show you a made-up or stale number, we leave that ride’s delay blank. If you reopen the app while the train is still running its route, we fill the delay in on a best-effort basis; after that, an honest blank is the most we can truthfully say.
What do the motion labels and the speed number mean?
The app reads the train’s reported position and speed to say whether it’s moving, slowing, stopped, or approaching your stop, and how far away it is. The speed is the agency’s own reported figure. Like everything else, these are only as fresh as the last feed update, so we hide them when the data is too stale to trust.
Using the app
What’s the difference between Ride and Watch?
Ride is for when you’re on the train — the app frames everything around your trip and your arrival. Watch is for keeping an eye on a train you’re not on (meeting someone, deciding whether to leave for the platform). You can switch between them at any time if you picked the wrong one.
Why did my Live Activity or Dynamic Island freeze or go stale?
Live Activities update from the same agency feed, delivered to your phone in the background. If the feed stalls, or your phone’s connection drops, or iOS throttles background updates, the readout can lag. It catches up when fresh data arrives. If it looks frozen for a long time, opening the app pulls the latest directly.
Why was my notification late, or why didn’t I get one?
Notifications fire off changes in the agency feed and are delivered through Apple’s push system, so two things have to line up: the agency has to report the change, and the push has to reach your phone. Either can lag by a bit. We’d rather send you an honest, slightly-late alert than a confident wrong one.
Privacy & the app
What data does the app collect, and where does my location go?
Your location is used only on your own device, to do things like show nearby stations, and it is not sent to us or anyone else for tracking trains. Train positions come from the public agency feed, not from riders’ phones. (Full details on the privacy page.)
Should I rely on this to catch my train?
Treat it as a helpful estimate, not a guarantee. Because everything depends on the agency’s feed — which can lag, be wrong, or go quiet — give yourself a buffer and check the agency’s official alerts for anything critical. We work hard to be honest about what we don’t know, which is exactly why you shouldn’t bet a missed train on a single readout.
What’s free and what’s paid?
Here’s the line we draw: everything that runs on your own device, or that we compute once and share with everybody, is free. The paid features are the ones where a server of ours has to do ongoing work for you personally — keeping watch on your specific train, around the clock, and pushing alerts to your phone.
So everything you do inside the app is free: tracking a train with Ride or Watch, the live map, motion and distance and speed, your tracking pill, and your automatically captured ride history and stats — your phone reads the transit agency’s public feed directly and does that work itself. The reliability data is free too, on both the app and the website: we gather it once and everyone sees the same numbers, so there’s no per-rider cost to making it available.
Premium is the part that only works because a server of ours is watching your train even when your phone isn’t — and doing that for each subscriber, continuously: Live Activities on your Lock Screen and Dynamic Island that keep updating in the background, and push notifications (delay and approach alerts, and alerts for a train you follow). That per-rider, always-on work is the real cost we’re covering, so those pieces are a subscription — and it starts with a free trial.
Subscribing is also simply a way to support the app. It helps us keep the servers running, keep improving things, and keep the long-term reliability data free and available to everyone — including the riders who never pay a cent. If the app is useful to you, that’s the most direct way to keep it going.
Which lines and agencies are supported?
MARC (Penn, Camden, and Brunswick lines) today, with more agencies on the way. (The website already publishes reliability data for MARC, VRE, MBTA, SEPTA, and Caltrain — the app’s live tracking is starting with MARC and expanding from there.)