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)
23.87 h
MAE 12.46 h · 992 voyages
Broadcast ETA (RMSE)
57.87 h
crew-declared, 356 voyages (same set)
Our advantage
58.8 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (162 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 |
|---|---|---|---|---|
| 244504782 | product | 07/12, 12:13 PM UTC | 2.24 h | — |
| 205388390 | container | 07/12, 12:12 PM UTC | 1.44 h | — |
| 244670236 | container | 07/12, 12:11 PM UTC | 1.34 h | -13.57 h |
| 211735640 | product | 07/12, 12:06 PM UTC | 0.21 h | -890.03 h |
| 244660419 | product | 07/12, 12:05 PM UTC | 3.35 h | -17.23 h |
| 269057328 | product | 07/12, 12:00 PM UTC | -264.22 h | -329.96 h |
| 226013770 | container | 07/12, 12:00 PM UTC | 1.93 h | — |
| 244504782 | product | 07/12, 11:59 AM UTC | 0.42 h | -1397.52 h |
| 538010354 | product | 07/12, 11:54 AM UTC | 0.71 h | 21.09 h |
| 244129550 | product | 07/12, 11:54 AM UTC | 0.38 h | -130.59 h |
| 244009301 | container | 07/12, 11:53 AM UTC | 0.64 h | — |
| 245015000 | container | 07/12, 11:49 AM UTC | 2.11 h | — |
| 244740168 | container | 07/12, 11:49 AM UTC | -0.11 h | — |
| 269057089 | product | 07/12, 11:49 AM UTC | 1.21 h | -53.32 h |
| 244123290 | product | 07/12, 11:48 AM UTC | 4.88 h | -64.56 h |
| 244000876 | product | 07/12, 11:44 AM UTC | 2.45 h | — |
| 244094180 | product | 07/12, 11:43 AM UTC | -94.02 h | -65.89 h |
| 205579290 | container | 07/12, 11:43 AM UTC | -0.25 h | — |
| 205575890 | container | 07/12, 11:42 AM UTC | -0.07 h | 4827.55 h |
| 205587190 | container | 07/12, 11:42 AM UTC | 2.82 h | — |
| 205373490 | container | 07/12, 11:42 AM UTC | -0.01 h | — |
| 255915818 | container | 07/12, 11:39 AM UTC | 0.51 h | -7.40 h |
| 269057091 | product | 07/12, 11:39 AM UTC | 0.52 h | -22.92 h |
| 255890000 | chemical | 07/12, 11:38 AM UTC | 1.72 h | 6.35 h |
| 244700130 | container | 07/12, 11:38 AM UTC | 0.20 h | — |
| 205579090 | container | 07/12, 11:37 AM UTC | -0.22 h | — |
| 244821242 | container | 07/12, 11:37 AM UTC | 0.12 h | — |
| 245015000 | container | 07/12, 11:36 AM UTC | 0.17 h | -171.61 h |
| 205533690 | container | 07/12, 11:35 AM UTC | -0.21 h | — |
| 205529590 | container | 07/12, 11:34 AM UTC | 0.40 h | — |
| 205370590 | product | 07/12, 11:33 AM UTC | 2.24 h | 22.42 h |
| 244371109 | product | 07/12, 11:31 AM UTC | 0.38 h | -384.79 h |
| 258706000 | product | 07/12, 11:30 AM UTC | 0.95 h | -266.01 h |
| 205452690 | product | 07/12, 11:28 AM UTC | 0.30 h | — |
| 253000074 | product | 07/12, 11:25 AM UTC | 0.61 h | — |
| 244700940 | container | 07/12, 11:22 AM UTC | 0.82 h | — |
| 244670741 | product | 07/12, 11:21 AM UTC | 2.53 h | — |
| 205572690 | container | 07/12, 11:21 AM UTC | -0.02 h | — |
| 244740168 | container | 07/12, 11:20 AM UTC | 0.25 h | 2285.66 h |
| 205419290 | product | 07/12, 11:19 AM UTC | 0.47 h | 7.41 h |
| 244700710 | container | 07/12, 11:17 AM UTC | 2.35 h | — |
| 269057089 | product | 07/12, 11:14 AM UTC | -0.46 h | -52.74 h |
| 244750022 | container | 07/12, 11:14 AM UTC | 0.90 h | -22.47 h |
| 205505590 | product | 07/12, 11:05 AM UTC | 1.44 h | — |
| 248941000 | product | 07/12, 10:58 AM UTC | 1.23 h | -78.98 h |
| 205572690 | container | 07/12, 10:58 AM UTC | -0.10 h | — |
| 247439900 | chemical | 07/12, 10:58 AM UTC | 1.27 h | 24.92 h |
| 211530930 | product | 07/12, 10:55 AM UTC | -0.31 h | — |
| 244750022 | container | 07/12, 10:55 AM UTC | 0.51 h | -22.16 h |
| 244009301 | container | 07/12, 10:54 AM UTC | 0.34 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.