CR-Haverhill 277 North Station – Haverhill
Alerts for train 277
Alerts are saved per line, not per trip id, so they keep working when the operator changes the timetable. This train runs on line CR-Haverhill.
Running now · updated 05:37
Between Andover and Lawrence −6 min
Estimated arrival at Haverhill 20:44 · 68 km/h
- North Station19:30
- Oak Grove19:43
- Melrose Highlands19:50
- Wakefield19:57
- Andover20:22
- Lawrence20:29
- 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.
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).
| Stop | Sched. | Today |
|---|---|---|
| 19:30 | Passed | |
| 19:41 | Passed | |
| 19:43 | Passed | |
| 19:45 | Passed | |
| 19:47 | Passed | |
| 19:50 | Passed | |
| 19:53 | Passed | |
| 19:57 | Passed | |
| 20:03 | Passed | |
| 20:09 | Passed | |
| 20:17 | Passed | |
| 20:22 | Passed | |
| 20:29 | ||
| 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
| Date | Last stop | Final | Max |
|---|---|---|---|
| Thu 1 Oct | WR-0099-01 19:58Partial coverage | 0 min | — |
| Wed 30 Sept | WR-0085-01 19:59Partial coverage | 0 min | — |
| Tue 29 Sept | WR-0099-01 19:59Partial coverage | 0 min | — |
| Sun 27 Sept | WR-0099-01 19:59Partial coverage | 0 min | — |
| Fri 25 Sept | WR-0085-01 19:59Partial coverage | 0 min | — |
| Thu 24 Sept | WR-0099-01 19:59Partial coverage | 0 min | — |
| Tue 22 Sept | WR-0099-01 19:59Partial coverage | 0 min | — |
| Mon 21 Sept | WR-0099-01 19:58Partial coverage | 0 min | — |
| Thu 17 Sept | WR-0099-01 19:59Partial coverage | 0 min | — |
| Tue 15 Sept | WR-0099-01 19:59Partial coverage | 0 min | — |
| Mon 14 Sept | WR-0120-S 19:59Partial coverage | 0 min | — |
| Thu 10 Sept | WR-0099-01 19:58Partial coverage | 0 min | — |
| Wed 9 Sept | WR-0099-01 19:58Partial coverage | 0 min | — |
| Tue 8 Sept | WR-0099-01 19:59Partial coverage | 0 min | — |
| Thu 3 Sept | WR-0099-01 19:59Partial coverage | 0 min | — |
| Wed 2 Sept | WR-0099-01 19:59Partial coverage | 0 min | — |
| Mon 31 Aug | WR-0099-01 19:59Partial coverage | 0 min | — |
| Thu 27 Aug | WR-0099-01 19:59Partial coverage | 0 min | — |
| Wed 26 Aug | WR-0099-01 19:59Partial coverage | 0 min | — |
| Mon 24 Aug | WR-0099-01 19:59Partial coverage | 0 min | — |
| Sun 23 Aug | WR-0099-01 19:59Partial coverage | 0 min | — |
| Fri 21 Aug | WR-0045-S 19:59Partial coverage | 0 min | — |
| Wed 19 Aug | WR-0099-01 19:59Partial coverage | 0 min | — |
| Mon 17 Aug | WR-0099-01 19:59Partial coverage | 0 min | — |
| Thu 13 Aug | WR-0099-01 19:58Partial coverage | 0 min | — |
| Wed 12 Aug | WR-0099-01 19:58Partial coverage | 0 min | — |
| Mon 10 Aug | WR-0099-01 19:58Partial coverage | 0 min | — |
| Fri 7 Aug | WR-0099-01 19:59Partial coverage | 0 min | — |
| Wed 5 Aug | WR-0099-01 19:59Partial coverage | 0 min | — |
| Tue 4 Aug | WR-0099-01 19:59Partial coverage | 0 min | — |