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 7 days. We publish the number — good or bad. Lower error is better.
Port Flow predicted ETA (RMSE)
12.77 h
MAE 7.50 h · 985 voyages
Broadcast ETA (RMSE)
57.67 h
crew-declared, 393 voyages (same set)
Our advantage
77.9 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (190 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 244660477 | product | 10/12, 05:19 AM UTC | -0.05 h | -41.00 h |
| 205553690 | container | 10/12, 05:19 AM UTC | 0.59 h | -299.74 h |
| 205528990 | product | 10/12, 05:16 AM UTC | -0.60 h | 1.33 h |
| 256227000 | product | 10/12, 05:11 AM UTC | 0.13 h | -3293.69 h |
| 211501820 | container | 10/12, 05:06 AM UTC | 0.72 h | 6150.89 h |
| 244700884 | product | 10/12, 05:06 AM UTC | 1.78 h | — |
| 205045800 | product | 10/12, 05:04 AM UTC | 0.64 h | 6185.92 h |
| 244690052 | container | 10/12, 05:01 AM UTC | -0.32 h | -53.15 h |
| 244670512 | container | 10/12, 04:59 AM UTC | -0.35 h | — |
| 244730740 | container | 10/12, 04:57 AM UTC | -0.28 h | -330.44 h |
| 205566190 | container | 10/12, 04:53 AM UTC | 0.33 h | -0.30 h |
| 244002669 | product | 10/12, 04:53 AM UTC | 1.10 h | -31.16 h |
| 538004996 | container | 10/12, 04:52 AM UTC | 1.07 h | -64.37 h |
| 205267390 | product | 10/12, 04:52 AM UTC | 3.05 h | — |
| 205543790 | product | 10/12, 04:51 AM UTC | 3.05 h | — |
| 205314890 | container | 10/12, 04:44 AM UTC | 0.58 h | — |
| 253000057 | product | 10/12, 04:41 AM UTC | 7.37 h | -835.06 h |
| 205220190 | container | 10/12, 04:40 AM UTC | -0.00 h | -575.86 h |
| 205517990 | product | 10/12, 04:31 AM UTC | 3.32 h | — |
| 636016302 | product | 10/12, 04:23 AM UTC | 1.17 h | -11.39 h |
| 205543390 | container | 10/12, 04:22 AM UTC | 1.55 h | — |
| 205529590 | container | 10/12, 04:17 AM UTC | 1.91 h | 4.88 h |
| 205450690 | container | 10/12, 04:16 AM UTC | 1.97 h | 4736.97 h |
| 244710325 | container | 10/12, 04:16 AM UTC | 2.08 h | 10.53 h |
| 244039456 | container | 10/12, 04:16 AM UTC | -0.06 h | -425.22 h |
| 244690052 | container | 10/12, 04:10 AM UTC | 0.13 h | -52.30 h |
| 205578790 | container | 10/12, 04:07 AM UTC | 1.51 h | — |
| 244076909 | container | 10/12, 04:04 AM UTC | 0.20 h | — |
| 253242276 | container | 10/12, 04:04 AM UTC | -0.36 h | — |
| 244039456 | container | 10/12, 04:03 AM UTC | -0.50 h | — |
| 244710207 | product | 10/12, 04:03 AM UTC | -1.52 h | -38.40 h |
| 244780045 | product | 10/12, 04:00 AM UTC | -1.22 h | — |
| 352003272 | chemical | 10/12, 03:59 AM UTC | -0.30 h | — |
| 244040891 | product | 10/12, 03:58 AM UTC | 1.94 h | -650.06 h |
| 205218590 | product | 10/12, 03:56 AM UTC | 3.85 h | — |
| 244076909 | container | 10/12, 03:53 AM UTC | -0.12 h | — |
| 244660065 | container | 10/12, 03:47 AM UTC | 2.24 h | — |
| 211530930 | product | 10/12, 03:44 AM UTC | 1.31 h | — |
| 253242285 | product | 10/12, 03:43 AM UTC | 0.68 h | -143.82 h |
| 244039456 | container | 10/12, 03:40 AM UTC | -0.87 h | — |
| 244660108 | container | 10/12, 03:40 AM UTC | 1.78 h | 5876.33 h |
| 205590790 | container | 10/12, 03:35 AM UTC | -1.05 h | 7.86 h |
| 244830333 | product | 10/12, 03:33 AM UTC | -0.42 h | 15.98 h |
| 244504782 | product | 10/12, 03:33 AM UTC | 0.82 h | — |
| 244002553 | container | 10/12, 03:30 AM UTC | 1.50 h | — |
| 244650607 | product | 10/12, 03:30 AM UTC | -0.32 h | — |
| 205218590 | product | 10/12, 03:19 AM UTC | -2.04 h | -499.05 h |
| 636022343 | product | 10/12, 03:17 AM UTC | -0.41 h | 159.71 h |
| 244039456 | container | 10/12, 03:14 AM UTC | -0.44 h | — |
| 244670312 | product | 10/12, 03:03 AM UTC | 2.65 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.