ScotRail 21H77

View line ScotRail

Daily ScotRail

It does not run today

Last recorded run: Tuesday 20 October +3 min

The mini-map returns when the train runs
On-time · 30 days
42%
11/26 runs under 3 min
RT coverage: 26 full · 0 partial · 0 no data
On-time · 90 days
56%
44/79 runs under 3 min
RT coverage: 79 full · 0 partial · 0 no data
Typical delay
+2min
Median at arrival, 90 days
30 days: +4 min
P90
+18min
9 in 10 runs arrive with less than this
30 days: +29 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

  • Sat 26 Sept Max en route +60 min · last fix heading to 01109 +59 min
  • Sun 27 Sept Max en route +59 min · last fix heading to 01109 +58 min
  • Mon 19 Oct Max en route +35 min · last fix heading to Inverness Airport +34 min
  • Fri 9 Oct Max en route +26 min · last fix heading to Inverness Airport +24 min
  • Sat 3 Oct Max en route +25 min · last fix heading to 01109 +22 min

Distribution · 90 days

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

  • Early 22% · 17
  • On time 34% · 27
  • 3–10 min 23% · 18
  • 10–30 min 18% · 14
  • 30+ min 4% · 3

On-time by weekday

  • 62% M n=13
  • 77% T n=13
  • 50% W n=12
  • 58% T n=12
  • 38% F n=13
  • 46% S n=13
  • 67% S n=3

Recent runs

DateLast stopFinalMax
Tue 20 OctInverness Airport 00:23+3 min+4 min
Mon 19 OctInverness Airport 00:55+34 min+35 min
Sat 17 OctInverness Airport 00:24+2 min+6 min
Fri 16 OctInverness Airport 00:19−1 min+3 min
Thu 15 OctInverness Airport 00:39+18 min+20 min
Wed 14 OctInverness Airport 00:36+16 min+18 min
Tue 13 OctInverness Airport 00:22+2 min+3 min
Mon 12 OctInverness Airport 00:26+6 min+6 min
Sat 10 OctInverness Airport 00:32+10 min+13 min
Fri 9 OctInverness Airport 00:44+24 min+26 min
Thu 8 OctInverness Airport 00:23+2 min+4 min
Wed 7 OctInverness Airport 00:22+1 min+4 min
Tue 6 OctInverness Airport 00:17−3 min+1 min
Mon 5 OctInverness Airport 00:25+5 min+7 min
Sat 3 Oct01109 00:43+22 min+25 min
Fri 2 Oct01109 00:29+9 min+10 min
Thu 1 Oct01109 00:17−3 min—
Wed 30 Sept01109 00:23+3 min+4 min
Tue 29 Sept01109 00:20−1 min+2 min
Mon 28 Sept01109 00:18−3 min+1 min
Sun 27 Sept01109 01:19+58 min+59 min
Sat 26 Sept01109 00:59+59 min+60 min
Fri 25 Sept01109 00:29+8 min+10 min
Thu 24 Sept01109 00:210 min+3 min
Wed 23 Sept01109 00:26+6 min+11 min
Tue 22 Sept01109 00:22+2 min+9 min
Mon 21 Sept01109 00:17−3 min+1 min
Sat 19 Sept01109 00:24+3 min+6 min
Fri 18 Sept01109 00:17−3 min+2 min
Thu 17 Sept01109 00:18−3 min+1 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.