S20 7691 Grenchen Süd – Olten

View line S20

Grenchen Süd 22:36 → Olten 23:24 Daily 0 h 48 min · 18 stops SBB CFF FFS

Running now · updated 23:15

Position estimated from the timetable

Between Hägendorf and Wangen bei Olten 0 min

Estimated arrival at Olten 23:24 · 64 km/h

  1. Grenchen Süd22:36
  2. Bellach22:43
  3. Solothurn22:49
  4. Wangen an der Aare22:58
  5. Hägendorf23:15
  6. Wangen bei Olten23:18
  7. Olten23:24

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

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

Last 30 days

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

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

Worst days

  • Thu 15 Oct Max en route +4 min · last fix heading to Olten +4 min

Distribution · 90 days

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

  • Early 6% · 4
  • On time 92% · 58
  • 3–10 min 2% · 1
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 100% M n=6
  • 100% T n=11
  • 100% W n=11
  • 90% T n=10
  • 100% F n=9
  • 100% S n=8
  • 100% S n=8

Stops and timetable

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

Last 90 days, 63 runs. At intermediate stops it is an estimate from the delay at origin and destination. Delays over 2 h count as “> 2 h”: our data does not measure them exactly.

StopSched.Usually 9 days in 10Today
22:36on time on timePassed
22:38≈ on time ≈ on timePassed
22:41≈ on time ≈ on timePassed
22:43≈ on time ≈ on timePassed
22:45≈ on time ≈ on timePassed
22:47≈ on time ≈ on timePassed
22:49 / 22:50≈ on time ≈ on timePassed
22:52 / 22:53≈ on time ≈ +1 minPassed
22:55≈ on time ≈ +1 minPassed
22:58≈ on time ≈ +1 minPassed
23:03≈ on time ≈ +1 minPassed
23:06≈ on time ≈ +1 minPassed
23:10≈ on time ≈ +1 minPassed
23:12≈ on time ≈ +1 minPassed
23:15≈ on time ≈ +1 minPassed
23:18≈ on time ≈ +2 minNext
23:21≈ on time ≈ +2 min
23:24on time +2 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.

Will I make my connection?

Pick where you get off and how many minutes you have until your next train. We work it out from what this train did over the last 90 days.

Include the time to change platforms. It is an estimate from past data, not a guarantee. Days more than 2 h late count as a missed connection.

Recent runs

DateLast stopFinalMax
Sun 15 NovHägendorf 23:14Partial coverage0 min—
Sat 14 NovOlten 23:28+3 min+3 min
Fri 13 NovOlten 23:240 min—
Thu 12 NovOlten 23:28+3 min+3 min
Wed 11 NovOlten 23:240 min—
Tue 10 NovOlten 23:240 min—
Mon 9 NovOlten 23:25+1 min—
Sun 8 NovOlten 23:240 min—
Sat 7 NovOlten 23:240 min—
Fri 6 NovOlten 23:240 min—
Thu 5 NovOlten 23:27+2 min+2 min
Wed 4 NovOlten 23:240 min—
Tue 3 NovOlten 23:24+1 min—
Mon 2 NovOlten 23:240 min—
Sun 1 NovOlten 23:24−1 min—
Sat 31 OctOlten 23:240 min—
Fri 30 OctOlten 23:250 min—
Thu 29 OctOlten 23:24−1 min—
Wed 28 OctOlten 23:26+1 min+1 min
Tue 27 OctOlten 23:26+1 min—
Mon 26 OctOlten 23:24−1 min—
Sun 25 OctOlten 23:240 min—
Sat 24 OctOlten 23:250 min—
Fri 23 OctOlten 23:250 min+2 min
Thu 22 OctOlten 23:250 min+1 min
Wed 21 OctOlten 23:240 min—
Tue 20 OctOlten 23:250 min—
Mon 19 OctOlten 23:24−1 min—
Sun 18 OctOlten 23:260 min—
Sat 17 OctOlten 23:250 min—