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)
22.90 h
MAE 13.38 h · 992 voyages
Broadcast ETA (RMSE)
58.56 h
crew-declared, 357 voyages (same set)
Our advantage
60.9 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (160 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 |
|---|---|---|---|---|
| 636024776 | general-cargo | 07/12, 10:32 AM UTC | -0.64 h | -6.54 h |
| 244717904 | container | 07/12, 10:31 AM UTC | -88.65 h | 4974.82 h |
| 563050600 | container | 07/12, 10:27 AM UTC | 1.36 h | -7.46 h |
| 205580990 | product | 07/12, 10:25 AM UTC | 0.39 h | -425.61 h |
| 244710367 | product | 07/12, 10:25 AM UTC | -108.40 h | -595.30 h |
| 205557290 | container | 07/12, 10:24 AM UTC | 0.56 h | — |
| 211141900 | product | 07/12, 10:24 AM UTC | 0.61 h | -299.98 h |
| 244770079 | product | 07/12, 10:20 AM UTC | -1.59 h | 789.67 h |
| 227792630 | container | 07/12, 10:18 AM UTC | 3.68 h | -478.31 h |
| 244750822 | product | 07/12, 10:18 AM UTC | -1.38 h | — |
| 205514990 | container | 07/12, 10:17 AM UTC | 0.47 h | — |
| 205586990 | container | 07/12, 10:15 AM UTC | 1.18 h | 454.23 h |
| 255917300 | product | 07/12, 10:13 AM UTC | 0.57 h | — |
| 244650794 | product | 07/12, 10:13 AM UTC | -1.57 h | — |
| 244750022 | container | 07/12, 10:12 AM UTC | 0.81 h | — |
| 253000077 | product | 07/12, 10:11 AM UTC | -1.73 h | — |
| 244670745 | product | 07/12, 10:09 AM UTC | -411.92 h | -364.19 h |
| 244670466 | product | 07/12, 10:08 AM UTC | -1.04 h | -192.26 h |
| 205373490 | container | 07/12, 10:07 AM UTC | -1.50 h | — |
| 205579090 | container | 07/12, 10:06 AM UTC | 0.71 h | — |
| 205392290 | container | 07/12, 10:06 AM UTC | -1.88 h | — |
| 636017839 | chemical | 07/12, 10:01 AM UTC | -1.28 h | -70.53 h |
| 205580590 | product | 07/12, 09:59 AM UTC | -1.09 h | -206.50 h |
| 244710232 | container | 07/12, 09:59 AM UTC | -1.24 h | -42.00 h |
| 269057316 | product | 07/12, 09:59 AM UTC | 2.59 h | -36.26 h |
| 212228000 | product | 07/12, 09:57 AM UTC | 1.05 h | -57.94 h |
| 244001754 | product | 07/12, 09:55 AM UTC | -1.40 h | -18.54 h |
| 211645510 | product | 07/12, 09:53 AM UTC | 8.34 h | 21.68 h |
| 244387716 | product | 07/12, 09:53 AM UTC | 1.15 h | — |
| 269057029 | product | 07/12, 09:51 AM UTC | 4.06 h | 34.90 h |
| 211749240 | product | 07/12, 09:51 AM UTC | 2.17 h | — |
| 244740035 | product | 07/12, 09:49 AM UTC | 2.35 h | 29.18 h |
| 244001909 | product | 07/12, 09:46 AM UTC | -0.79 h | -188.37 h |
| 244700130 | container | 07/12, 09:44 AM UTC | -1.23 h | — |
| 244700756 | container | 07/12, 09:41 AM UTC | 7.65 h | — |
| 244658378 | product | 07/12, 09:36 AM UTC | -0.49 h | -39.53 h |
| 205566190 | container | 07/12, 09:32 AM UTC | 4.30 h | — |
| 244710230 | product | 07/12, 09:29 AM UTC | -4.33 h | -59.42 h |
| 211474230 | container | 07/12, 09:27 AM UTC | 1.33 h | 6171.55 h |
| 244129541 | product | 07/12, 09:25 AM UTC | -3.64 h | -155.43 h |
| 244076547 | product | 07/12, 09:23 AM UTC | -0.42 h | — |
| 244650753 | product | 07/12, 09:23 AM UTC | 1.63 h | -34.78 h |
| 244740168 | container | 07/12, 09:22 AM UTC | 1.26 h | — |
| 244750237 | container | 07/12, 09:20 AM UTC | 8.19 h | — |
| 244001539 | product | 07/12, 09:17 AM UTC | 3.35 h | — |
| 244700710 | container | 07/12, 09:16 AM UTC | 1.16 h | — |
| 244660697 | container | 07/12, 09:16 AM UTC | -108.21 h | -192.16 h |
| 205452690 | product | 07/12, 09:16 AM UTC | -0.76 h | 6605.46 h |
| 244670236 | container | 07/12, 09:16 AM UTC | -1.00 h | — |
| 244700581 | product | 07/12, 09:15 AM UTC | -0.75 h | -5.26 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.