Train VR 65 Helsinki – Oulu

Helsinki 11:14 → Oulu 19:45 Daily 8 h 31 min · 21 stops VR (Finland)

✓ Today’s run finished

Today it reached Oulu at 19:46 +1 min

  1. Helsinki11:14
  2. Lahti12:11
  3. Pieksämäki14:42
  4. Siilinjärvi15:57
  5. Sukeva17:06
  6. Vaala18:43
  7. Oulu19:45

Next service: tomorrow 11:14 from Helsinki · Thu 8 Oct

Next departure 11:14 tomorrow · Helsinki
On-time · 30 days
73%
22/30 runs under 3 min
RT coverage: 29 full · 1 partial · 0 no data
On-time · 90 days
76%
68/89 runs under 3 min
RT coverage: 88 full · 1 partial · 0 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: +6 min

Last 30 days

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

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

Worst days

  • Thu 20 Aug Max en route +41 min · last fix heading to — +41 min
  • Mon 7 Sept Max en route +15 min · last fix heading to — +15 min
  • Wed 19 Aug Max en route +13 min · last fix heading to — +13 min
  • Sun 4 Oct Max en route +13 min · last fix heading to Oulu +13 min
  • Sat 22 Aug Max en route +10 min · last fix heading to — +10 min

Distribution · 90 days

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

  • Early 40% · 36
  • On time 36% · 32
  • 3–10 min 18% · 16
  • 10–30 min 4% · 4
  • 30+ min 1% · 1

On-time by weekday

  • 62% M n=13
  • 69% T n=13
  • 77% W n=13
  • 67% T n=12
  • 100% F n=12
  • 85% S n=13
  • 77% S n=13

Stops and timetable

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

StopSched.
11:14
11:19 / 11:20
11:29 / 11:31
12:11 / 12:13
12:42 / 13:03
13:40 / 13:41
14:04 / 14:06
14:42 / 14:45
15:06 / 15:08
15:35 / 15:39
15:57 / 16:00
16:21 / 16:22
16:39 / 16:41
17:06 / 17:07
17:34 / 17:37
17:55 / 17:57
18:10 / 18:11
18:43 / 18:44
19:04 / 19:05
19:19 / 19:20
19:45

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 7 OctOulu 20:15+1 min—
Tue 6 OctOulu 20:14−2 min—
Mon 5 OctOulu 20:22+8 min+8 min
Sun 4 OctOulu 21:17+13 min+13 min
Sat 3 Oct— 20:150 min+1 min
Fri 2 Oct— 20:10−3 min+2 min
Thu 1 Oct— 20:12−2 min+1 min
Wed 30 SeptMuhos 19:20Partial coverage+5 min+5 min
Tue 29 Sept— 20:18+4 min+4 min
Mon 28 Sept— 20:21+5 min+5 min
Sun 27 Sept— 20:18+3 min+3 min
Sat 26 Sept— 20:11−5 min—
Fri 25 Sept— 20:14−2 min+1 min
Thu 24 Sept— 20:12−3 min+1 min
Wed 23 Sept— 20:150 min—
Tue 22 Sept— 20:15+1 min+1 min
Mon 21 Sept— 20:10−4 min+2 min
Sun 20 SeptOulu 19:25−3 min+2 min
Sat 19 Sept— 20:16+1 min+1 min
Fri 18 Sept— 20:22−3 min+3 min
Thu 17 Sept— 20:24+9 min+9 min
Wed 16 Sept— 18:02−1 min+2 min
Tue 15 Sept— 20:16+2 min+2 min
Mon 14 Sept— 20:19+3 min+3 min
Sun 13 Sept— 20:16+1 min+1 min
Sat 12 Sept— 20:26−3 min—
Fri 11 Sept— 20:13−3 min+2 min
Thu 10 Sept— 20:21+6 min+6 min
Wed 9 Sept— 20:11−4 min+1 min
Tue 8 Sept— 20:16+1 min+1 min