Train NS 831 Schiphol Airport – Leeuwarden

Schiphol Airport 09:30 → Leeuwarden 11:44 Daily 2 h 14 min · 9 stops NS (Nederlandse Spoorwegen)

It has not run yet today

Last recorded run: Wednesday 21 October 0 min

Next service: today 09:30 from Schiphol Airport · Thu 22 Oct

Next departure 09:30 today · Schiphol Airport
On-time · 30 days
75%
9/12 runs under 3 min
RT coverage: 7 full · 5 partial · 17 no data
On-time · 90 days
75%
9/12 runs under 3 min
RT coverage: 7 full · 5 partial · 76 no data
Typical delay
0min
Median at arrival, 90 days
30 days: 0 min
P90
+13min
9 in 10 runs arrive with less than this
30 days: +13 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

  • Tue 6 Oct Max en route +18 min · last fix heading to Heerenveen +18 min
  • Wed 7 Oct Max en route +13 min · last fix heading to Heerenveen +13 min
  • Sun 11 Oct Max en route +12 min · last fix heading to Heerenveen +10 min

Distribution · 90 days

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

  • Early 0% · 0
  • On time 75% · 9
  • 3–10 min 0% · 0
  • 10–30 min 25% · 3
  • 30+ min 0% · 0

On-time by weekday

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

Stops and timetable

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

StopSched.
09:30
09:37 / 09:41
10:01 / 10:03
10:16 / 10:18
10:44 / 10:48
11:04
11:14
11:27
11:44

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
Wed 21 OctHeerenveen 11:420 min—
Tue 20 OctHeerenveen 11:45Partial coverage0 min—
Mon 19 OctHeerenveen 11:45No data—
Sun 18 OctHeerenveen 11:450 min—
Sat 17 OctHeerenveen 11:470 min—
Fri 16 OctHeerenveen 11:460 min—
Thu 15 OctHeerenveen 11:46No data—
Wed 14 OctHeerenveen 11:45Partial coverage0 min—
Tue 13 OctHeerenveen 11:45No data—
Mon 12 OctHeerenveen 11:42No data—
Sun 11 OctHeerenveen 12:06+10 min+12 min
Sat 10 OctHeerenveen 11:450 min—
Fri 9 OctHeerenveen 11:420 min—
Thu 8 OctHeerenveen 11:45Partial coverage0 min—
Wed 7 OctHeerenveen 12:12Partial coverage+13 min+13 min
Tue 6 OctHeerenveen 12:22Partial coverage+18 min+18 min
Mon 5 OctHeerenveen 11:41No data—
Sun 4 OctHeerenveen 11:42No data—
Sat 3 OctHeerenveen 11:41No data—
Fri 2 OctHeerenveen 11:42No data—
Thu 1 OctHeerenveen 11:42No data—
Wed 30 SeptHeerenveen 11:42No data—
Tue 29 SeptHeerenveen 11:41No data—
Mon 28 SeptHeerenveen 11:41No data—
Sun 27 SeptHeerenveen 11:41No data—
Sat 26 SeptHeerenveen 11:41No data—
Fri 25 SeptHeerenveen 11:42No data—
Thu 24 SeptHeerenveen 11:42No data—
Wed 23 SeptHeerenveen 11:41No data—
Tue 22 SeptHeerenveen 11:41No data—