WIL 293 North Station – Haverhill

View line WIL

North Station 23:40 → Haverhill 00:53 Mon, Tue, Wed, Thu, Fri 1 h 13 min · 15 stops SEPTA

✓ Today’s run finished

Today, last fix heading to septa-rail:90203 at 05:07 +9 min

  1. North Station23:40
  2. Oak Grove23:53
  3. Melrose Highlands00:00
  4. Wakefield00:07
  5. North Wilmington00:19
  6. Lawrence00:38
  7. Haverhill00:53

Next service: tomorrow 23:40 from North Station · Thu 8 Oct

Next departure 23:40 tomorrow · North Station
On-time · 30 days
86%
6/7 runs under 3 min
RT coverage: 6 full · 1 partial · 0 no data
On-time · 90 days
94%
15/16 runs under 3 min
RT coverage: 15 full · 1 partial · 0 no data
Typical delay
0min
Median at arrival, 90 days
30 days: 0 min
P90
+2min
9 in 10 runs arrive with less than this
30 days: +5 min

Last 30 days

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

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

Worst days

  • Wed 7 Oct Max en route +9 min · last fix heading to septa-rail:90203 +9 min

Distribution · 90 days

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

  • Early 0% · 0
  • On time 94% · 15
  • 3–10 min 6% · 1
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 100% M n=1
  • 100% T n=1
  • 0% W n=1
  • — T n=0
  • 100% F n=13
  • — S n=0
  • — S n=0

Stops and timetable

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

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 10 July 2026.

Recent runs

DateLast stopFinalMax
Wed 7 Octsepta-rail:90203 05:07Partial coverage+9 min+9 min
Tue 6 Octsepta-rail:90205 21:22+1 min+12 min
Mon 5 Octsepta-rail:1 21:52+2 min+8 min
Fri 2 OctWR-0329-01 00:510 min—
Fri 25 SeptWR-0329-01 01:150 min—
Fri 18 SeptWR-0329-01 00:530 min—
Fri 11 SeptWR-0329-01 01:030 min—
Fri 4 SeptWR-0329-01 00:500 min—
Fri 28 AugWR-0329-01 00:590 min—
Fri 21 AugWR-0325-01 00:480 min—
Fri 14 AugWR-0329-01 00:540 min—
Fri 7 AugWR-0329-01 00:490 min—
Fri 31 JulWR-0325-01 00:480 min—
Fri 24 JulWR-0329-01 00:510 min—
Fri 17 JulWR-0325-01 01:110 min—
Fri 10 JulWR-0329-01 00:510 min—