TransPennine Express 321S40

View line TransPennine Express

Daily TransPennine Express

It does not run today

Last recorded run: Tuesday 20 October +16 min

The mini-map returns when the train runs
On-time · 30 days
54%
15/28 runs under 3 min
RT coverage: 28 full · 0 partial · 0 no data
On-time · 90 days
53%
47/88 runs under 3 min
RT coverage: 88 full · 0 partial · 0 no data
Typical delay
+2min
Median at arrival, 90 days
30 days: +2 min
P90
+11min
9 in 10 runs arrive with less than this
30 days: +11 min

Last 30 days

Delay at the end of each run, in minutes. One bar per run.

  • On time (<3 min)
  • 3–10 min
  • 10–30 min
  • 30+ min
  • Partial coverage
  • No data

Worst days

  • Mon 3 Aug Max en route +59 min · last fix heading to 09159 +59 min
  • Tue 20 Oct Max en route +19 min · last fix heading to Carlisle +16 min
  • Sun 4 Oct Max en route +15 min · last fix heading to 07420 +15 min
  • Thu 20 Aug Max en route +19 min · last fix heading to 07420 +15 min
  • Fri 24 Jul Max en route +18 min · last fix heading to 07420 +15 min

Distribution · 90 days

88 runs with a known final delay. On time = under 3 min, the same cut the map uses.

  • Early 3% · 3
  • On time 50% · 44
  • 3–10 min 34% · 30
  • 10–30 min 11% · 10
  • 30+ min 1% · 1

On-time by weekday

  • 50% M n=12
  • 54% T n=13
  • 67% W n=12
  • 50% T n=12
  • 38% F n=13
  • 62% S n=13
  • 54% S n=13

Recent runs

DateLast stopFinalMax
Tue 20 OctCarlisle 13:04+16 min+19 min
Mon 19 OctCarlisle 12:52+4 min+13 min
Sun 18 OctCarlisle 13:03+1 min+3 min
Sat 17 OctCarlisle 12:57+7 min+13 min
Fri 16 OctCarlisle 12:47−1 min+7 min
Thu 15 OctCarlisle 12:490 min+7 min
Wed 14 OctMotherwell 13:00+12 min+12 min
Tue 13 OctCarlisle 12:56+8 min+13 min
Sun 11 OctMotherwell 13:01−1 min+1 min
Sat 10 OctCarlisle 12:47−3 min+4 min
Fri 9 OctMotherwell 12:56+8 min+15 min
Thu 8 OctMotherwell 12:58+10 min+11 min
Wed 7 OctMotherwell 12:48−1 min+2 min
Tue 6 OctCarlisle 12:54+6 min+11 min
Mon 5 Oct11718 10:40+11 min+11 min
Sun 4 Oct07420 13:17+15 min+15 min
Sat 3 Oct07420 12:52+2 min+7 min
Fri 2 Oct07420 12:47−1 min+4 min
Thu 1 Oct07420 12:47−1 min+5 min
Wed 30 Sept07420 12:48−1 min+9 min
Tue 29 Sept07420 12:48+1 min+5 min
Mon 28 Sept07420 12:49+1 min+6 min
Sun 27 Sept07420 13:07+5 min+5 min
Sat 26 Sept07420 12:500 min+2 min
Fri 25 Sept07420 12:54+6 min+8 min
Thu 24 Sept07420 12:47−1 min+6 min
Wed 23 Sept07420 12:49+1 min+6 min
Tue 22 Sept07420 12:56+8 min+10 min
Mon 21 Sept07420 12:52+4 min+7 min
Sun 20 Sept07420 13:020 min+3 min

Each run is closed into train_runs (country, train number, service day) from the live positions. Final delay = last delay seen. Partial coverage: the feed stopped before the final stop (last value used, hatched in the chart). No data: a run without any valid delay; counts as neither on time nor late. Data collected since 11 July 2026.