S9 18960 Uster – Schaffhausen

View line S9

Uster 15:40 → Schaffhausen 17:04 Daily 1 h 24 min · 23 stops SBB CFF FFS

Running now · updated 16:10

Between Zürich Hardbrücke and Zürich Oerlikon 0 min

Estimated arrival at Schaffhausen 17:04 · 46 km/h

  1. Uster15:40
  2. Stettbach15:54
  3. Zürich Hardbrücke16:09
  4. Zürich Oerlikon16:14
  5. Oberglatt ZH16:24
  6. Eglisau16:39
  7. Schaffhausen17:04

Today it is running no worse than usual: typical arrival delay is 0 min; 100% of the last 13 runs arrived on time.

On-time · 30 days
100%
13/13 runs under 3 min
RT coverage: 12 full · 1 partial · 0 no data
On-time · 90 days
100%
26/26 runs under 3 min
RT coverage: 25 full · 1 partial · 7 no data
Typical delay
0min
Median at arrival, 90 days
30 days: 0 min
P90
0min
9 in 10 runs arrive with less than this
30 days: 0 min

Last 30 days

Arrival delay at Schaffhausen, in minutes. One bar per run.

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

Distribution · 90 days

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

  • Early 8% · 2
  • On time 92% · 24
  • 3–10 min 0% · 0
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 100% M n=3
  • 100% T n=5
  • 100% W n=3
  • 100% T n=4
  • 100% F n=4
  • 100% S n=5
  • 100% S n=2

Stops and timetable

Timetable of the latest run from the operator’s GTFS (23 stops).

StopSched.Today
15:40Passed
15:43Passed
15:46 / 15:47Passed
15:50Passed
15:54Passed
15:58 / 15:59Passed
16:02 / 16:07Passed
16:09Passed
16:14 / 16:15Next
16:17 / 16:18
16:21
16:24 / 16:25
16:27
16:32
16:35
16:39
16:42
16:45 / 16:46
16:49
16:53
16:57
17:00
17:04

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.

Recent runs

DateLast stopFinalMax
Fri 9 OctZürich Oerlikon 16:09Partial coverage0 min—
Thu 8 OctLe Châtelard-Frontière 17:590 min—
Wed 7 OctLe Châtelard-Frontière 18:000 min—
Tue 6 OctLe Châtelard-Frontière 17:59+1 min—
Mon 5 OctLe Châtelard-Frontière 17:590 min—
Sun 4 OctLe Châtelard-Frontière 17:59−1 min—
Sat 3 OctSchaffhausen 17:030 min+2 min
Thu 1 OctSchaffhausen 23:030 min—
Wed 23 SeptLe Châtelard-Frontière 00:050 min+2 min
Mon 21 SeptSchaffhausen 17:330 min+1 min
Sat 12 SeptSchaffhausen 20:030 min—
Fri 11 SeptSchaffhausen 20:030 min—
Thu 10 SeptSchaffhausen 16:330 min—
Sat 5 SeptSchaffhausen 09:030 min—
Fri 4 SeptLe Châtelard-Frontière 00:580 min+2 min
Tue 25 AugSchaffhausen 21:03+1 min—
Sat 22 AugLe Châtelard-Frontière 00:580 min+3 min
Thu 20 AugSchaffhausen 22:03−2 min—
Wed 19 AugSchaffhausen 22:030 min—
Tue 18 AugSchaffhausen 22:03−1 min+4 min
Mon 17 AugSchaffhausen 00:03No data—
Sun 16 AugSchaffhausen 00:03−1 min—
Sat 15 AugLe Châtelard-Frontière 00:580 min+4 min
Fri 14 AugSchaffhausen 00:03+1 min+1 min
Tue 28 JulSchaffhausen 00:34−1 min—
Thu 23 JulNeuhausen 23:59No data—
Wed 22 JulNeuhausen 00:00No data—
Tue 21 JulNeuhausen 23:590 min—
Mon 20 JulNeuhausen 23:590 min—
Sun 19 JulNeuhausen 23:59No data—