ETA accuracy benchmark · 🇧🇪 Antwerp
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Antwerp, 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)
6.21 h
MAE 9.23 h · 988 voyages
Broadcast ETA (RMSE)
49.16 h
crew-declared, 307 voyages (same set)
Our advantage
87.4 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (220 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 205575890 | container | 08/26, 11:59 PM UTC | -0.30 h | — |
| 244700050 | container | 08/26, 11:54 PM UTC | 1.13 h | 2871.09 h |
| 244630427 | product | 08/26, 11:51 PM UTC | -1127.25 h | -1125.30 h |
| 563285900 | container | 08/26, 11:49 PM UTC | -1.04 h | -1759.83 h |
| 205526290 | product | 08/26, 11:45 PM UTC | 0.27 h | -27.77 h |
| 205568190 | container | 08/26, 11:41 PM UTC | 1.63 h | — |
| 244630115 | product | 08/26, 11:40 PM UTC | -0.35 h | — |
| 244660532 | container | 08/26, 11:38 PM UTC | 1.73 h | — |
| 244650553 | product | 08/26, 11:38 PM UTC | -0.02 h | — |
| 205575890 | container | 08/26, 11:29 PM UTC | 0.81 h | 3735.77 h |
| 211487500 | product | 08/26, 11:29 PM UTC | -0.63 h | 16.22 h |
| 205568390 | product | 08/26, 11:28 PM UTC | 0.36 h | — |
| 244218293 | container | 08/26, 11:26 PM UTC | 0.62 h | — |
| 244850275 | container | 08/26, 11:26 PM UTC | -0.92 h | 6793.57 h |
| 205546090 | container | 08/26, 11:26 PM UTC | 1.69 h | -0.03 h |
| 244670494 | container | 08/26, 11:25 PM UTC | 1.64 h | 35.26 h |
| 257289000 | product | 08/26, 11:21 PM UTC | 0.41 h | — |
| 244740453 | product | 08/26, 11:20 PM UTC | -0.18 h | -50.89 h |
| 218006030 | product | 08/26, 11:16 PM UTC | 2.40 h | — |
| 205482190 | container | 08/26, 11:14 PM UTC | 0.74 h | 9.46 h |
| 244630035 | container | 08/26, 11:12 PM UTC | 2.46 h | -451.25 h |
| 636023094 | chemical | 08/26, 11:12 PM UTC | 0.68 h | -7.21 h |
| 255916109 | product | 08/26, 11:11 PM UTC | 0.84 h | -63.19 h |
| 205570190 | container | 08/26, 11:10 PM UTC | 0.19 h | -634.28 h |
| 205222790 | product | 08/26, 11:08 PM UTC | 1.95 h | -584.68 h |
| 244218293 | container | 08/26, 11:02 PM UTC | 0.67 h | — |
| 244164000 | container | 08/26, 11:02 PM UTC | 2.52 h | 30.96 h |
| 246108000 | product | 08/26, 11:01 PM UTC | 0.97 h | 81.97 h |
| 205543390 | container | 08/26, 11:00 PM UTC | 1.60 h | 2525.51 h |
| 205436290 | container | 08/26, 10:56 PM UTC | 4.21 h | 34.36 h |
| 636016683 | product | 08/26, 10:56 PM UTC | 1.74 h | -30.44 h |
| 205371390 | container | 08/26, 10:55 PM UTC | 0.66 h | -27.85 h |
| 244670191 | container | 08/26, 10:55 PM UTC | 0.36 h | — |
| 205591890 | container | 08/26, 10:52 PM UTC | 1.18 h | -3.02 h |
| 244730899 | container | 08/26, 10:51 PM UTC | 0.19 h | 2314.33 h |
| 205391690 | container | 08/26, 10:48 PM UTC | 1.49 h | — |
| 205320790 | container | 08/26, 10:48 PM UTC | -0.12 h | — |
| 244660532 | container | 08/26, 10:47 PM UTC | 1.57 h | — |
| 244000828 | product | 08/26, 10:44 PM UTC | 1.01 h | — |
| 205508290 | container | 08/26, 10:43 PM UTC | 0.91 h | 4717.61 h |
| 244650515 | container | 08/26, 10:42 PM UTC | 0.88 h | — |
| 244100879 | product | 08/26, 10:37 PM UTC | -0.83 h | — |
| 205388290 | container | 08/26, 10:37 PM UTC | 2.25 h | — |
| 205320790 | container | 08/26, 10:36 PM UTC | -0.73 h | — |
| 244093320 | product | 08/26, 10:36 PM UTC | -0.71 h | -1.61 h |
| 244690053 | container | 08/26, 10:30 PM UTC | 2.28 h | — |
| 244821242 | container | 08/26, 10:27 PM UTC | 0.26 h | — |
| 205588690 | container | 08/26, 10:25 PM UTC | -0.33 h | — |
| 205575390 | product | 08/26, 10:24 PM UTC | -0.06 h | — |
| 205482190 | container | 08/26, 10:24 PM UTC | -0.83 h | -567.40 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.