R20 240 Echallens – Lausanne-Flon
Alerts for train 240
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.
✓ Today’s run finished
Today it reached Lausanne-Flon at 15:21 +1 min
- Echallens14:52
- Etagnières14:57
- Cheseaux15:01
- Romanel-sur-Lausanne15:06
- Cery-Fleur-de-Lys15:10
- Union-Prilly15:14
- Lausanne-Flon15:20
Next service: tomorrow 14:52 from Echallens · Fri 9 Oct
Last 30 days
Arrival delay at Lausanne-Flon, in minutes. One bar per run.
- On time (<3 min)
- 3–10 min
- 10–30 min
- 30+ min
- Partial coverage
- No data
Worst days
- Tue 6 Oct Max en route +5 min · last fix heading to Genolier +5 min
- Mon 5 Oct Max en route +5 min · last fix heading to Genolier +5 min
- Wed 7 Oct Max en route +4 min · last fix heading to Genolier +4 min
Distribution · 90 days
23 runs with a known final delay. On time = under 3 min, the same cut the map uses.
- Early 13% · 3
- On time 74% · 17
- 3–10 min 13% · 3
- 10–30 min 0% · 0
- 30+ min 0% · 0
On-time by weekday
- 75% M n=4
- 80% T n=5
- 75% W n=4
- 100% T n=2
- 100% F n=4
- 100% S n=3
- 100% S n=1
Stops and timetable
Timetable of the latest run from the operator’s GTFS (14 stops).
| Stop | Sched. |
|---|---|
| 14:52 | |
| 14:55 / 14:56 | |
| 14:57 | |
| 15:00 | |
| 15:01 / 15:02 | |
| 15:03 | |
| 15:05 | |
| 15:06 / 15:07 | |
| 15:09 | |
| 15:10 | |
| 15:12 | |
| 15:14 | |
| 15:17 | |
| 15:20 |
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 |
|---|---|---|---|
| Thu 8 Oct | Lausanne-Flon 15:22 | +1 min | +2 min |
| Wed 7 Oct | Genolier 18:06 | +4 min | +4 min |
| Tue 6 Oct | Genolier 18:07 | +5 min | +5 min |
| Mon 5 Oct | Genolier 18:07 | +5 min | +5 min |
| Sun 4 Oct | Interlaken Ost 11:25 | 0 min | +1 min |
| Sat 3 Oct | Lausanne-Flon 15:19 | No data | — |
| Fri 2 Oct | Genolier 18:00 | −1 min | +2 min |
| Mon 28 Sept | Genolier 13:30 | −1 min | +2 min |
| Fri 25 Sept | Genolier 12:00 | −1 min | +3 min |
| Wed 23 Sept | Genolier 19:30 | 0 min | +1 min |
| Tue 22 Sept | Givrins 17:30 | +3 min | +3 min |
| Fri 18 Sept | Lausanne-Flon 19:49 | 0 min | +2 min |
| Sat 5 Sept | Lausanne-Flon 11:19 | 0 min | +1 min |
| Tue 1 Sept | Lausanne-Flon 10:19 | −1 min | +1 min |
| Mon 24 Aug | Lausanne-Flon 20:20 | 0 min | +2 min |
| Thu 20 Aug | Lausanne-Flon 16:19 | No data | — |
| Tue 18 Aug | Lausanne-Flon 12:19 | −1 min | +1 min |
| Mon 17 Aug | Lausanne-Flon 16:49 | No data | — |
| Sat 15 Aug | Lausanne-Flon 16:34 | −2 min | +2 min |
| Thu 6 Aug | Lausanne-Flon 20:05 | No data | — |
| Wed 5 Aug | Lausanne-Flon 20:04 | −2 min | +3 min |
| Tue 4 Aug | Lausanne-Flon 20:04 | 0 min | — |
| Mon 3 Aug | Aarau 21:11 | No data | — |
| Sat 1 Aug | Lausanne-Flon 14:19 | +1 min | — |
| Fri 31 Jul | Aarau 21:11 | 0 min | +2 min |
| Thu 30 Jul | Lausanne-Flon 07:49 | +1 min | +2 min |
| Wed 29 Jul | Lausanne-Flon 07:50 | −2 min | — |
| Mon 27 Jul | Lausanne-Flon 19:49 | 0 min | — |
| Sat 25 Jul | Allaman 22:26 | No data | — |
| Wed 22 Jul | Allaman 22:27 | No data | — |