ETA accuracy benchmark · 🇺🇸 Houston
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Houston, 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)
13.76 h
MAE 8.47 h · 682 voyages
Broadcast ETA (RMSE)
69.83 h
crew-declared, 323 voyages (same set)
Our advantage
80.3 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (314 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 256721000 | product | 10/12, 04:23 AM UTC | -33.92 h | -252.40 h |
| 563022800 | product | 10/12, 04:03 AM UTC | -1.69 h | -1890.06 h |
| 565516000 | product | 10/12, 01:49 AM UTC | -2.95 h | -1041.83 h |
| 538009778 | chemical | 10/12, 01:18 AM UTC | 2.39 h | -2907.31 h |
| 351298000 | container | 10/12, 01:03 AM UTC | 8.65 h | -7.05 h |
| 249198000 | chemical | 10/12, 01:00 AM UTC | 3.37 h | -1014.51 h |
| 255915818 | container | 10/11, 11:44 PM UTC | 2.75 h | -4.23 h |
| 405000346 | container | 10/11, 09:08 PM UTC | 3.42 h | -11.14 h |
| 636013521 | container | 10/11, 05:47 PM UTC | -1.80 h | -3.80 h |
| 352005659 | container | 10/11, 05:34 PM UTC | 1.25 h | — |
| 636017165 | chemical | 10/11, 03:45 PM UTC | 3.41 h | -196.76 h |
| 563027500 | product | 10/11, 02:26 PM UTC | 4.56 h | -1087.44 h |
| 304824000 | container | 10/11, 01:57 PM UTC | 4.50 h | -2977.45 h |
| 255806138 | product | 10/11, 12:40 PM UTC | -20.40 h | -151.68 h |
| 255916495 | product | 10/11, 11:46 AM UTC | -0.10 h | -574.78 h |
| 477124300 | container | 10/11, 11:28 AM UTC | -0.35 h | -86.48 h |
| 636015526 | product | 10/11, 10:13 AM UTC | 3.33 h | -24.22 h |
| 255803260 | container | 10/11, 09:54 AM UTC | -0.69 h | -4.91 h |
| 636018471 | container | 10/11, 09:43 AM UTC | -3.13 h | -2898.72 h |
| 248411000 | container | 10/11, 07:20 AM UTC | -0.25 h | -4.34 h |
| 538007042 | product | 10/11, 05:14 AM UTC | 8.52 h | -8.74 h |
| 636018714 | container | 10/11, 05:02 AM UTC | 0.67 h | -163.04 h |
| 636017417 | product | 10/11, 04:36 AM UTC | 8.62 h | -4.61 h |
| 241408000 | product | 10/11, 02:15 AM UTC | -1.42 h | -297.26 h |
| 538004411 | container | 10/11, 12:06 AM UTC | -2.76 h | -204.11 h |
| 563093400 | product | 10/10, 08:27 PM UTC | 6.16 h | -38.46 h |
| 241387000 | product | 10/10, 07:13 PM UTC | -13.85 h | -43.25 h |
| 538010978 | product | 10/10, 06:54 PM UTC | 10.33 h | -457.91 h |
| 538004912 | general-cargo | 10/10, 04:49 PM UTC | -1.71 h | -3.82 h |
| 367775000 | container | 10/10, 10:37 AM UTC | 0.36 h | -3.13 h |
| 311001673 | product | 10/10, 10:27 AM UTC | 3.56 h | -1460.46 h |
| 412763000 | container | 10/10, 10:25 AM UTC | -18.71 h | -23.43 h |
| 256916000 | product | 10/10, 10:14 AM UTC | -3.08 h | -2713.24 h |
| 257453000 | product | 10/10, 06:48 AM UTC | -15.54 h | -24.31 h |
| 367497070 | product | 10/10, 06:14 AM UTC | 10.82 h | 5822.29 h |
| 368611000 | container | 10/10, 06:12 AM UTC | -8.05 h | — |
| 538005911 | product | 10/10, 05:59 AM UTC | 1.68 h | -2908.99 h |
| 538011999 | container | 10/10, 05:57 AM UTC | 4.30 h | -24.95 h |
| 563048700 | chemical | 10/10, 05:45 AM UTC | 7.95 h | -118.75 h |
| 241348000 | product | 10/10, 05:08 AM UTC | -15.25 h | -3147.14 h |
| 431230000 | product | 10/10, 04:51 AM UTC | 0.22 h | -3189.86 h |
| 636017950 | product | 10/10, 04:19 AM UTC | 12.22 h | -2498.32 h |
| 538009780 | chemical | 10/10, 03:17 AM UTC | 7.03 h | -81.29 h |
| 352003540 | product | 10/10, 03:08 AM UTC | 4.34 h | -1255.14 h |
| 353423000 | product | 10/10, 02:09 AM UTC | 8.19 h | -729.16 h |
| 636012425 | product | 10/10, 02:03 AM UTC | -46.70 h | -59.56 h |
| 636021492 | container | 10/10, 12:11 AM UTC | -6.33 h | -608.19 h |
| 563272400 | product | 10/09, 10:41 PM UTC | -0.75 h | -29.68 h |
| 244457000 | container | 10/09, 07:22 PM UTC | 1.17 h | -14.38 h |
| 538090581 | container | 10/09, 03:38 PM UTC | 3.05 h | -2441.65 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.