ScotRail 12H84

View line ScotRail

Daily ScotRail

It does not run today

Last recorded run: Tuesday 20 October +9 min

The mini-map returns when the train runs
On-time · 30 days
66%
19/29 runs under 3 min
RT coverage: 29 full · 0 partial · 0 no data
On-time · 90 days
70%
61/87 runs under 3 min
RT coverage: 87 full · 0 partial · 0 no data
Typical delay
+1min
Median at arrival, 90 days
30 days: 0 min
P90
+8min
9 in 10 runs arrive with less than this
30 days: +12 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 +51 min · last fix heading to Beauly +51 min
  • Sat 10 Oct Max en route +38 min · last fix heading to Beauly +35 min
  • Wed 9 Sept Max en route +45 min · last fix heading to Beauly +27 min
  • Mon 5 Oct Max en route +18 min · last fix heading to Conon Bridge +18 min
  • Mon 19 Oct Max en route +17 min · last fix heading to Beauly +14 min

Distribution · 90 days

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

  • Early 25% · 22
  • On time 45% · 39
  • 3–10 min 22% · 19
  • 10–30 min 6% · 5
  • 30+ min 2% · 2

On-time by weekday

  • 58% M n=12
  • 46% T n=13
  • 67% W n=12
  • 75% T n=12
  • 85% F n=13
  • 69% S n=13
  • 92% S n=12

Recent runs

DateLast stopFinalMax
Tue 20 OctBeauly 16:44+9 min+9 min
Mon 19 OctBeauly 16:50+14 min+17 min
Sun 18 OctBeauly 17:56−4 min+2 min
Sat 17 OctBeauly 16:34−2 min+3 min
Fri 16 OctBeauly 16:46+11 min+11 min
Thu 15 OctBeauly 16:38+2 min+5 min
Wed 14 OctBeauly 16:32−3 min+3 min
Tue 13 OctBeauly 16:41+5 min+7 min
Mon 12 OctBeauly 16:38+2 min+4 min
Sun 11 OctBeauly 17:54−7 min—
Sat 10 OctBeauly 17:10+35 min+38 min
Fri 9 OctBeauly 16:34−1 min+5 min
Thu 8 OctBeauly 16:33−2 min—
Wed 7 OctBeauly 16:44+9 min+11 min
Tue 6 OctBeauly 16:34−2 min+5 min
Mon 5 OctConon Bridge 16:54+18 min+18 min
Sun 4 OctBeauly 18:570 min+11 min
Sat 3 OctBeauly 16:41+5 min+11 min
Fri 2 OctBeauly 16:32−4 min+6 min
Thu 1 OctBeauly 16:350 min+3 min
Wed 30 SeptBeauly 16:32−4 min+3 min
Tue 29 SeptBeauly 16:39+3 min+6 min
Mon 28 SeptBeauly 16:32−4 min+1 min
Sun 27 SeptBeauly 17:54−6 min+2 min
Sat 26 SeptBeauly 16:360 min+4 min
Fri 25 SeptBeauly 16:350 min+3 min
Thu 24 SeptBeauly 16:12−1 min+20 min
Wed 23 SeptBeauly 16:31−5 min+3 min
Tue 22 SeptBeauly 16:40+5 min+6 min
Mon 21 SeptBeauly 16:360 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.