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 90 days. We publish the number — good or bad. Lower error is better.
Port Flow predicted ETA (RMSE)
56.38 h
MAE 7.11 h · 995 voyages
Broadcast ETA (RMSE)
40.87 h
crew-declared, 540 voyages (same set)
Gap
38.0 %
higher error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (96 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 |
|---|---|---|---|---|
| 352002754 | container | 07/12, 07:36 AM UTC | 0.76 h | -2.12 h |
| 367646810 | product | 07/12, 01:55 AM UTC | -2.54 h | -2.92 h |
| 563109900 | product | 07/12, 01:01 AM UTC | 2.28 h | 1.97 h |
| 367646810 | product | 07/11, 09:56 PM UTC | 0.02 h | 1.06 h |
| 538012661 | chemical | 07/11, 06:45 PM UTC | 0.45 h | -17.75 h |
| 354004000 | container | 07/11, 04:59 PM UTC | 1.08 h | -781.98 h |
| 367353080 | product | 07/11, 03:42 PM UTC | 1.24 h | 4160.30 h |
| 369703000 | product | 07/11, 03:29 PM UTC | -0.66 h | -190.49 h |
| 338881000 | container | 07/11, 02:36 PM UTC | -0.89 h | -762.61 h |
| 367353080 | product | 07/11, 02:21 PM UTC | -47.66 h | 4161.65 h |
| 538008412 | product | 07/11, 01:19 PM UTC | -22.96 h | -37.82 h |
| 636018038 | general-cargo | 07/11, 01:15 PM UTC | -0.41 h | -1.26 h |
| 636093436 | container | 07/11, 01:12 PM UTC | -4.22 h | -8.70 h |
| 563222300 | container | 07/11, 11:17 AM UTC | -0.57 h | -1.29 h |
| 367719640 | container | 07/11, 09:55 AM UTC | -15.99 h | -20.93 h |
| 370024000 | container | 07/11, 09:44 AM UTC | 0.07 h | -82.74 h |
| 538010889 | product | 07/11, 08:08 AM UTC | 2.10 h | -308.15 h |
| 305524000 | container | 07/11, 01:23 AM UTC | 0.61 h | — |
| 563219700 | container | 07/10, 09:49 PM UTC | 1.51 h | -707.82 h |
| 369040000 | product | 07/10, 06:39 PM UTC | 0.41 h | 96.35 h |
| 352003169 | container | 07/10, 02:43 PM UTC | 2.00 h | -0.73 h |
| 477183900 | container | 07/10, 01:14 PM UTC | 1.33 h | -1.23 h |
| 431009000 | container | 07/10, 12:39 PM UTC | 0.85 h | -1.66 h |
| 431009000 | container | 07/10, 12:21 PM UTC | 0.05 h | -1.37 h |
| 255994000 | container | 07/10, 12:03 PM UTC | 0.38 h | 433.94 h |
| 431009000 | container | 07/10, 11:38 AM UTC | -0.10 h | -0.63 h |
| 368305000 | container | 07/10, 08:44 AM UTC | 1.57 h | -199.74 h |
| 538003274 | container | 07/10, 02:56 AM UTC | -14.14 h | 221.06 h |
| 431296000 | general-cargo | 07/09, 11:09 PM UTC | 0.41 h | -1.16 h |
| 368127000 | product | 07/09, 08:29 PM UTC | 1.02 h | -47.50 h |
| 636025014 | container | 07/09, 07:54 PM UTC | 1.17 h | -0.91 h |
| 416464000 | container | 07/09, 07:02 PM UTC | -0.04 h | -1.04 h |
| 356466000 | product | 07/09, 06:36 PM UTC | 0.34 h | -7.61 h |
| 367719640 | container | 07/09, 05:30 PM UTC | -0.75 h | -29.67 h |
| 369040000 | product | 07/09, 05:19 PM UTC | 0.70 h | -190.32 h |
| 229957000 | product | 07/09, 03:32 PM UTC | 2.00 h | -1135.53 h |
| 441502000 | general-cargo | 07/09, 02:50 PM UTC | -0.19 h | -48.84 h |
| 538004619 | container | 07/09, 02:02 PM UTC | 0.73 h | -1.04 h |
| 477067900 | container | 07/09, 01:37 PM UTC | 0.52 h | -600.62 h |
| 368237190 | container | 07/09, 01:35 PM UTC | 0.91 h | — |
| 477637600 | container | 07/09, 01:21 PM UTC | 3.16 h | -927.36 h |
| 368237190 | container | 07/09, 12:44 PM UTC | -0.02 h | -144.74 h |
| 636022332 | container | 07/09, 12:00 PM UTC | 1.96 h | -1.01 h |
| 636021470 | container | 07/09, 10:55 AM UTC | 0.08 h | 743.08 h |
| 538008585 | container | 07/09, 09:25 AM UTC | 1.92 h | -105.43 h |
| 305524000 | container | 07/09, 08:37 AM UTC | 0.57 h | -6.62 h |
| 367719640 | container | 07/09, 08:07 AM UTC | -9.29 h | -41.21 h |
| 538004934 | product | 07/09, 06:56 AM UTC | 1.73 h | -27.94 h |
| 538007896 | product | 07/09, 12:53 AM UTC | 0.62 h | -11.88 h |
| 538006131 | product | 07/08, 11:03 PM UTC | 0.07 h | -26.05 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.