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 90 days. We publish the number — good or bad. Lower error is better.
Port Flow predicted ETA (RMSE)
20.74 h
MAE 12.43 h · 856 voyages
Broadcast ETA (RMSE)
54.33 h
crew-declared, 388 voyages (same set)
Our advantage
61.8 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (124 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 |
|---|---|---|---|---|
| 255806452 | container | 07/12, 08:38 AM UTC | -0.56 h | -1164.64 h |
| 211870240 | container | 07/12, 05:00 AM UTC | -0.28 h | -66.02 h |
| 205228000 | product | 07/12, 02:37 AM UTC | 1.63 h | 0.38 h |
| 311000449 | product | 07/12, 01:27 AM UTC | 2.56 h | -37.45 h |
| 305313000 | general-cargo | 07/11, 09:51 PM UTC | 1.69 h | -396.85 h |
| 311027400 | product | 07/11, 05:31 PM UTC | 1.00 h | -30.02 h |
| 244201000 | container | 07/11, 03:04 PM UTC | -28.63 h | 14.93 h |
| 212882000 | container | 07/11, 02:30 PM UTC | 3.72 h | -0.50 h |
| 311027400 | product | 07/11, 02:13 PM UTC | 4.40 h | — |
| 636024515 | container | 07/11, 01:54 PM UTC | 1.96 h | -44.90 h |
| 305773000 | container | 07/11, 11:04 AM UTC | 1.41 h | -307.07 h |
| 311000766 | product | 07/11, 10:23 AM UTC | 3.71 h | -47.40 h |
| 311000766 | product | 07/11, 08:07 AM UTC | -41.87 h | -45.12 h |
| 255705000 | container | 07/11, 06:55 AM UTC | 5.74 h | -770.92 h |
| 230631000 | container | 07/11, 06:37 AM UTC | 2.28 h | -27.62 h |
| 210017000 | container | 07/11, 04:18 AM UTC | 2.77 h | -1544.32 h |
| 538005404 | product | 07/11, 01:16 AM UTC | 2.97 h | -125.28 h |
| 245466000 | container | 07/10, 08:46 PM UTC | 0.67 h | -32.28 h |
| 230697000 | general-cargo | 07/10, 04:24 PM UTC | 4.43 h | -946.41 h |
| 311000449 | product | 07/10, 12:58 PM UTC | -0.53 h | -0.98 h |
| 636018491 | container | 07/10, 11:28 AM UTC | 3.67 h | -1.47 h |
| 235108529 | product | 07/10, 11:07 AM UTC | 1.48 h | -43.63 h |
| 241962000 | product | 07/10, 11:01 AM UTC | 0.50 h | -0.03 h |
| 311027400 | product | 07/10, 09:59 AM UTC | 0.48 h | 1.50 h |
| 249097000 | product | 07/10, 07:17 AM UTC | 2.51 h | -15.29 h |
| 305649000 | container | 07/10, 06:38 AM UTC | 0.47 h | -900.64 h |
| 215908000 | container | 07/10, 05:01 AM UTC | 4.50 h | -825.02 h |
| 245190000 | container | 07/10, 04:50 AM UTC | 2.85 h | -267.81 h |
| 244201000 | container | 07/10, 04:44 AM UTC | 0.56 h | -1122.74 h |
| 538009131 | container | 07/10, 03:46 AM UTC | -218.28 h | -517.27 h |
| 240657000 | product | 07/10, 03:21 AM UTC | 1.88 h | -17.36 h |
| 244140468 | container | 07/10, 01:58 AM UTC | 1.84 h | -297.98 h |
| 246412000 | container | 07/09, 08:17 PM UTC | 0.16 h | -45.29 h |
| 218058660 | container | 07/09, 06:57 PM UTC | -0.46 h | -1008.95 h |
| 261037120 | product | 07/09, 12:03 PM UTC | 3.07 h | -274.05 h |
| 259360000 | chemical | 07/09, 11:55 AM UTC | -4.17 h | -4.93 h |
| 212491000 | container | 07/09, 11:49 AM UTC | 0.18 h | -0.83 h |
| 304070000 | product | 07/09, 11:25 AM UTC | 1.03 h | -1.42 h |
| 205769000 | product | 07/09, 09:20 AM UTC | -24.07 h | -54.84 h |
| 246483000 | container | 07/09, 09:07 AM UTC | 2.29 h | -17.13 h |
| 257723000 | container | 07/09, 05:40 AM UTC | -1.39 h | -136.67 h |
| 212018000 | general-cargo | 07/09, 03:04 AM UTC | 3.46 h | -1.08 h |
| 304922000 | container | 07/09, 12:55 AM UTC | 0.29 h | -4.92 h |
| 219333000 | product | 07/08, 11:10 PM UTC | 4.61 h | -34.98 h |
| 538005823 | product | 07/08, 10:24 PM UTC | -1.01 h | -40.41 h |
| 229246000 | container | 07/08, 06:29 PM UTC | 1.49 h | -6.50 h |
| 636019100 | product | 07/08, 05:21 PM UTC | 3.76 h | -5.36 h |
| 636023942 | product | 07/08, 05:16 PM UTC | 3.61 h | -32.28 h |
| 304176000 | container | 07/08, 04:59 PM UTC | -28.34 h | -40.97 h |
| 255801780 | container | 07/08, 04:33 PM UTC | 3.53 h | -103.57 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.