ETA accuracy benchmark · 🇺🇸 New York / Newark
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at New York / Newark, measured on closed voyages over the last 30 days. We publish the number — good or bad. Lower error is better.
Port Flow predicted ETA (RMSE)
7.85 h
MAE 11.77 h · 294 voyages
Broadcast ETA (RMSE)
26.43 h
crew-declared, 131 voyages (same set)
Our advantage
70.3 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (56 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| MMSI | Cargo | Arrival | Our error | Broadcast error |
|---|---|---|---|---|
| 247341300 | container | 07/12, 11:23 AM UTC | 0.95 h | -2.40 h |
| 367065790 | product | 07/12, 10:42 AM UTC | 1.39 h | — |
| 563231100 | container | 07/12, 10:33 AM UTC | 1.56 h | -939.56 h |
| 636093186 | general-cargo | 07/12, 10:09 AM UTC | 2.62 h | -3.17 h |
| 563190500 | container | 07/12, 10:00 AM UTC | 2.25 h | -3.01 h |
| 371851000 | container | 07/12, 09:47 AM UTC | 1.40 h | -946.29 h |
| 255805810 | container | 07/12, 06:34 AM UTC | -14.98 h | -17.57 h |
| 636015176 | product | 07/12, 04:56 AM UTC | 1.00 h | -77.94 h |
| 563020400 | general-cargo | 07/12, 04:50 AM UTC | 0.19 h | -3.84 h |
| 431839000 | container | 07/12, 01:41 AM UTC | 0.55 h | -2.70 h |
| 352044000 | container | 07/12, 12:49 AM UTC | 1.12 h | -2.82 h |
| 209425000 | container | 07/11, 08:38 PM UTC | 0.28 h | -939.64 h |
| 303657000 | container | 07/11, 08:27 PM UTC | -0.09 h | -373.47 h |
| 366999412 | container | 07/11, 06:52 PM UTC | -0.42 h | — |
| 220291000 | container | 07/11, 06:38 PM UTC | 0.41 h | -767.15 h |
| 366999412 | container | 07/11, 05:44 PM UTC | -0.55 h | — |
| 636019342 | container | 07/11, 05:05 PM UTC | -320.78 h | -298.09 h |
| 366999412 | container | 07/11, 10:58 AM UTC | -16.05 h | — |
| 563051400 | container | 07/11, 08:45 AM UTC | 1.47 h | -485.75 h |
| 636092895 | general-cargo | 07/10, 08:51 PM UTC | 2.16 h | -2.86 h |
| 366999412 | container | 07/10, 05:47 PM UTC | -0.18 h | — |
| 565448000 | container | 07/10, 04:01 PM UTC | 0.84 h | -898.02 h |
| 636012767 | product | 07/10, 02:42 PM UTC | 0.28 h | -31.70 h |
| 366999412 | container | 07/10, 11:39 AM UTC | 0.94 h | — |
| 431073000 | container | 07/10, 10:19 AM UTC | 0.26 h | -2.83 h |
| 431527000 | container | 07/10, 09:59 AM UTC | -0.73 h | -918.99 h |
| 311072300 | container | 07/10, 03:53 AM UTC | 3.06 h | -2.90 h |
| 636016805 | container | 07/09, 08:50 PM UTC | -12.80 h | -869.84 h |
| 366999412 | container | 07/09, 06:14 PM UTC | -0.19 h | — |
| 215809000 | container | 07/09, 06:04 PM UTC | -11.26 h | -820.08 h |
| 538008204 | container | 07/09, 04:19 PM UTC | -0.76 h | -93.83 h |
| 367686920 | product | 07/09, 03:12 PM UTC | 3.90 h | — |
| 367686920 | product | 07/09, 02:50 PM UTC | -0.51 h | — |
| 249515000 | general-cargo | 07/09, 02:02 PM UTC | -0.92 h | -3.05 h |
| 636015176 | product | 07/09, 10:19 AM UTC | -2.50 h | -11.32 h |
| 367686920 | product | 07/09, 10:03 AM UTC | -2.06 h | — |
| 636092798 | container | 07/09, 08:57 AM UTC | -1.30 h | -2.96 h |
| 636093031 | container | 07/09, 08:44 AM UTC | 3.30 h | -466.74 h |
| 367686920 | product | 07/09, 08:15 AM UTC | -0.38 h | — |
| 366999412 | container | 07/08, 06:03 PM UTC | -0.38 h | — |
| 636025683 | container | 07/08, 04:02 PM UTC | 0.75 h | -390.04 h |
| 636021362 | container | 07/08, 03:42 PM UTC | 1.79 h | -3.71 h |
| 366999412 | container | 07/08, 02:14 PM UTC | -0.59 h | — |
| 367065790 | product | 07/08, 01:14 PM UTC | 0.08 h | — |
| 366999412 | container | 07/08, 11:19 AM UTC | -0.51 h | — |
| 366999412 | container | 07/08, 11:02 AM UTC | 0.67 h | — |
| 368028980 | container | 07/08, 10:50 AM UTC | 5.35 h | — |
| 636093132 | general-cargo | 07/08, 10:42 AM UTC | 2.46 h | -619.71 h |
| 366999412 | container | 07/08, 10:34 AM UTC | -15.88 h | — |
| 567609000 | container | 07/08, 10:21 AM UTC | 2.44 h | -3.36 h |
See it on a live desk
Predicted ETAs, congestion and sanctions screening across 51 ports — try it in one click, no signup.
How it's measured
- Predicted ETA: distance-to-berth over speed-made-good, refreshed on every AIS position, with a seasonal correction from rolling medians.
- Broadcast ETA: the crew-entered ETA in the vessel's AIS message — the de-facto industry default.
- Both are compared to the actual arrival timestamp on the same closed voyages. We report RMSE (penalises large misses) and MAE (typical error).
- Broadcast ETAs more than 7 days off are dropped as AIS sentinel / placeholder values, and our model is scored on that same set — so the comparison is honest, not cherry-picked.
- Coverage is public AIS only; ports with weak coverage show fewer closed voyages. We'd rather show a small honest sample than a big misleading one.