ETA accuracy benchmark · 🇮🇹 Genoa
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Genoa, 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)
8.61 h
MAE 6.76 h · 980 voyages
Broadcast ETA (RMSE)
71.69 h
crew-declared, 437 voyages (same set)
Our advantage
88.0 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (197 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 |
|---|---|---|---|---|
| 255805834 | container | 07/12, 07:50 AM UTC | 1.62 h | -60.84 h |
| 255806391 | container | 07/12, 07:44 AM UTC | 0.64 h | -48.74 h |
| 247270900 | product | 07/12, 06:51 AM UTC | -0.44 h | -86.86 h |
| 357627000 | container | 07/12, 06:35 AM UTC | 0.07 h | -216.84 h |
| 256070000 | container | 07/12, 05:26 AM UTC | 0.04 h | -140.93 h |
| 636019446 | container | 07/12, 04:51 AM UTC | -0.43 h | -234.85 h |
| 672747000 | container | 07/12, 04:47 AM UTC | 0.10 h | -310.79 h |
| 247287200 | product | 07/11, 04:48 PM UTC | -0.26 h | -96.31 h |
| 255806056 | container | 07/11, 03:43 PM UTC | 2.12 h | -0.73 h |
| 255806056 | general-cargo | 07/11, 03:26 PM UTC | -0.39 h | -107.45 h |
| 247287200 | product | 07/11, 02:39 PM UTC | 0.22 h | -94.16 h |
| 205703000 | chemical | 07/11, 01:43 PM UTC | 0.24 h | -49.72 h |
| 428002000 | container | 07/11, 01:24 PM UTC | 1.03 h | -23.41 h |
| 247287200 | product | 07/11, 11:54 AM UTC | 0.47 h | — |
| 247270900 | product | 07/11, 11:25 AM UTC | 0.23 h | -67.42 h |
| 636021506 | container | 07/11, 10:57 AM UTC | 0.67 h | -355.47 h |
| 247082300 | container | 07/11, 09:39 AM UTC | 0.45 h | -0.66 h |
| 247287200 | product | 07/11, 09:11 AM UTC | -1.09 h | -88.70 h |
| 247270900 | product | 07/11, 08:51 AM UTC | -0.04 h | -64.86 h |
| 247082300 | container | 07/11, 08:50 AM UTC | 1.50 h | -243.84 h |
| 248717000 | container | 07/11, 06:53 AM UTC | -0.44 h | -145.90 h |
| 247287200 | product | 07/11, 06:43 AM UTC | -0.39 h | — |
| 247383400 | container | 07/11, 05:30 AM UTC | -0.74 h | -65.01 h |
| 247293800 | container | 07/11, 05:06 AM UTC | 1.35 h | -0.86 h |
| 247293800 | container | 07/11, 04:51 AM UTC | -0.20 h | -43.85 h |
| 636018333 | chemical | 07/11, 03:28 AM UTC | 0.33 h | -6.96 h |
| 247287200 | product | 07/10, 07:54 PM UTC | 1.05 h | — |
| 247287200 | product | 07/10, 07:39 PM UTC | 0.93 h | — |
| 247287200 | product | 07/10, 06:05 PM UTC | 0.86 h | -73.59 h |
| 247297200 | container | 07/10, 04:41 PM UTC | 1.08 h | -96.95 h |
| 247287200 | product | 07/10, 03:28 PM UTC | -0.58 h | -70.98 h |
| 247270900 | product | 07/10, 03:12 PM UTC | -1.05 h | -47.21 h |
| 636024490 | container | 07/10, 02:35 PM UTC | -0.36 h | -1097.57 h |
| 247287200 | product | 07/10, 01:30 PM UTC | 0.98 h | -69.00 h |
| 247296500 | container | 07/10, 01:11 PM UTC | 0.30 h | -0.70 h |
| 247337400 | container | 07/10, 11:29 AM UTC | 0.95 h | — |
| 271000677 | general-cargo | 07/10, 11:14 AM UTC | -0.04 h | -675.99 h |
| 255916531 | container | 07/10, 10:58 AM UTC | -0.78 h | -75.98 h |
| 247270900 | product | 07/10, 10:35 AM UTC | -0.26 h | -42.59 h |
| 247287200 | product | 07/10, 10:22 AM UTC | 1.42 h | — |
| 247287200 | product | 07/10, 10:12 AM UTC | -0.23 h | -65.71 h |
| 255915744 | container | 07/10, 10:08 AM UTC | 2.21 h | -739.14 h |
| 229467000 | container | 07/10, 08:57 AM UTC | -0.18 h | -1.45 h |
| 255806310 | general-cargo | 07/10, 06:50 AM UTC | 0.52 h | -15.83 h |
| 244848000 | container | 07/10, 05:21 AM UTC | 0.17 h | -1.36 h |
| 605086060 | container | 07/10, 04:37 AM UTC | 0.67 h | -16.62 h |
| 248527000 | container | 07/10, 03:37 AM UTC | 1.54 h | -1.62 h |
| 247287200 | product | 07/10, 12:37 AM UTC | 0.02 h | -56.13 h |
| 247270900 | product | 07/09, 07:37 PM UTC | -0.17 h | 685.87 h |
| 256852000 | container | 07/09, 06:25 PM UTC | 1.63 h | -6.93 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.