ETA accuracy benchmark · 🇵🇱 Gdansk
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Gdansk, 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)
51.64 h
MAE 74.18 h · 173 voyages
Broadcast ETA (RMSE)
56.30 h
crew-declared, 97 voyages (same set)
Our advantage
8.3 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (69 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 248022000 | product | 08/26, 10:16 PM UTC | 0.81 h | 0.22 h |
| 229246000 | container | 08/26, 09:05 PM UTC | 2.95 h | -1135.10 h |
| 230631000 | container | 08/26, 03:53 PM UTC | -0.51 h | -25.89 h |
| 309022000 | product | 08/26, 02:29 PM UTC | 1.94 h | -119.49 h |
| 538011442 | product | 08/26, 11:14 AM UTC | -3.94 h | -1.24 h |
| 261199000 | container | 08/26, 10:06 AM UTC | -1.81 h | 1.89 h |
| 664444000 | product | 08/26, 07:18 AM UTC | 1.48 h | -1.31 h |
| 304010285 | container | 08/26, 06:35 AM UTC | -1.23 h | -2083.60 h |
| 219699000 | container | 08/26, 06:04 AM UTC | -0.25 h | -1.08 h |
| 257723000 | container | 08/26, 04:55 AM UTC | -0.45 h | 5090.08 h |
| 245901000 | container | 08/26, 04:30 AM UTC | 1.32 h | -740.51 h |
| 257884000 | general-cargo | 08/26, 03:54 AM UTC | 1.85 h | -631.91 h |
| 244140468 | container | 08/26, 03:01 AM UTC | 2.98 h | -696.03 h |
| 563009700 | product | 08/26, 12:55 AM UTC | 0.84 h | 1.07 h |
| 246553000 | product | 08/25, 11:32 PM UTC | -15.10 h | -1281.54 h |
| 255916068 | container | 08/25, 06:19 PM UTC | 1.72 h | -512.32 h |
| 231075000 | container | 08/25, 06:06 PM UTC | -61.10 h | -93.11 h |
| 563003300 | product | 08/25, 01:35 PM UTC | 2.02 h | -622.58 h |
| 304264000 | container | 08/25, 10:03 AM UTC | -28.68 h | -48.06 h |
| 218801000 | container | 08/25, 04:43 AM UTC | -13.60 h | -2261.73 h |
| 255806436 | container | 08/25, 04:00 AM UTC | 5.06 h | -497.01 h |
| 257036300 | container | 08/25, 01:44 AM UTC | 0.87 h | -1982.74 h |
| 538005261 | container | 08/24, 07:44 PM UTC | 3.52 h | -2.74 h |
| 230714000 | container | 08/24, 07:23 PM UTC | 4.27 h | -902.39 h |
| 538006771 | product | 08/24, 05:12 PM UTC | 2.30 h | -88.50 h |
| 305472000 | container | 08/24, 12:16 PM UTC | -9.27 h | -42.27 h |
| 255808000 | container | 08/24, 11:47 AM UTC | 2.29 h | -4.80 h |
| 230631000 | container | 08/24, 10:58 AM UTC | 0.09 h | -140.98 h |
| 636014740 | container | 08/24, 09:12 AM UTC | 4.45 h | -507.70 h |
| 304944000 | container | 08/24, 09:08 AM UTC | 4.58 h | -1.15 h |
| 241875000 | product | 08/24, 08:39 AM UTC | 2.33 h | -1744.65 h |
| 211265530 | container | 08/24, 07:41 AM UTC | 3.21 h | -819.69 h |
| 538009163 | container | 08/24, 04:25 AM UTC | 0.47 h | -1.42 h |
| 212963000 | container | 08/24, 03:30 AM UTC | 2.99 h | -1210.50 h |
| 249529000 | container | 08/24, 02:19 AM UTC | -0.80 h | -2.30 h |
| 311054900 | container | 08/23, 09:53 PM UTC | 1.19 h | -37.90 h |
| 205346000 | container | 08/23, 09:47 PM UTC | -16.33 h | -15.79 h |
| 538003218 | product | 08/23, 04:18 PM UTC | -12.11 h | -1125.31 h |
| 311001831 | container | 08/23, 06:21 AM UTC | -0.79 h | -0.37 h |
| 209276000 | general-cargo | 08/23, 05:18 AM UTC | -5.71 h | -5.31 h |
| 305776000 | container | 08/23, 02:11 AM UTC | 2.52 h | -468.18 h |
| 636025762 | container | 08/22, 06:51 PM UTC | 4.37 h | -1.86 h |
| 211870240 | container | 08/22, 03:17 PM UTC | -87.87 h | -77.28 h |
| 209276000 | general-cargo | 08/22, 02:51 PM UTC | -1375.23 h | -1977.86 h |
| 255705000 | container | 08/22, 02:43 PM UTC | -495.08 h | -438.72 h |
| 255806519 | product | 08/22, 02:43 PM UTC | -452.94 h | -105.72 h |
| 268238202 | container | 08/22, 02:39 PM UTC | -489.70 h | -1489.66 h |
| 255915981 | product | 08/22, 02:39 PM UTC | -108.69 h | -107.65 h |
| 563186400 | product | 08/22, 02:38 PM UTC | -494.88 h | -408.64 h |
| 209507000 | product | 08/22, 02:37 PM UTC | -523.01 h | -958.62 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.