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)
18.30 h
MAE 8.11 h · 354 voyages
Broadcast ETA (RMSE)
55.43 h
crew-declared, 188 voyages (same set)
Our advantage
67.0 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (158 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 255806300 | container | 10/12, 05:08 AM UTC | 0.68 h | -295.14 h |
| 255915602 | container | 10/12, 04:41 AM UTC | 4.64 h | -62.69 h |
| 636023839 | container | 10/11, 10:31 PM UTC | 0.69 h | 5.48 h |
| 255806452 | container | 10/11, 10:26 PM UTC | -16.07 h | -749.44 h |
| 257673000 | container | 10/11, 10:24 PM UTC | 0.06 h | -2008.41 h |
| 245246000 | container | 10/11, 09:32 PM UTC | -0.58 h | — |
| 230688000 | product | 10/11, 02:40 PM UTC | 3.19 h | -34.67 h |
| 261037120 | product | 10/11, 01:24 PM UTC | -0.48 h | -243.41 h |
| 563087500 | product | 10/11, 11:41 AM UTC | -56.21 h | -1149.70 h |
| 636023839 | container | 10/11, 11:33 AM UTC | -31.11 h | -34.56 h |
| 565502000 | product | 10/11, 09:32 AM UTC | 4.95 h | 2.46 h |
| 255916581 | product | 10/11, 09:10 AM UTC | -4.90 h | -284.18 h |
| 211845000 | container | 10/11, 08:37 AM UTC | 2.23 h | -104.63 h |
| 248369000 | chemical | 10/11, 08:10 AM UTC | 2.61 h | -1.18 h |
| 250002133 | container | 10/11, 07:17 AM UTC | 2.87 h | -1.28 h |
| 311001591 | chemical | 10/11, 04:58 AM UTC | -0.55 h | -10.98 h |
| 245246000 | container | 10/10, 10:31 PM UTC | -0.20 h | -3138.53 h |
| 230719000 | container | 10/10, 09:42 PM UTC | -16.21 h | -97.70 h |
| 255705000 | general-cargo | 10/10, 08:07 PM UTC | 0.38 h | -592.13 h |
| 230714000 | container | 10/10, 06:56 PM UTC | -5.22 h | -1127.95 h |
| 563330900 | product | 10/10, 05:31 PM UTC | 0.55 h | -3.52 h |
| 311001591 | chemical | 10/10, 04:27 PM UTC | 3.36 h | 1.53 h |
| 636026344 | container | 10/10, 11:07 AM UTC | 2.87 h | -0.13 h |
| 255806436 | general-cargo | 10/10, 08:09 AM UTC | 1.43 h | -59.66 h |
| 230631000 | container | 10/10, 07:34 AM UTC | 1.24 h | -28.58 h |
| 230688000 | product | 10/10, 04:42 AM UTC | 2.51 h | -0.72 h |
| 305313000 | container | 10/10, 02:41 AM UTC | 4.12 h | 7.30 h |
| 304047000 | container | 10/10, 02:29 AM UTC | -52.22 h | -3004.48 h |
| 245190000 | container | 10/09, 07:48 PM UTC | 2.49 h | -1.76 h |
| 563326600 | product | 10/09, 07:15 PM UTC | 1.95 h | -474.25 h |
| 230700000 | container | 10/09, 05:09 PM UTC | 0.09 h | -437.17 h |
| 563173900 | product | 10/09, 04:41 PM UTC | 2.28 h | -4.68 h |
| 636022719 | container | 10/09, 03:25 PM UTC | -100.49 h | -168.42 h |
| 311000820 | product | 10/09, 03:10 PM UTC | 1.10 h | -324.18 h |
| 564306000 | container | 10/09, 02:54 PM UTC | -31.58 h | -876.90 h |
| 250005692 | container | 10/09, 12:31 PM UTC | 1.71 h | -2871.52 h |
| 305313000 | general-cargo | 10/09, 11:22 AM UTC | 0.08 h | -154.37 h |
| 255806519 | product | 10/09, 11:09 AM UTC | 1.45 h | -1073.16 h |
| 255805594 | container | 10/09, 10:46 AM UTC | 1.67 h | -703.77 h |
| 255915667 | container | 10/09, 09:28 AM UTC | 4.83 h | — |
| 219699000 | container | 10/09, 07:35 AM UTC | -1.35 h | -813.58 h |
| 246063000 | container | 10/09, 05:54 AM UTC | 0.31 h | -1679.91 h |
| 636025365 | container | 10/09, 03:37 AM UTC | 2.32 h | -295.63 h |
| 209276000 | general-cargo | 10/08, 11:41 PM UTC | -0.93 h | -6.69 h |
| 209276000 | general-cargo | 10/08, 08:14 PM UTC | 0.12 h | -3.25 h |
| 210350000 | container | 10/08, 07:46 PM UTC | -10.07 h | -48.77 h |
| 261208000 | container | 10/08, 03:18 PM UTC | 4.48 h | 21.69 h |
| 305597000 | container | 10/08, 02:49 PM UTC | 0.47 h | -1975.82 h |
| 255916226 | container | 10/08, 02:26 PM UTC | 1.17 h | -104.45 h |
| 255915667 | container | 10/08, 12:00 PM UTC | 0.95 h | -825.01 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.