Delay analytics
Delay analytics · ' . esc_html($d['country']) . '
How the delays moved.
The day-by-day record this board has published, read against the live window — one metric, stated plainly, with its coverage window attached.
Stale window
Updated 09:21
Snapshot age 16 minutes
60.6%
7-day mean on time
vs 60s rule
60.0%
30-day mean on time
Recorded days
+0.6pp
7-day vs 30-day
Improving
62.3s
Mean delay, live window
Rolling
Day by day
On time % · last 18 recorded days2026-09-2555.7%
2026-09-2651.9%
2026-09-2760.0%
2026-09-2867.5%
2026-09-2965.3%
2026-09-3060.4%
2026-10-0159.9%
2026-10-0265.4%
2026-10-0349.1%
2026-10-0463.5%
2026-10-0556.6%
2026-10-0668.6%
2026-10-0767.5%
2026-10-0848.0%
2026-10-0953.0%
2026-10-1051.5%
2026-10-1156.5%
2026-10-1279.0%
Day-by-day record · not an official statistic.
Live window
Where the delays are right now
On Time (≤60s)130
Minor (1–5m)64
Moderate (5–10m)6
Major (>10m)0
Worst routes in the window
Kingston Line8 stops sampled
0.0%
avg 409s · max 540s
Franklin/Foxboro Line12 stops sampled
41.7%
avg 98s · max 245s
Fairmount Line9 stops sampled
44.4%
avg 57s · max 121s
Haverhill Line8 stops sampled
50.0%
avg 52s · max 120s
Newburyport/Rockport Line24 stops sampled
54.2%
avg 68s · max 191s
Worst stations in the window
Hanson1 stop sampled
0.0%
avg 540s · max 540s
Abington1 stop sampled
0.0%
avg 512s · max 512s
Whitman1 stop sampled
0.0%
avg 509s · max 509s
South Weymouth1 stop sampled
0.0%
avg 478s · max 478s
Windsor Gardens1 stop sampled
0.0%
avg 245s · max 245s
History source
This hub's own daily per-board record (one sample per UTC day, 400-day cap) built from the board's endpoint.
Live source
Data: MBTA v3 API (CC BY 4.0) predictions vs scheduled times
Averages
7-day and 30-day means appear once two or more days are on record; a single day is never shown as a trend.
Not an official operator statistic. Read alongside the board at ' . esc_html(Hub_Board::board_url($d['card'])) . '