Train VR 104 Joensuu – Helsinki

Joensuu 04:00 → Helsinki 08:40 Sat 4 h 40 min · 12 stops VR (Finland)

Running now · updated 07:28

Between Kouvola and Lahti 0 min

Estimated arrival at Helsinki 08:40 · 234 km/h

  1. Joensuu04:00
  2. Parikkala05:14
  3. Imatra05:55
  4. Lappeenranta06:28
  5. Kouvola07:12
  6. Lahti07:47
  7. Helsinki08:40

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

On-time · 30 days
43%
10/23 runs under 3 min
RT coverage: 22 full · 1 partial · 3 no data
On-time · 90 days
53%
40/75 runs under 3 min
RT coverage: 74 full · 1 partial · 4 no data
Typical delay
+3min
Median at arrival, 90 days
30 days: +4 min
P90
+8min
9 in 10 runs arrive with less than this
30 days: +11 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

  • Mon 5 Oct Max en route +20 min · last fix heading to Helsinki +20 min
  • Thu 30 Jul Max en route +19 min · last fix heading to — +19 min
  • Fri 16 Oct Max en route +15 min · last fix heading to Pasila +15 min
  • Wed 7 Oct Max en route +11 min · last fix heading to Helsinki +11 min
  • Thu 8 Oct Max en route +9 min · last fix heading to Helsinki +9 min

Distribution · 90 days

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

  • Early 0% · 0
  • On time 53% · 40
  • 3–10 min 41% · 31
  • 10–30 min 5% · 4
  • 30+ min 0% · 0

On-time by weekday

  • 58% M n=12
  • 54% T n=13
  • 23% W n=13
  • 17% T n=12
  • 77% F n=13
  • 92% S n=12
  • — S n=0

Stops and timetable

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

StopSched.Today
04:00Passed
04:31 / 04:32Passed
05:14 / 05:15Passed
05:27 / 05:28Passed
05:55 / 06:02Passed
06:13 / 06:14Passed
06:28 / 06:31Passed
07:12 / 07:19Passed
07:47 / 07:49Next
08:24 / 08:25
08:33 / 08:34
08:40

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
Sat 17 OctLahti 07:24Partial coverage0 min—
Fri 16 OctPasila 09:25+15 min+15 min
Thu 15 OctHelsinki 09:14+4 min+4 min
Wed 14 OctHelsinki 09:21+8 min+8 min
Tue 13 OctLahti 07:240 min—
Mon 12 Oct— 09:16No data—
Sat 10 Oct— 09:17No data—
Fri 9 OctHelsinki 09:20+9 min+9 min
Thu 8 OctHelsinki 09:20+9 min+9 min
Wed 7 OctHelsinki 09:23+11 min+11 min
Tue 6 OctPasila 09:14+5 min+5 min
Mon 5 OctHelsinki 09:30+20 min+20 min
Sat 3 Oct— 09:16+4 min+4 min
Fri 2 Oct— 09:12+3 min+3 min
Thu 1 Oct— 09:13+3 min+3 min
Wed 30 Sept— 09:13+4 min+4 min
Tue 29 Sept— 10:37+5 min+5 min
Mon 28 Sept— 09:13+3 min+3 min
Sat 26 Sept— 09:12+1 min—
Fri 25 Sept— 09:13+1 min—
Thu 24 Sept— 09:13No data—
Wed 23 Sept— 09:14+4 min+4 min
Tue 22 Sept— 09:12+2 min+2 min
Mon 21 Sept— 09:11+3 min+3 min
Sat 19 Sept— 09:100 min+1 min
Fri 18 Sept— 09:11+1 min—
Thu 17 Sept— 09:14+4 min+4 min
Wed 16 Sept— 09:11+2 min+2 min
Tue 15 Sept— 09:10+2 min+2 min
Mon 14 Sept— 09:17+7 min+7 min