Train NS 6120 Groningen – Zwolle

Groningen 06:02 → Zwolle 07:07 Mon, Tue, Wed, Thu, Fri, Sat 1 h 05 min · 8 stops NS (Nederlandse Spoorwegen)

✓ Today’s run finished

Today, last fix heading to Meppel at 07:08 0 min

  1. Groningen06:02
  2. Groningen Europapark06:05
  3. Haren06:09
  4. Beilen06:32
  5. Hoogeveen06:40
  6. Meppel06:51
  7. Zwolle07:07

Next service: tomorrow 06:02 from Groningen · Wed 4 Nov

Next departure 06:02 tomorrow · Groningen
On-time · 30 days
84%
21/25 runs under 3 min
RT coverage: 2 full · 23 partial · 1 no data
On-time · 90 days
84%
21/25 runs under 3 min
RT coverage: 2 full · 23 partial · 51 no data
Typical delay
0min
Median at arrival, 90 days
30 days: 0 min
P90
+5min
9 in 10 runs arrive with less than this
30 days: +5 min

Last 30 days

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

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

Worst days

  • Fri 9 Oct Max en route +9 min · last fix heading to Meppel +9 min
  • Tue 20 Oct Max en route +5 min · last fix heading to Meppel +5 min
  • Thu 15 Oct Max en route +5 min · last fix heading to Meppel +5 min
  • Mon 26 Oct Max en route +4 min · last fix heading to Meppel +4 min

Distribution · 90 days

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

  • Early 0% · 0
  • On time 84% · 21
  • 3–10 min 16% · 4
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 75% M n=4
  • 80% T n=5
  • 100% W n=4
  • 75% T n=4
  • 75% F n=4
  • 100% S n=4
  • — S n=0

Stops and timetable

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

StopSched.
06:02
06:05
06:09
06:22
06:32
06:40
06:51
07: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

DateLast stopFinalMax
Tue 3 NovMeppel 07:08Partial coverage0 min—
Mon 2 NovMeppel 07:09Partial coverage0 min—
Sat 31 OctMeppel 07:060 min—
Fri 30 OctMeppel 07:08Partial coverage+1 min—
Thu 29 OctMeppel 07:08Partial coverage0 min—
Wed 28 OctMeppel 07:13Partial coverage+2 min+2 min
Tue 27 OctMeppel 07:09Partial coverage0 min—
Mon 26 OctMeppel 07:15Partial coverage+4 min+4 min
Sat 24 OctMeppel 07:08Partial coverage0 min—
Fri 23 OctMeppel 07:08Partial coverage0 min—
Thu 22 OctMeppel 07:09Partial coverage+1 min+1 min
Wed 21 OctMeppel 07:08Partial coverage+1 min+1 min
Tue 20 OctMeppel 07:19Partial coverage+5 min+5 min
Mon 19 OctMeppel 07:08Partial coverage+1 min—
Sat 17 OctMeppel 07:090 min—
Fri 16 OctMeppel 07:08Partial coverage0 min—
Thu 15 OctMeppel 07:18Partial coverage+5 min+5 min
Wed 14 OctMeppel 07:08Partial coverage0 min—
Tue 13 OctMeppel 07:08Partial coverage0 min—
Mon 12 OctMeppel 07:08Partial coverage0 min—
Sat 10 OctMeppel 07:08Partial coverage0 min—
Fri 9 OctMeppel 07:25Partial coverage+9 min+9 min
Thu 8 OctMeppel 07:06Partial coverage0 min—
Wed 7 OctHaren 07:08Partial coverage0 min—
Tue 6 OctMeppel 07:09Partial coverage0 min—
Mon 5 OctMeppel 07:09No data—
Sat 3 OctMeppel 07:06No data—
Fri 2 OctMeppel 07:07No data—
Thu 1 OctMeppel 07:06No data—
Wed 30 SeptMeppel 07:06No data—