Train NS 9031 Lelystad Centrum – Leeuwarden

Lelystad Centrum 09:52 → Leeuwarden 11:27 Daily 1 h 35 min · 11 stops NS (Nederlandse Spoorwegen)

✓ Today’s run finished

Today, last fix heading to Grou-Jirnsum at 11:35 +5 min

  1. Lelystad Centrum09:52
  2. Kampen Zuid10:13
  3. Zwolle10:23
  4. Steenwijk10:51
  5. Heerenveen11:06
  6. Grou-Jirnsum11:17
  7. Leeuwarden11:27

Next service: tomorrow 09:52 from Lelystad Centrum · Mon 2 Nov

Next departure 09:52 tomorrow · Lelystad Centrum
On-time · 30 days
94%
17/18 runs under 3 min
RT coverage: 3 full · 15 partial · 12 no data
On-time · 90 days
94%
17/18 runs under 3 min
RT coverage: 3 full · 15 partial · 69 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 Leeuwarden, in minutes. One bar per run.

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

Worst days

  • Sun 1 Nov Max en route +5 min · last fix heading to Grou-Jirnsum +5 min

Distribution · 90 days

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

  • Early 0% · 0
  • On time 94% · 17
  • 3–10 min 6% · 1
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • — M n=0
  • 100% T n=4
  • 100% W n=2
  • 100% T n=1
  • 100% F n=4
  • 100% S n=4
  • 67% S n=3

Stops and timetable

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

StopSched.
09:52
10:05
10:13
10:23 / 10:27
10:42
10:51
10:59
11:06
11:13
11:17
11:27

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
Sun 1 NovGrou-Jirnsum 11:35Partial coverage+5 min+5 min
Sat 31 OctGrou-Jirnsum 11:33Partial coverage0 min+2 min
Fri 30 OctGrou-Jirnsum 11:320 min—
Thu 29 OctGrou-Jirnsum 11:38No data—
Wed 28 OctGrou-Jirnsum 11:32No data—
Tue 27 OctGrou-Jirnsum 11:45Partial coverage0 min—
Mon 26 OctGrou-Jirnsum 11:32No data—
Sun 25 OctKampen Zuid 10:28No data—
Sat 24 OctKampen Zuid 10:270 min—
Fri 23 OctGrou-Jirnsum 11:36Partial coverage0 min—
Thu 22 OctGrou-Jirnsum 11:31No data—
Wed 21 OctGrou-Jirnsum 11:32No data—
Tue 20 OctGrou-Jirnsum 11:33Partial coverage0 min—
Mon 19 OctGrou-Jirnsum 11:32No data—
Sun 18 OctGrou-Jirnsum 11:34Partial coverage+2 min+3 min
Sat 17 OctGrou-Jirnsum 11:32Partial coverage0 min—
Fri 16 OctGrou-Jirnsum 11:32Partial coverage0 min—
Thu 15 OctGrou-Jirnsum 11:31No data—
Wed 14 OctGrou-Jirnsum 11:32Partial coverage0 min—
Tue 13 OctGrou-Jirnsum 11:31Partial coverage0 min—
Mon 12 OctGrou-Jirnsum 11:46No data—
Sun 11 OctGrou-Jirnsum 11:310 min—
Sat 10 OctGrou-Jirnsum 11:31Partial coverage0 min—
Fri 9 OctGrou-Jirnsum 11:37Partial coverage0 min—
Thu 8 OctGrou-Jirnsum 11:32Partial coverage+1 min+1 min
Wed 7 OctGrou-Jirnsum 12:03Partial coverage0 min—
Tue 6 OctGrou-Jirnsum 11:32Partial coverage+1 min—
Mon 5 OctGrou-Jirnsum 11:32No data—
Sun 4 OctGrou-Jirnsum 11:34No data—
Sat 3 OctGrou-Jirnsum 11:31No data—