TransPennine Express 361K31

View line TransPennine Express

Daily TransPennine Express

It does not run today

Last recorded run: Thursday 29 October +14 min

The mini-map returns when the train runs
On-time · 30 days
38%
8/21 runs under 3 min
RT coverage: 21 full · 0 partial · 0 no data
On-time · 90 days
45%
24/53 runs under 3 min
RT coverage: 53 full · 0 partial · 0 no data
Typical delay
+3min
Median at arrival, 90 days
30 days: +5 min
P90
+17min
9 in 10 runs arrive with less than this
30 days: +18 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 26 Oct Max en route +75 min · last fix heading to Brough +73 min
  • Sun 25 Oct Max en route +51 min · last fix heading to Brough +50 min
  • Fri 18 Sept Max en route +39 min · last fix heading to 19109 +37 min
  • Wed 5 Aug Max en route +31 min · last fix heading to 19109 +31 min
  • Tue 6 Oct Max en route +18 min · last fix heading to Morley +18 min

Distribution · 90 days

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

  • Early 2% · 1
  • On time 43% · 23
  • 3–10 min 36% · 19
  • 10–30 min 11% · 6
  • 30+ min 8% · 4

On-time by weekday

  • 40% M n=10
  • 22% T n=9
  • 67% W n=9
  • 40% T n=10
  • 44% F n=9
  • 67% S n=3
  • 67% S n=3

Recent runs

DateLast stopFinalMax
Thu 29 OctBrough 20:49+14 min+14 min
Mon 26 OctBrough 21:47+73 min+75 min
Sun 25 OctBrough 21:36+50 min+51 min
Sat 24 OctGilberdyke 20:50+11 min+11 min
Fri 23 OctBrough 20:39+3 min+7 min
Thu 22 OctBrough 20:36+1 min+10 min
Wed 21 OctBrough 20:35−1 min+3 min
Tue 20 OctBrough 20:36+1 min+5 min
Mon 19 OctBrough 20:40+5 min+8 min
Fri 16 OctBrough 20:42+7 min+10 min
Thu 15 OctBrough 20:38+2 min+5 min
Wed 14 OctBrough 20:37+3 min+4 min
Tue 13 OctBrough 20:46+11 min+13 min
Mon 12 OctBrough 20:40+5 min+6 min
Sun 11 OctBrough 20:440 min+7 min
Sat 10 OctBrough 20:38+2 min+16 min
Fri 9 OctBrough 20:350 min+2 min
Thu 8 OctBrough 20:43+8 min+8 min
Wed 7 OctBrough 20:37+2 min+6 min
Tue 6 OctMorley 19:47+18 min+18 min
Mon 5 OctBrough 20:40+6 min+9 min
Fri 18 Sept19109 21:12+37 min+39 min
Thu 17 Sept19109 20:37+2 min+7 min
Wed 16 Sept19109 20:36+1 min+4 min
Tue 15 Sept19109 20:44+7 min+9 min
Mon 14 Sept19109 20:41+7 min+9 min
Fri 11 Sept16460 20:00−1 min+5 min
Thu 10 Sept19109 20:52+17 min+20 min
Wed 9 Sept19109 20:39+4 min+6 min
Tue 8 Sept19109 20:38+3 min+5 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.