Train VR 67 Helsinki – Oulu
Running now · updated 15:54
Between Kouvola and Mäntyharju +1 min
Estimated arrival at Oulu 23:11 · 50 km/h
- Helsinki14:14
- Lahti15:06
- Kouvola15:37
- Mäntyharju16:24
- Pieksämäki17:33
- Siilinjärvi18:57
- Oulu23:10
Today it is running worse than usual: typical arrival delay is −2 min; 97% of the last 30 runs arrived on time.
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
- Mon 3 Aug Max en route +120 min · last fix heading to — +120 min
- Wed 26 Aug Max en route +57 min · last fix heading to — +57 min
- Sat 8 Aug Max en route +43 min · last fix heading to — +36 min
- Thu 17 Sept Max en route +28 min · last fix heading to — +28 min
- Tue 18 Aug Max en route +16 min · last fix heading to — +16 min
Distribution · 90 days
90 runs with a known final delay. On time = under 3 min, the same cut the map uses.
- Early 59% · 53
- On time 33% · 30
- 3–10 min 2% · 2
- 10–30 min 2% · 2
- 30+ min 3% · 3
On-time by weekday
- 85% M n=13
- 92% T n=13
- 92% W n=13
- 92% T n=13
- 100% F n=13
- 92% S n=12
- 92% S n=13
Stops and timetable
Timetable of the latest run from the operator’s GTFS (21 stops).
| Stop | Sched. | Today |
|---|---|---|
| 14:14 | Passed | |
| 14:19 / 14:20 | Passed | |
| 14:29 / 14:31 | Passed | |
| 15:06 / 15:08 | Passed | |
| 15:37 / 15:47 | Passed | |
| 16:24 / 16:25 | ||
| 16:48 / 16:52 | ||
| 17:33 / 17:37 | ||
| 17:59 / 18:02 | ||
| 18:30 / 18:38 | ||
| 18:57 / 18:58 | ||
| 19:19 / 19:20 | ||
| 19:37 / 19:39 | ||
| 20:04 / 20:05 | ||
| 20:32 / 21:02 | ||
| 21:20 / 21:22 | ||
| 21:35 / 21:36 | ||
| 22:08 / 22:09 | ||
| 22:29 / 22:30 | ||
| 22:44 / 22:45 | ||
| 23:10 |
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
| Date | Last stop | Final | Max |
|---|---|---|---|
| Fri 9 Oct | Kouvola 15:49Partial coverage | 0 min | +3 min |
| Thu 8 Oct | Oulu 23:39 | −2 min | +1 min |
| Wed 7 Oct | Oulu 23:39 | −2 min | +2 min |
| Tue 6 Oct | Oulu 23:39 | −2 min | +21 min |
| Mon 5 Oct | Oulu 23:39 | −1 min | +1 min |
| Sun 4 Oct | Oulu 23:33 | −5 min | +1 min |
| Sat 3 Oct | — 21:03 | +2 min | +2 min |
| Fri 2 Oct | — 23:37 | −2 min | +1 min |
| Thu 1 Oct | — 23:38 | −2 min | +1 min |
| Wed 30 Sept | — 23:56 | −2 min | +1 min |
| Tue 29 Sept | — 23:39 | −1 min | +3 min |
| Mon 28 Sept | — 23:37 | −2 min | +3 min |
| Sun 27 Sept | — 23:39 | −1 min | +1 min |
| Sat 26 Sept | — 21:04 | +2 min | +2 min |
| Fri 25 Sept | — 23:38 | −2 min | — |
| Thu 24 Sept | — 23:39 | −1 min | +1 min |
| Wed 23 Sept | — 23:42 | +2 min | +4 min |
| Tue 22 Sept | — 23:39 | −3 min | +1 min |
| Mon 21 Sept | — 23:36 | −3 min | +28 min |
| Sun 20 Sept | — 23:36 | −4 min | +2 min |
| Sat 19 Sept | — 20:47 | +1 min | — |
| Fri 18 Sept | — 23:37 | −3 min | +1 min |
| Thu 17 Sept | — 23:11 | +28 min | +28 min |
| Wed 16 Sept | — 21:17 | 0 min | — |
| Tue 15 Sept | — 23:35 | −4 min | — |
| Mon 14 Sept | — 23:41 | 0 min | +2 min |
| Sun 13 Sept | — 23:37 | −3 min | +1 min |
| Sat 12 Sept | — 21:17 | +1 min | — |
| Fri 11 Sept | — 23:38 | −2 min | +1 min |
| Thu 10 Sept | — 23:39 | −1 min | +2 min |