CR-Haverhill 277 North Station – Haverhill

View line CR-Haverhill

North Station 19:30 → Haverhill 20:44 Mon, Tue, Wed, Thu, Fri 1 h 14 min · 15 stops MBTA

Running now · updated 05:37

Between Andover and Lawrence −6 min

Estimated arrival at Haverhill 20:44 · 68 km/h

  1. North Station19:30
  2. Oak Grove19:43
  3. Melrose Highlands19:50
  4. Wakefield19:57
  5. Andover20:22
  6. Lawrence20:29
  7. Haverhill20:44

Today it is running no worse than usual: typical arrival delay is 0 min; 100% of the last 11 runs arrived on time.

On-time · 30 days
100%
11/11 runs under 3 min
RT coverage: 0 full · 11 partial · 0 no data
On-time · 90 days
100%
44/44 runs under 3 min
RT coverage: 0 full · 44 partial · 0 no data
Typical delay
0min
Median at arrival, 90 days
30 days: 0 min
P90
0min
9 in 10 runs arrive with less than this
30 days: 0 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

Distribution · 90 days

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

  • Early 0% · 0
  • On time 100% · 44
  • 3–10 min 0% · 0
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 100% M n=9
  • 100% T n=7
  • 100% W n=10
  • 100% T n=8
  • 100% F n=6
  • — S n=0
  • 100% S n=4

Stops and timetable

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

StopSched.Today
19:30Passed
19:41Passed
19:43Passed
19:45Passed
19:47Passed
19:50Passed
19:53Passed
19:57Passed
20:03Passed
20:09Passed
20:17Passed
20:22Passed
20:29Next
20:37
20: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 10 July 2026.

Recent runs

DateLast stopFinalMax
Thu 1 OctWR-0099-01 19:58Partial coverage0 min—
Wed 30 SeptWR-0085-01 19:59Partial coverage0 min—
Tue 29 SeptWR-0099-01 19:59Partial coverage0 min—
Sun 27 SeptWR-0099-01 19:59Partial coverage0 min—
Fri 25 SeptWR-0085-01 19:59Partial coverage0 min—
Thu 24 SeptWR-0099-01 19:59Partial coverage0 min—
Tue 22 SeptWR-0099-01 19:59Partial coverage0 min—
Mon 21 SeptWR-0099-01 19:58Partial coverage0 min—
Thu 17 SeptWR-0099-01 19:59Partial coverage0 min—
Tue 15 SeptWR-0099-01 19:59Partial coverage0 min—
Mon 14 SeptWR-0120-S 19:59Partial coverage0 min—
Thu 10 SeptWR-0099-01 19:58Partial coverage0 min—
Wed 9 SeptWR-0099-01 19:58Partial coverage0 min—
Tue 8 SeptWR-0099-01 19:59Partial coverage0 min—
Thu 3 SeptWR-0099-01 19:59Partial coverage0 min—
Wed 2 SeptWR-0099-01 19:59Partial coverage0 min—
Mon 31 AugWR-0099-01 19:59Partial coverage0 min—
Thu 27 AugWR-0099-01 19:59Partial coverage0 min—
Wed 26 AugWR-0099-01 19:59Partial coverage0 min—
Mon 24 AugWR-0099-01 19:59Partial coverage0 min—
Sun 23 AugWR-0099-01 19:59Partial coverage0 min—
Fri 21 AugWR-0045-S 19:59Partial coverage0 min—
Wed 19 AugWR-0099-01 19:59Partial coverage0 min—
Mon 17 AugWR-0099-01 19:59Partial coverage0 min—
Thu 13 AugWR-0099-01 19:58Partial coverage0 min—
Wed 12 AugWR-0099-01 19:58Partial coverage0 min—
Mon 10 AugWR-0099-01 19:58Partial coverage0 min—
Fri 7 AugWR-0099-01 19:59Partial coverage0 min—
Wed 5 AugWR-0099-01 19:59Partial coverage0 min—
Tue 4 AugWR-0099-01 19:59Partial coverage0 min—