Train VR 66 Oulu – Helsinki

Oulu 07:07 → Helsinki 15:44 Mon, Tue, Wed, Thu, Fri, Sat 8 h 37 min · 21 stops VR (Finland)

Running now · updated 11:28

Between Kuopio and Suonenjoki 0 min

Estimated arrival at Helsinki 15:44 · 82 km/h

  1. Oulu07:07
  2. Vaala08:05
  3. Sukeva09:42
  4. Siilinjärvi10:49
  5. Kuopio11:10
  6. Suonenjoki11:42
  7. Helsinki15:44

Today it is running no worse than usual: typical arrival delay is +3 min; 57% of the last 28 runs arrived on time.

On-time · 30 days
57%
16/28 runs under 3 min
RT coverage: 27 full · 1 partial · 2 no data
On-time · 90 days
69%
61/88 runs under 3 min
RT coverage: 87 full · 1 partial · 2 no data
Typical delay
+1min
Median at arrival, 90 days
30 days: +3 min
P90
+7min
9 in 10 runs arrive with less than this
30 days: +8 min

Last 30 days

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

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

Worst days

  • Sat 17 Oct Max en route +29 min · last fix heading to Helsinki +29 min
  • Wed 29 Jul Max en route +28 min · last fix heading to — +27 min
  • Wed 26 Aug Max en route +19 min · last fix heading to — +19 min
  • Tue 4 Aug Max en route +14 min · last fix heading to — +14 min
  • Sat 3 Oct Max en route +12 min · last fix heading to — +12 min

Distribution · 90 days

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

  • Early 2% · 2
  • On time 67% · 59
  • 3–10 min 25% · 22
  • 10–30 min 6% · 5
  • 30+ min 0% · 0

On-time by weekday

  • 62% M n=13
  • 62% T n=13
  • 69% W n=13
  • 62% T n=13
  • 83% F n=12
  • 83% S n=12
  • 67% S n=12

Stops and timetable

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

StopSched.Today
07:07Passed
07:30 / 07:31Passed
07:45 / 07:46Passed
08:05 / 08:06Passed
08:37 / 08:38Passed
08:51 / 08:53Passed
09:11 / 09:15Passed
09:42 / 09:43Passed
10:08 / 10:10Passed
10:27 / 10:28Passed
10:49 / 10:50Passed
11:10 / 11:15Passed
11:42 / 11:43Next
12:11 / 12:13
12:50 / 12:53
13:16 / 13:17
14:03 / 14:19
14:47 / 14:50
15:27 / 15:28
15:37 / 15:38
15: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
Thu 22 OctSuonenjoki 11:24Partial coverage0 min—
Wed 21 OctHelsinki 16:16+2 min+2 min
Tue 20 OctHelsinki 16:18+3 min+3 min
Mon 19 OctHelsinki 16:18+4 min+4 min
Sun 18 OctHelsinki 16:22+7 min+7 min
Sat 17 OctHelsinki 16:43+29 min+29 min
Fri 16 OctHelsinki 16:21+7 min+7 min
Thu 15 OctHelsinki 16:16+3 min+3 min
Wed 14 OctHelsinki 16:17+2 min+2 min
Tue 13 OctHelsinki 16:24+9 min+9 min
Mon 12 OctHelsinki 16:17+2 min+2 min
Sun 11 Oct— 16:16No data—
Sat 10 Oct— 16:17No data—
Fri 9 OctHelsinki 16:22+7 min+7 min
Thu 8 OctHelsinki 16:18+4 min+4 min
Wed 7 OctHelsinki 16:18+4 min+4 min
Tue 6 OctHelsinki 16:17+3 min+3 min
Mon 5 OctHelsinki 16:16+4 min+4 min
Sun 4 OctHelsinki 16:120 min—
Sat 3 Oct— 16:27+12 min+12 min
Fri 2 Oct— 16:150 min+1 min
Thu 1 Oct— 16:14+1 min+1 min
Wed 30 Sept— 16:15+1 min—
Tue 29 Sept— 16:140 min—
Mon 28 Sept— 16:17+4 min+4 min
Sun 27 Sept— 16:14+2 min+2 min
Sat 26 Sept— 16:15+1 min—
Fri 25 Sept— 16:17+2 min+2 min
Thu 24 Sept— 16:23+7 min+7 min
Wed 23 Sept— 16:140 min—