What we mean when we say a train was on time
Published 5 September 2026. Not revised since.
Any site that publishes a punctuality percentage has already made four decisions before you see the number, and almost none of them tell you what those decisions were. How late does a train have to be before it counts as late? How many recorded runs are enough before a figure is worth printing? Which arrival is the figure describing, the last one or all of them? And what happens to a measurement that looks impossible?
Those four answers matter more than the number itself. Two sites can measure the same train on the same days and publish figures fifteen points apart purely on the strength of where they drew those lines. So here are ours, written down, so that you can disagree with them.
On time means within fifteen minutes
When this site says a train was on time, it means the recorded arrival was fifteen minutes or less after the booked time. Sixteen minutes late is late. A train that arrives early is on time.
Fifteen minutes is a convention rather than a fact. It is the threshold most national railways use for long distance services, and it is the one we adopted so that our percentages can be compared with figures published elsewhere. It is not a claim that fourteen minutes does not matter to you. If you are meeting someone, it does.
The on-time percentage is calculated across the last twenty-eight days of recorded arrivals, at every stop on the route rather than only the final one. That is why a train can show a high on-time percentage and still have a large typical delay at its terminus: it kept its time for most of the journey and lost it near the end.
A blank is a decision, not a gap in the page
You will find blanks all over this site where you expected a figure. They are deliberate, and each one has a threshold behind it.
- A delay figure for one train at one station needs at least three recorded arrivals there.
- A train enters the punctuality rankings only after seven days of recorded running.
- A typical arrival figure at a train's final station, and the journey time that goes with it, need seven recorded arrivals at that station.
- A bad-day figure needs the same seven recorded arrivals, because a worst case drawn from three runs is just the worst of three runs.
None of these are large numbers. They are the point at which a figure stops being an anecdote, not the point at which it becomes precise. We would rather show you nothing than show you a number that would move by twenty minutes if one more train ran tomorrow.
If you see a dash where you wanted a figure, it means we have not recorded enough runs yet, and it will fill in. It never means the train was on time.
Which arrival the number is describing
This is the distinction that trips people up most, and it is worth being slow about.
A train page carries two different typical delays, and they usually disagree.
One is measured at the train's final station. It answers the question a passenger travelling the whole route is asking: how late will I actually get there? The other is measured across every stop on the route. It answers a different question: how well does this train keep its time in general?
A train that leaves on time, drifts gently, and arrives ninety minutes late at the far end has a modest all-stops figure and a large terminus figure. Both are true. They are answers to different questions, and every figure on this site is labelled with which one it is. If a punctuality number anywhere does not tell you where it was measured, it is not telling you very much.
The same idea runs one level deeper on our route pages, where a figure shows how much delay a train typically gains or loses over one stretch of track. That is a property of the track, not of the train, and we wrote about it separately in why a train can be late at one station and on time at the next.
The bad day figure is not the worst day
Where we have enough recorded arrivals, we publish a second figure beside the typical one, for the bad day. It is worth saying plainly what it is, because it sounds like something worse than it is.
The bad-day figure is the level that one run in ten reaches or passes. It is not the worst arrival we have ever recorded, and it is not a prediction of your journey. If a train shows a typical delay of forty minutes and a bad day of three hours, that means nine journeys in ten came in under three hours late, and one in ten did not.
We publish it because a typical figure on its own hides the thing that actually ruins a trip. Two trains can share a typical delay of forty minutes while one of them is reliably forty minutes late and the other is usually punctual and occasionally catastrophic. Those are very different trains to plan around, and one number cannot tell them apart.
What we throw away, and why
Not every measurement that reaches our database is believable, and two rules withdraw the ones that are not.
The first is a floor. Where an arrival is recorded as more than sixty minutes early, the delay figure is withdrawn rather than published. No service on this network runs an hour ahead of its booking. A figure like that is a crossing matched to the wrong service date, and left in place it does real damage: one such record once dragged a station's figure to more than twenty-two hours early and coloured it green. The crossing itself is kept, because we really did see the train at that station and that observation is still true. It is only the delay, the part we cannot stand behind, that goes, and downstream it reads as not measured rather than as on time. The floor is enforced by the database itself, on every record, whatever route it arrived by.
The second is a ceiling with an exception built into it. Pakistan Railways genuinely holds trains for very long periods, so a hard cap on delay would delete our truest worst observations, and deleting a bad run makes every average look better than it should. A flattering lie is worse than a large number. So instead of capping, we look for corroboration: a train genuinely held for twelve hours crosses many stations that day, all of them carrying the same enormous delay, while a mis-matched fragment sits alone. An arrival more than twelve hours late, on a day where we recorded fewer than three timed stops for that train in total, is withdrawn. The same delay on a well observed run is kept and published.
Both rules are applied when a record is created, before anything is aggregated. The floor applies to every arrival we hold. The corroboration rule applies to the arrivals we work out ourselves from GPS traces, which is where a mis-matched fragment can arise in the first place.
What the number is not
It is not a forecast. Everything on this site is a description of arrivals that already happened. A train with a good record is not promising you anything, and a train with a poor one may run perfectly tomorrow.
It is not an average either. Every typical figure here is a median, which is a deliberate choice with a large effect, and it has an article of its own: why we publish a median delay, not an average.
And it is not the operator's own measurement. We are an independent archive. Where our figures come from, and how an arrival gets recorded in the first place, is set out in where our train delay data comes from.
Those are all the lines we drew. Every one of them could reasonably have been drawn somewhere else, and knowing where they are is what lets you argue with a figure instead of believing it.
See it in the data
- The archive — what we collect, and the dataset itself
- Punctuality rankings — every tracked service, ranked by how often it arrives within 15 minutes
- The daily record — the most recent complete day of recorded arrivals, worst first
Related
Why we publish a median delay, not an average
An average delay is dragged upward by a handful of very bad days, so it describes a journey most passengers never take. The median describes the ordinary one. Here is the difference, and why it matters when you are deciding what time to leave for the station.
Why a train can be late at one station and on time at the next
Delay is not a single property of a train. It is a measurement taken at a place, and it changes along the route. Understanding that is the difference between reading a punctuality figure correctly and being misled by one.
Up and down: how Pakistan Railways numbers its trains
Every Pakistani train carries a number and a direction, and the two are not independent. Across the 105 passenger services we track, the pattern holds without a single exception in one direction and with exactly one in the other. Here is the rule, the evidence, and the one train that breaks it.