Daily rail performance archive
One page per day, recording what the railway actually did — how many passenger trains ran, how many arrived on time, how many were cancelled, and the reasons the operators themselves gave.
The industry's live feeds are not an archive. Darwin and TRUST retain roughly 30 hours of detail and then discard it — ask either of them what happened three days ago and there is nothing to answer with. This section exists because the data was captured as it arrived.
There are 49 days here, covering 1,203,226 recorded passenger services, of which 29,045 (2.4%) were cancelled.
Saturday, 15 August 2026
The worst day in the archive — 83.5% of the 13,251 arrivals recorded were within five minutes, and 1,069 trains were cancelled.
Monday, 31 August 2026
The best — 90.5% within five minutes and only 352 cancellations.
Every recorded day
Newest first. “On time” means arrival at the destination within five minutes — a stricter test than the industry's own public measure — and it is a share of the arrivals actually recorded that day, not of every train that ran. “Incl. cancelled” is the same count over a denominator that also holds the cancellations, which is what the industry's measure does.
A dash means arrival times were captured for too little of that day to state a punctuality figure. Those pages still record what ran, what was cancelled and why.
What is counted
Passenger services only, and only runs that settled — arrived, or were cancelled, or went more than two hours past their booked arrival without reporting. Delay is measured at the destination rather than at intermediate timing points, so these numbers read slightly worse than the published industry figures and should not be compared with them directly.
Freight is not included: it is roughly an eighth of the trains on the network, but Darwin does not cover it, so counting it would mean counting something different from one day to the next. Where the data comes from sets out every feed behind this.
Why this archive exists at all
The live feeds are not an archive and were never meant to be one. They retain roughly thirty hours, after which a day is simply gone — there is no query that recovers it and no back-fill that reconstructs it. Everything here exists because it was written down as it happened.
That has a consequence worth stating plainly: the record starts on the day recording started, and any gap in it is permanent. Two retention windows run in parallel — day summaries are kept for 400 days, while the per-stop detail behind them is pruned at 14. An older date therefore legitimately has an outcome without the calling-point times that produced it.
Percentages are of measured arrivals, never of runs
This is the single most important thing to know about these figures. A run can be recorded as having happened with nothing said about when it arrived, and such a run counts toward the day's total while counting toward no punctuality band at all.
Dividing on-time by every run would therefore have published sentences like “0.9% of trains arrived within five minutes” about an entirely ordinary Wednesday. So every percentage here is against arrivals we actually measured, and each page states how many that was. Where coverage falls below half, the page reports no punctuality figure at all and leads on what ran and what was cancelled instead — a real state that the earliest dates in this archive will always be in.
Cancellations are the exception and are trustworthy throughout, including on the thin days: reason coverage runs between 78% and 100%, in the industry's own words. The methodology sets out how each figure is built, and how a delay is measured explains why three feeds describe the same late train differently.
Which dates get a page
Only complete days, and never today. A day in progress is a running total — at midday the archive holds about a third of its trains, and a page built from that would report the third as the day's traffic, plausibly and wrongly.
Dates carrying fewer than a thousand recorded runs are also left out. That is not a judgement about the railway: a weekday runs around 26,000 services and a Sunday around 16,500, so anything below a thousand means collection was interrupted rather than that the network was quiet.