S15 19525 Niederweningen – Rüti ZH

View line S15

Niederweningen 06:34 → Rüti ZH 07:38 Daily 1 h 04 min · 17 stops SBB CFF FFS

Running now · updated 07:40

Between Bubikon and Rüti ZH 0 min

Estimated arrival at Rüti ZH 07:38 · 37 km/h

  1. Niederweningen06:34
  2. Steinmaur06:41
  3. Niederhasli06:46
  4. Glattbrugg06:56
  5. Zürich HB07:08
  6. Bubikon07:35
  7. Rüti ZH07:38

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

On-time · 30 days
100%
16/16 runs under 3 min
RT coverage: 16 full · 0 partial · 0 no data
On-time · 90 days
100%
31/31 runs under 3 min
RT coverage: 29 full · 2 partial · 0 no data
Typical delay
0min
Median at arrival, 90 days
30 days: 0 min
P90
+1min
9 in 10 runs arrive with less than this
30 days: +1 min

Last 30 days

Arrival delay at Rüti ZH, 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

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

  • Early 0% · 0
  • On time 100% · 31
  • 3–10 min 0% · 0
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

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

Stops and timetable

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

StopSched.Today
06:34Passed
06:35Passed
06:38Passed
06:41Passed
06:44Passed
06:46Passed
06:50Passed
06:53Passed
06:56 / 06:57Passed
07:00 / 07:01Passed
07:04Passed
07:08 / 07:09Passed
07:11 / 07:12Passed
07:23 / 07:24Passed
07:30Passed
07:35Passed
07:38Next

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
Tue 13 OctRüti ZH 07:400 min—
Mon 12 OctRüti ZH 07:39+1 min—
Sun 11 OctRüti ZH 07:390 min—
Sat 10 OctRüti ZH 07:390 min—
Fri 9 OctRüti ZH 07:390 min—
Thu 8 OctRüti ZH 07:390 min—
Wed 7 OctRüti ZH 07:390 min—
Tue 6 OctRüti ZH 07:390 min—
Mon 5 OctRapperswil SG 07:48+1 min—
Sun 4 OctRüti ZH 07:39−1 min—
Sun 27 SeptRapperswil SG 16:150 min+7 min
Sun 20 SeptRapperswil SG 19:15+1 min+1 min
Sat 19 SeptRapperswil SG 19:150 min—
Fri 18 SeptRapperswil SG 19:150 min—
Thu 17 SeptRapperswil SG 15:150 min—
Wed 16 SeptRapperswil SG 15:150 min—
Mon 7 SeptRapperswil SG 20:45+1 min—
Sat 5 SeptRapperswil SG 20:450 min—
Fri 4 SeptRapperswil SG 20:45+1 min—
Wed 2 SeptRapperswil SG 17:15+1 min+2 min
Sat 29 AugRapperswil SG 15:15Partial coverage0 min+3 min
Thu 27 AugRapperswil SG 13:45+2 min+2 min
Mon 24 AugRapperswil SG 23:46Partial coverage0 min—
Mon 17 AugRapperswil SG 22:45+2 min+2 min
Fri 14 AugRapperswil SG 22:450 min—
Thu 13 AugRapperswil SG 21:450 min—
Wed 12 AugRapperswil SG 21:450 min—
Tue 11 AugRapperswil SG 21:45+1 min—
Sat 1 AugRapperswil SG 23:150 min—
Wed 29 JulRapperswil SG 00:150 min—