Transport for Wales 321V40

View line Transport for Wales

Mon, Tue, Wed, Thu, Fri, Sat Transport for Wales

✓ Today’s run finished

Today, last fix heading to Johnston (Pembrokeshire) at 18:20 +59 min

The mini-map returns when the train runs
On-time · 30 days
20%
5/25 runs under 3 min
RT coverage: 25 full · 0 partial · 0 no data
On-time · 90 days
18%
14/77 runs under 3 min
RT coverage: 77 full · 0 partial · 0 no data
Typical delay
+17min
Median at arrival, 90 days
30 days: +12 min
P90
+38min
9 in 10 runs arrive with less than this
30 days: +30 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

  • Wed 12 Aug Max en route +100 min · last fix heading to Johnston (Pembrokeshire) +99 min
  • Mon 3 Aug Max en route +84 min · last fix heading to 80409 +84 min
  • Tue 11 Aug Max en route +104 min · last fix heading to 76400 +79 min
  • Thu 27 Aug Max en route +73 min · last fix heading to Johnston (Pembrokeshire) +72 min
  • Fri 7 Aug Max en route +62 min · last fix heading to Johnston (Pembrokeshire) +62 min

Distribution · 90 days

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

  • Early 5% · 4
  • On time 13% · 10
  • 3–10 min 14% · 11
  • 10–30 min 49% · 38
  • 30+ min 18% · 14

On-time by weekday

  • 0% M n=13
  • 17% T n=12
  • 31% W n=13
  • 23% T n=13
  • 8% F n=13
  • 31% S n=13
  • — S n=0

Recent runs

DateLast stopFinalMax
Mon 26 OctJohnston (Pembrokeshire) 18:20+59 min+60 min
Sat 24 OctKidwelly 17:17+31 min+31 min
Fri 23 OctWrenbury 17:46+13 min+15 min
Thu 22 OctJohnston (Pembrokeshire) 18:08+29 min+31 min
Wed 21 OctJohnston (Pembrokeshire) 17:54+15 min+18 min
Tue 20 OctHaverfordwest 18:01+17 min+20 min
Mon 19 OctJohnston (Pembrokeshire) 20:30+19 min+19 min
Sat 17 OctPrees 16:27+1 min+6 min
Fri 16 OctJohnston (Pembrokeshire) 18:04+22 min+25 min
Thu 15 OctJohnston (Pembrokeshire) 23:21+7 min+26 min
Wed 14 OctJohnston (Pembrokeshire) 17:40+1 min+7 min
Tue 13 OctJohnston (Pembrokeshire) 20:43+11 min+24 min
Mon 12 OctJohnston (Pembrokeshire) 20:03+4 min+23 min
Sat 10 OctBridgend 15:53+5 min+11 min
Fri 9 OctJohnston (Pembrokeshire) 19:310 min+12 min
Thu 8 OctJohnston (Pembrokeshire) 19:48+2 min+12 min
Wed 7 OctJohnston (Pembrokeshire) 19:29+12 min+18 min
Tue 6 OctJohnston (Pembrokeshire) 17:58+19 min+19 min
Mon 5 OctWem 15:44+53 min+55 min
Sat 3 OctJohnston (Pembrokeshire) 19:45+2 min+4 min
Fri 2 OctJohnston (Pembrokeshire) 18:01+21 min+21 min
Thu 1 Oct80110 18:09+24 min+26 min
Wed 30 SeptJohnston (Pembrokeshire) 23:40+12 min+23 min
Tue 29 SeptJohnston (Pembrokeshire) 23:30+5 min+5 min
Mon 28 SeptJohnston (Pembrokeshire) 23:19+5 min+6 min
Sat 26 Sept79303 22:480 min+6 min
Fri 25 SeptJohnston (Pembrokeshire) 18:01+22 min+26 min
Thu 24 SeptJohnston (Pembrokeshire) 18:05+17 min+19 min
Wed 23 SeptJohnston (Pembrokeshire) 22:49+17 min+18 min
Tue 22 SeptJohnston (Pembrokeshire) 17:58+19 min+20 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.