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)
20.82 h
MAE 25.44 h · 877 voyages
Broadcast ETA (RMSE)
63.35 h
crew-declared, 556 voyages (same set)
Our advantage
67.1 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (315 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 255806064 | general-cargo | 08/26, 09:56 PM UTC | -0.05 h | -555.95 h |
| 357444000 | container | 08/26, 08:12 PM UTC | -0.30 h | -30.20 h |
| 354744000 | container | 08/26, 05:44 PM UTC | -0.15 h | 1.27 h |
| 352965000 | container | 08/26, 02:52 PM UTC | -1.42 h | -770.87 h |
| 538005959 | container | 08/26, 02:45 PM UTC | -0.05 h | -1339.76 h |
| 244985000 | container | 08/26, 12:10 PM UTC | -0.62 h | -479.18 h |
| 440981000 | container | 08/26, 10:50 AM UTC | 0.09 h | -2.84 h |
| 305741000 | container | 08/26, 10:05 AM UTC | 0.25 h | -39.10 h |
| 256744000 | container | 08/26, 07:18 AM UTC | 0.49 h | -3.31 h |
| 249783000 | container | 08/26, 03:41 AM UTC | 0.38 h | -1940.52 h |
| 352002508 | product | 08/26, 02:39 AM UTC | -0.27 h | 0.84 h |
| 249850000 | container | 08/26, 01:47 AM UTC | 0.21 h | -1196.79 h |
| 636015665 | container | 08/25, 08:00 PM UTC | -0.80 h | -982.00 h |
| 249930000 | product | 08/25, 06:12 PM UTC | -0.34 h | -79.70 h |
| 277550000 | container | 08/25, 02:33 PM UTC | -0.30 h | -742.06 h |
| 636021362 | container | 08/25, 12:38 PM UTC | -2.39 h | -1230.64 h |
| 249930000 | product | 08/25, 12:15 PM UTC | 0.15 h | -73.76 h |
| 428002000 | container | 08/25, 11:23 AM UTC | 0.15 h | -759.39 h |
| 247383300 | general-cargo | 08/25, 10:52 AM UTC | 0.26 h | -397.88 h |
| 247384100 | general-cargo | 08/25, 05:43 AM UTC | 0.17 h | -570.23 h |
| 235067987 | general-cargo | 08/25, 05:40 AM UTC | -0.27 h | -2.67 h |
| 249813000 | container | 08/25, 12:06 AM UTC | 0.02 h | -1839.11 h |
| 271001058 | general-cargo | 08/24, 05:41 PM UTC | 0.71 h | -756.20 h |
| 248302000 | general-cargo | 08/24, 02:06 PM UTC | -0.69 h | -622.11 h |
| 212641000 | container | 08/24, 01:18 PM UTC | 0.27 h | — |
| 563024600 | container | 08/24, 09:16 AM UTC | 0.29 h | -738.78 h |
| 256328000 | product | 08/24, 08:41 AM UTC | -0.62 h | -53.69 h |
| 255916056 | container | 08/24, 06:33 AM UTC | 0.07 h | -1838.56 h |
| 224127820 | product | 08/24, 05:58 AM UTC | 0.36 h | 3346.02 h |
| 477967800 | general-cargo | 08/24, 04:48 AM UTC | 0.57 h | -1.81 h |
| 636018712 | general-cargo | 08/24, 03:05 AM UTC | -0.11 h | -1659.60 h |
| 229625000 | container | 08/24, 12:14 AM UTC | -1.57 h | -3.24 h |
| 636021596 | container | 08/23, 10:58 PM UTC | 0.72 h | -1289.97 h |
| 255993000 | container | 08/23, 07:33 PM UTC | 0.34 h | -8.56 h |
| 636021337 | container | 08/23, 07:11 PM UTC | -0.63 h | -2129.19 h |
| 212641000 | container | 08/23, 06:44 PM UTC | -0.40 h | -590.75 h |
| 255993000 | container | 08/23, 01:30 PM UTC | -0.30 h | -2.51 h |
| 314851000 | container | 08/23, 09:01 AM UTC | -0.47 h | -109.03 h |
| 249930000 | product | 08/23, 08:56 AM UTC | 0.03 h | -22.44 h |
| 224127820 | product | 08/23, 05:09 AM UTC | -11.75 h | 3370.84 h |
| 247039400 | container | 08/23, 04:25 AM UTC | -0.05 h | -0.42 h |
| 212136000 | container | 08/23, 03:12 AM UTC | -0.16 h | -24.21 h |
| 249930000 | product | 08/23, 01:06 AM UTC | 0.41 h | -14.60 h |
| 636020326 | general-cargo | 08/23, 12:31 AM UTC | 0.07 h | -1607.02 h |
| 247383600 | general-cargo | 08/22, 11:41 PM UTC | 0.47 h | -91.19 h |
| 538007610 | container | 08/22, 10:28 PM UTC | 0.46 h | -722.47 h |
| 255805984 | container | 08/22, 08:09 PM UTC | 0.47 h | -554.16 h |
| 255805844 | container | 08/22, 05:59 PM UTC | 0.38 h | -583.99 h |
| 636092930 | general-cargo | 08/22, 03:49 PM UTC | -0.21 h | -1020.82 h |
| 352898711 | container | 08/22, 02:52 PM UTC | -93.36 h | -1088.88 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.