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 7 days. We publish the number — good or bad. Lower error is better.
Port Flow predicted ETA (RMSE)
9.46 h
MAE 3.87 h · 108 voyages
Broadcast ETA (RMSE)
33.84 h
crew-declared, 33 voyages (same set)
Our advantage
72.0 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (35 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 432666000 | container | 10/12, 04:11 AM UTC | 2.25 h | -3.20 h |
| 441344000 | container | 10/12, 01:58 AM UTC | -0.63 h | -6.47 h |
| 636019342 | general-cargo | 10/12, 01:51 AM UTC | -1.97 h | — |
| 338590000 | product | 10/12, 12:25 AM UTC | -45.92 h | -160.43 h |
| 538012806 | container | 10/11, 11:05 PM UTC | 0.55 h | -3.09 h |
| 366999412 | container | 10/11, 06:31 PM UTC | -0.34 h | — |
| 636092927 | container | 10/11, 03:16 PM UTC | 2.63 h | -564.28 h |
| 255915817 | container | 10/11, 12:13 PM UTC | 1.19 h | — |
| 636025655 | container | 10/11, 11:26 AM UTC | 0.70 h | -2.19 h |
| 212175000 | container | 10/11, 10:30 AM UTC | 2.90 h | -2230.52 h |
| 258758000 | container | 10/11, 10:24 AM UTC | 9.09 h | 716.59 h |
| 636019342 | container | 10/11, 09:44 AM UTC | 9.34 h | -1274.75 h |
| 563051200 | container | 10/11, 09:34 AM UTC | 2.51 h | -1029.57 h |
| 563190500 | container | 10/11, 07:01 AM UTC | 0.43 h | -2107.02 h |
| 271052065 | container | 10/11, 06:00 AM UTC | 1.70 h | -4.51 h |
| 566956000 | container | 10/11, 03:10 AM UTC | 0.15 h | -932.67 h |
| 357961000 | container | 10/10, 11:38 PM UTC | 2.98 h | -0.64 h |
| 305969000 | general-cargo | 10/10, 10:12 PM UTC | 0.04 h | -773.20 h |
| 477222700 | general-cargo | 10/10, 07:46 PM UTC | 2.21 h | -1693.78 h |
| 366999412 | container | 10/10, 06:52 PM UTC | -0.50 h | — |
| 255915817 | container | 10/10, 12:12 PM UTC | 0.72 h | -3.70 h |
| 367359930 | product | 10/10, 12:05 PM UTC | 0.00 h | 1810.90 h |
| 255915619 | container | 10/10, 12:01 PM UTC | 0.46 h | -2530.02 h |
| 366999412 | container | 10/10, 11:46 AM UTC | -17.22 h | — |
| 247341700 | container | 10/10, 11:44 AM UTC | 16.33 h | -1491.74 h |
| 215800000 | container | 10/10, 08:58 AM UTC | -1.87 h | 1.03 h |
| 367361960 | product | 10/10, 08:24 AM UTC | -15.65 h | -1747.41 h |
| 563293100 | container | 10/10, 02:01 AM UTC | 1.92 h | -1887.03 h |
| 370651000 | container | 10/10, 01:49 AM UTC | 0.21 h | -1902.83 h |
| 303657000 | container | 10/09, 11:33 PM UTC | 2.11 h | — |
| 636019145 | product | 10/09, 11:28 PM UTC | 0.50 h | -3.99 h |
| 366999412 | container | 10/09, 05:54 PM UTC | -0.03 h | — |
| 366999412 | container | 10/09, 05:48 PM UTC | -0.59 h | — |
| 215800000 | container | 10/09, 03:59 PM UTC | 0.63 h | -836.99 h |
| 563020400 | general-cargo | 10/09, 01:23 PM UTC | 0.61 h | -2056.39 h |
| 366999412 | container | 10/09, 11:26 AM UTC | -16.89 h | — |
| 367065790 | product | 10/09, 10:18 AM UTC | -0.89 h | — |
| 477648800 | container | 10/09, 09:50 AM UTC | 1.82 h | -3014.84 h |
| 563231100 | container | 10/09, 08:55 AM UTC | -0.07 h | -937.93 h |
| 367686920 | product | 10/09, 06:09 AM UTC | -15.19 h | — |
| 636016363 | chemical | 10/09, 06:01 AM UTC | 0.22 h | -24.03 h |
| 538009014 | product | 10/09, 01:28 AM UTC | -20.26 h | -19.48 h |
| 357961000 | container | 10/08, 10:47 PM UTC | 0.70 h | -410.79 h |
| 538008204 | container | 10/08, 09:48 PM UTC | 2.14 h | -83.80 h |
| 255806376 | container | 10/08, 08:53 PM UTC | 1.07 h | -3.39 h |
| 310764000 | container | 10/08, 08:51 PM UTC | 0.24 h | -1183.85 h |
| 215577000 | container | 10/08, 07:01 PM UTC | -0.70 h | -6.77 h |
| 366999412 | container | 10/08, 05:59 PM UTC | -0.19 h | — |
| 367359930 | product | 10/08, 03:33 PM UTC | -1.97 h | 1855.44 h |
| 255806034 | container | 10/08, 03:23 PM UTC | 1.87 h | -3.90 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.