ETA accuracy benchmark · 🇺🇸 Corpus Christi
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Corpus Christi, measured on closed voyages over the last 90 days. We publish the number — good or bad. Lower error is better.
Port Flow predicted ETA (RMSE)
11.07 h
MAE 23.64 h · 392 voyages
Broadcast ETA (RMSE)
61.89 h
crew-declared, 268 voyages (same set)
Our advantage
82.1 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (81 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 367457000 | product | 08/26, 10:50 PM UTC | -0.68 h | -55.85 h |
| 636022580 | product | 08/26, 09:07 PM UTC | -0.99 h | -1141.12 h |
| 538004174 | product | 08/26, 09:05 PM UTC | 4.46 h | -1532.09 h |
| 355037000 | product | 08/26, 06:30 PM UTC | 0.68 h | -4.20 h |
| 538011662 | product | 08/26, 04:56 PM UTC | 4.82 h | -1.95 h |
| 477607200 | product | 08/26, 08:55 AM UTC | 1.12 h | -1148.92 h |
| 305663000 | container | 08/26, 05:56 AM UTC | -0.38 h | -88.94 h |
| 338203000 | product | 08/26, 01:09 AM UTC | 1.31 h | -91.15 h |
| 368388590 | product | 08/25, 11:57 PM UTC | 0.50 h | — |
| 367633000 | product | 08/25, 05:29 PM UTC | 0.45 h | -5.49 h |
| 367633000 | product | 08/25, 05:12 PM UTC | 0.73 h | -5.21 h |
| 338203000 | product | 08/25, 10:10 AM UTC | -0.70 h | — |
| 241613000 | product | 08/25, 06:54 AM UTC | 5.80 h | -1531.40 h |
| 338203000 | product | 08/25, 04:29 AM UTC | 0.15 h | -70.50 h |
| 338203000 | product | 08/25, 02:50 AM UTC | -0.88 h | -68.84 h |
| 366495000 | product | 08/25, 01:23 AM UTC | -0.85 h | -682.64 h |
| 368388590 | product | 08/24, 10:35 PM UTC | 0.65 h | — |
| 368388590 | product | 08/24, 10:03 PM UTC | -0.21 h | — |
| 368388590 | product | 08/24, 05:32 PM UTC | 1.02 h | -24.88 h |
| 368388590 | product | 08/24, 04:19 PM UTC | 0.80 h | — |
| 368388590 | product | 08/24, 02:25 PM UTC | -0.07 h | — |
| 368388590 | product | 08/24, 01:56 PM UTC | 0.20 h | — |
| 368388590 | product | 08/24, 10:37 AM UTC | -0.27 h | — |
| 538012219 | product | 08/24, 08:42 AM UTC | 0.58 h | -3.71 h |
| 257607000 | product | 08/23, 10:41 PM UTC | -0.08 h | -100.69 h |
| 367455770 | chemical | 08/23, 09:07 PM UTC | -0.59 h | -108.12 h |
| 368388590 | product | 08/23, 08:03 PM UTC | 0.89 h | — |
| 368388590 | product | 08/23, 07:58 PM UTC | 0.60 h | -3.32 h |
| 367643270 | lpg | 08/23, 07:34 PM UTC | -0.57 h | 2.42 h |
| 636014705 | container | 08/23, 07:25 PM UTC | -0.57 h | -2.43 h |
| 241854000 | product | 08/23, 06:20 PM UTC | 7.25 h | -316.34 h |
| 311001246 | container | 08/23, 06:10 PM UTC | -0.60 h | -82.18 h |
| 419001244 | product | 08/23, 05:30 PM UTC | 8.52 h | -1082.51 h |
| 636015884 | container | 08/23, 05:27 PM UTC | 1.90 h | -19.31 h |
| 636017950 | product | 08/23, 01:57 PM UTC | -3.85 h | -72.96 h |
| 636021119 | product | 08/23, 01:01 PM UTC | 1.63 h | -71.03 h |
| 368004000 | product | 08/23, 05:14 AM UTC | 0.01 h | -557.24 h |
| 538006168 | product | 08/22, 10:26 PM UTC | -0.23 h | -80.94 h |
| 636025912 | product | 08/22, 02:47 PM UTC | -90.47 h | -92.80 h |
| 249910000 | product | 08/22, 02:47 PM UTC | -540.37 h | -497.79 h |
| 477043500 | product | 08/22, 02:38 PM UTC | -2322.24 h | -1801.64 h |
| 538011635 | product | 08/19, 05:37 AM UTC | -0.51 h | -49.63 h |
| 367643270 | lpg | 08/19, 12:16 AM UTC | 2.14 h | -739.28 h |
| 538010650 | product | 08/18, 10:14 PM UTC | 2.82 h | -4.25 h |
| 241785000 | product | 08/18, 10:07 PM UTC | 1.02 h | -26.62 h |
| 241785000 | product | 08/18, 09:38 PM UTC | -0.05 h | -26.14 h |
| 305315000 | container | 08/18, 07:05 PM UTC | -1.89 h | -128.08 h |
| 249986000 | product | 08/18, 08:54 AM UTC | 0.27 h | -1797.91 h |
| 352004782 | container | 08/18, 04:16 AM UTC | 1.83 h | — |
| 538006434 | container | 08/18, 02:15 AM UTC | 2.25 h | -3.26 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.