ETA accuracy benchmark · 🇺🇸 Los Angeles
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Los Angeles, 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)
11.13 h
MAE 134.45 h · 251 voyages
Broadcast ETA (RMSE)
43.51 h
crew-declared, 109 voyages (same set)
Our advantage
74.4 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (137 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 538004202 | container | 08/26, 11:07 PM UTC | 0.73 h | -1.12 h |
| 357795000 | container | 08/26, 10:45 PM UTC | 1.28 h | -1946.26 h |
| 636023639 | container | 08/26, 10:00 PM UTC | 0.58 h | 3.00 h |
| 636020671 | container | 08/26, 09:02 PM UTC | 2.25 h | -24.05 h |
| 566448000 | container | 08/26, 08:44 PM UTC | 1.08 h | -20.25 h |
| 636091487 | container | 08/26, 05:49 PM UTC | -0.07 h | -426.83 h |
| 352006501 | product | 08/26, 05:04 PM UTC | 0.27 h | -1.07 h |
| 636020846 | container | 08/26, 02:48 PM UTC | 0.88 h | -1.31 h |
| 256071000 | container | 08/26, 02:14 PM UTC | -0.29 h | -890.25 h |
| 566448000 | container | 08/26, 02:09 PM UTC | 2.02 h | -13.66 h |
| 636024513 | container | 08/26, 01:35 PM UTC | 0.57 h | -1.09 h |
| 367719640 | container | 08/26, 08:34 AM UTC | -0.28 h | -5.58 h |
| 538011148 | product | 08/26, 12:28 AM UTC | 0.88 h | -73.47 h |
| 538011148 | product | 08/25, 11:13 PM UTC | -54.59 h | -1367.21 h |
| 354120000 | container | 08/25, 10:59 PM UTC | -0.43 h | -912.99 h |
| 565807000 | container | 08/25, 09:52 PM UTC | 0.40 h | -0.88 h |
| 636020671 | container | 08/25, 09:47 PM UTC | 0.64 h | -0.79 h |
| 538011714 | container | 08/25, 09:12 PM UTC | 0.54 h | -510.21 h |
| 477056400 | general-cargo | 08/25, 09:01 PM UTC | 1.38 h | -1050.03 h |
| 563276200 | product | 08/25, 05:17 PM UTC | -0.12 h | -6.29 h |
| 311056900 | container | 08/25, 03:55 PM UTC | 1.52 h | -514.92 h |
| 354004000 | container | 08/25, 02:43 PM UTC | 1.08 h | -985.73 h |
| 232018901 | container | 08/25, 01:37 PM UTC | -0.64 h | -1.62 h |
| 636024272 | container | 08/25, 01:28 PM UTC | 0.06 h | -44.47 h |
| 367641230 | container | 08/25, 01:12 PM UTC | 0.27 h | -537.21 h |
| 369006000 | container | 08/25, 12:49 PM UTC | -0.01 h | -1195.83 h |
| 367719640 | container | 08/25, 08:22 AM UTC | -0.16 h | -5.87 h |
| 366904000 | product | 08/25, 02:27 AM UTC | 3.16 h | -481.96 h |
| 338110000 | product | 08/25, 01:45 AM UTC | 1.44 h | -34.76 h |
| 219314000 | container | 08/25, 12:24 AM UTC | 0.70 h | -1.40 h |
| 565402000 | container | 08/25, 12:17 AM UTC | 0.88 h | -634.29 h |
| 636024494 | container | 08/24, 11:55 PM UTC | -0.53 h | 13.07 h |
| 565819000 | container | 08/24, 09:57 PM UTC | 0.36 h | -849.95 h |
| 219265000 | product | 08/24, 09:38 PM UTC | 1.38 h | -75.65 h |
| 319130700 | product | 08/24, 01:42 PM UTC | -0.28 h | -1898.70 h |
| 357147000 | container | 08/24, 01:39 PM UTC | 1.42 h | -1.16 h |
| 311695000 | container | 08/24, 01:11 PM UTC | 0.53 h | -1.20 h |
| 368359000 | container | 08/24, 11:57 AM UTC | -0.71 h | -595.95 h |
| 372628000 | product | 08/24, 10:16 AM UTC | -0.62 h | -1470.18 h |
| 636024119 | container | 08/24, 09:34 AM UTC | -0.29 h | -1333.57 h |
| 352004278 | product | 08/24, 05:00 AM UTC | 2.44 h | -367.01 h |
| 441502000 | general-cargo | 08/24, 01:10 AM UTC | 0.10 h | -671.18 h |
| 366948190 | product | 08/23, 11:53 PM UTC | 1.69 h | -2122.89 h |
| 440189000 | general-cargo | 08/23, 10:53 PM UTC | 1.04 h | -1137.89 h |
| 636023071 | container | 08/23, 09:10 PM UTC | 0.56 h | -1.17 h |
| 369207000 | container | 08/23, 08:43 PM UTC | 1.45 h | -666.73 h |
| 538007701 | container | 08/23, 07:45 PM UTC | 2.08 h | -19.74 h |
| 338110000 | product | 08/23, 06:23 PM UTC | 1.37 h | -785.89 h |
| 538012038 | product | 08/23, 02:56 PM UTC | 0.41 h | -0.94 h |
| 368237190 | container | 08/23, 02:27 PM UTC | -0.27 h | -38.13 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.