ETA accuracy benchmark · 🇪🇸 Valencia
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Valencia, 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)
18.56 h
MAE 21.25 h · 946 voyages
Broadcast ETA (RMSE)
69.29 h
crew-declared, 427 voyages (same set)
Our advantage
73.2 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (512 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 352004886 | container | 10/12, 01:51 AM UTC | 0.31 h | -107.86 h |
| 636021055 | container | 10/11, 09:30 PM UTC | 0.02 h | -260.51 h |
| 229699000 | container | 10/11, 05:44 PM UTC | 0.37 h | 2919.26 h |
| 636024876 | container | 10/11, 04:16 PM UTC | -0.26 h | -38.28 h |
| 215234000 | container | 10/11, 03:34 PM UTC | -0.15 h | -147.57 h |
| 219614000 | container | 10/11, 12:02 PM UTC | -0.37 h | -2269.04 h |
| 636020454 | container | 10/11, 11:56 AM UTC | -0.91 h | -166.94 h |
| 210908000 | product | 10/11, 10:32 AM UTC | 0.04 h | -52.55 h |
| 477617700 | container | 10/11, 09:01 AM UTC | 0.41 h | -2495.03 h |
| 244850968 | container | 10/11, 08:42 AM UTC | -0.21 h | -88.71 h |
| 636024940 | container | 10/11, 05:49 AM UTC | 0.19 h | -24.83 h |
| 636016986 | container | 10/11, 03:59 AM UTC | 0.14 h | -716.99 h |
| 255806492 | container | 10/11, 02:55 AM UTC | -0.21 h | -30.93 h |
| 255806280 | container | 10/10, 10:54 PM UTC | 0.60 h | -30.91 h |
| 538005959 | container | 10/10, 10:48 PM UTC | -0.79 h | -1010.30 h |
| 224127820 | product | 10/10, 10:06 PM UTC | -0.05 h | 2201.89 h |
| 212641000 | container | 10/10, 08:42 PM UTC | 0.26 h | -328.70 h |
| 636019292 | container | 10/10, 07:08 PM UTC | 0.28 h | -48.65 h |
| 636021472 | container | 10/10, 02:39 PM UTC | 0.38 h | -582.66 h |
| 636021596 | container | 10/10, 12:42 PM UTC | -0.39 h | -1079.71 h |
| 538010119 | container | 10/10, 11:19 AM UTC | -0.30 h | -534.33 h |
| 229548000 | container | 10/10, 06:50 AM UTC | -0.21 h | -603.84 h |
| 247383300 | general-cargo | 10/10, 05:02 AM UTC | 0.19 h | -96.53 h |
| 372497000 | container | 10/10, 04:52 AM UTC | -0.17 h | -120.68 h |
| 241298000 | container | 10/10, 04:21 AM UTC | -1.98 h | -1744.36 h |
| 538090641 | container | 10/10, 03:58 AM UTC | -0.06 h | -243.48 h |
| 636019221 | container | 10/09, 08:48 PM UTC | 0.01 h | -31.81 h |
| 224127820 | product | 10/09, 08:25 PM UTC | -9.71 h | 2227.58 h |
| 255806492 | container | 10/09, 07:58 PM UTC | -0.17 h | 0.03 h |
| 477183800 | general-cargo | 10/09, 04:06 PM UTC | -0.15 h | -1888.11 h |
| 271050950 | container | 10/09, 11:01 AM UTC | -0.13 h | -125.03 h |
| 255805984 | container | 10/09, 10:20 AM UTC | 0.02 h | -88.35 h |
| 210908000 | product | 10/09, 07:04 AM UTC | -0.71 h | -6.91 h |
| 255915616 | container | 10/09, 07:04 AM UTC | 0.23 h | -855.07 h |
| 215219000 | container | 10/09, 05:35 AM UTC | 0.08 h | -2335.60 h |
| 477552700 | container | 10/08, 11:50 PM UTC | -0.22 h | -857.84 h |
| 636019292 | container | 10/08, 10:57 PM UTC | 0.06 h | -4.46 h |
| 255784000 | container | 10/08, 10:56 PM UTC | 0.73 h | -435.94 h |
| 375241000 | container | 10/08, 07:00 PM UTC | -0.22 h | -74.01 h |
| 636022103 | container | 10/08, 06:58 PM UTC | 0.03 h | -2948.47 h |
| 244985000 | container | 10/08, 06:41 PM UTC | -0.09 h | -458.69 h |
| 224127820 | product | 10/08, 05:32 PM UTC | -0.27 h | 2254.46 h |
| 636021776 | container | 10/08, 04:41 PM UTC | -0.21 h | -0.70 h |
| 247383600 | container | 10/08, 02:17 PM UTC | 0.39 h | -87.53 h |
| 219473000 | product | 10/08, 01:14 PM UTC | -0.11 h | -71.25 h |
| 215177000 | general-cargo | 10/08, 10:37 AM UTC | -0.32 h | -1741.63 h |
| 255806492 | container | 10/08, 10:27 AM UTC | 0.34 h | -1551.95 h |
| 255806280 | container | 10/08, 04:07 AM UTC | 0.15 h | -187.12 h |
| 256485000 | container | 10/07, 11:33 PM UTC | -0.35 h | -2691.56 h |
| 249930000 | product | 10/07, 10:10 PM UTC | 0.17 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.