R20 233 Lausanne-Flon – Echallens
Alerts for train 233
Alerts are saved per line, not per trip id, so they keep working when the operator changes the timetable. This train runs on line R20.
It has not run yet today
Last recorded run: Tuesday 13 October −1 min
Next service: today 12:40 from Lausanne-Flon · Wed 14 Oct
Last 30 days
Arrival delay at Echallens, in minutes. One bar per run.
- On time (<3 min)
- 3–10 min
- 10–30 min
- 30+ min
- Partial coverage
- No data
Worst days
- Mon 10 Aug Max en route +30 min · last fix heading to Nyon +30 min
- Thu 24 Sept Max en route +17 min · last fix heading to Täsch +14 min
- Wed 23 Sept Max en route +12 min · last fix heading to Zermatt +12 min
- Wed 16 Sept Max en route +12 min · last fix heading to Zermatt +12 min
- Fri 9 Oct Max en route +3 min · last fix heading to Nyon +3 min
Distribution · 90 days
42 runs with a known final delay. On time = under 3 min, the same cut the map uses.
- Early 12% · 5
- On time 74% · 31
- 3–10 min 5% · 2
- 10–30 min 7% · 3
- 30+ min 2% · 1
On-time by weekday
- 86% M n=7
- 83% T n=6
- 67% W n=6
- 67% T n=3
- 83% F n=6
- 100% S n=6
- 100% S n=8
Stops and timetable
Timetable of the latest run from the operator’s GTFS (14 stops).
| Stop | Sched. |
|---|---|
| 12:40 | |
| 12:41 | |
| 12:44 / 12:45 | |
| 12:46 | |
| 12:47 | |
| 12:49 | |
| 12:51 / 12:52 | |
| 12:53 | |
| 12:55 | |
| 12:57 | |
| 12:59 | |
| 13:01 | |
| 13:03 | |
| 13:07 |
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
| Date | Last stop | Final | Max |
|---|---|---|---|
| Tue 13 Oct | Echallens 13:08 | −1 min | — |
| Mon 12 Oct | Echallens 13:08 | No data | — |
| Sun 11 Oct | Zermatt 13:17 | −1 min | — |
| Sat 10 Oct | Zermatt 13:19 | 0 min | +2 min |
| Fri 9 Oct | Nyon 16:32 | +3 min | +3 min |
| Thu 8 Oct | Nyon 16:31 | +3 min | +3 min |
| Wed 7 Oct | Nyon 16:32 | +2 min | +4 min |
| Tue 6 Oct | Nyon 16:31 | +2 min | +4 min |
| Mon 5 Oct | Nyon 16:28 | +2 min | +2 min |
| Sun 4 Oct | Zermatt 13:20 | +2 min | +2 min |
| Fri 2 Oct | Ponte Tresa 01:54 | +1 min | +3 min |
| Wed 30 Sept | Ponte Tresa 13:49 | +1 min | +1 min |
| Sat 26 Sept | Ponte Tresa 23:04 | 0 min | +1 min |
| Thu 24 Sept | Täsch 11:16 | +14 min | +17 min |
| Wed 23 Sept | Zermatt 11:16 | +12 min | +12 min |
| Tue 22 Sept | Zermatt 11:16 | +2 min | +2 min |
| Mon 21 Sept | Ponte Tresa 22:04 | +1 min | +1 min |
| Sun 20 Sept | Zermatt 16:16 | +2 min | +2 min |
| Sat 19 Sept | Zermatt 16:16 | +2 min | +2 min |
| Fri 18 Sept | Zermatt 16:16 | +1 min | — |
| Thu 17 Sept | Ponte Tresa 19:34 | No data | — |
| Wed 16 Sept | Zermatt 12:16 | +12 min | +12 min |
| Tue 15 Sept | Nyon 00:11 | 0 min | +9 min |
| Sun 13 Sept | Ponte Tresa 19:34 | 0 min | — |
| Fri 11 Sept | Nyon 00:11 | −1 min | +12 min |
| Thu 10 Sept | Zermatt 15:16 | 0 min | — |
| Wed 9 Sept | Nyon 00:57 | −1 min | +16 min |
| Tue 8 Sept | Zermatt 15:16 | +1 min | — |
| Mon 7 Sept | Nyon 01:11 | +1 min | +3 min |
| Sun 6 Sept | Zermatt 16:16 | +2 min | +2 min |