ETA accuracy benchmark · 🇳🇱 Rotterdam
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Rotterdam, 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)
5.26 h
MAE 3.62 h · 986 voyages
Broadcast ETA (RMSE)
60.38 h
crew-declared, 440 voyages (same set)
Our advantage
91.3 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (276 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 244730042 | container | 11/14, 02:25 PM UTC | -0.18 h | — |
| 244620511 | container | 11/14, 02:25 PM UTC | 0.35 h | -566.43 h |
| 211572680 | product | 11/14, 02:25 PM UTC | 4.72 h | -1009.93 h |
| 244710710 | product | 11/14, 02:23 PM UTC | 1.31 h | -1397.74 h |
| 244780450 | container | 11/14, 02:22 PM UTC | 15.23 h | — |
| 244660419 | product | 11/14, 02:19 PM UTC | 1.38 h | -20.33 h |
| 205569190 | container | 11/14, 02:19 PM UTC | 1.06 h | 6987.67 h |
| 244020144 | container | 11/14, 02:18 PM UTC | 1.45 h | — |
| 244810900 | container | 11/14, 02:17 PM UTC | 2.45 h | 647.03 h |
| 244087055 | product | 11/14, 02:17 PM UTC | 1.86 h | -106.45 h |
| 244650900 | container | 11/14, 02:17 PM UTC | 1.20 h | -34.06 h |
| 244050207 | container | 11/14, 02:16 PM UTC | 0.77 h | -12.76 h |
| 255806226 | product | 11/14, 02:13 PM UTC | 1.74 h | -171.23 h |
| 244397268 | product | 11/14, 02:13 PM UTC | 1.02 h | -128.21 h |
| 244012151 | container | 11/14, 02:10 PM UTC | 1.41 h | — |
| 244125138 | container | 11/14, 02:09 PM UTC | 5.75 h | — |
| 244660532 | container | 11/14, 02:09 PM UTC | 1.49 h | -32.61 h |
| 244690697 | container | 11/14, 02:08 PM UTC | 0.84 h | -376.01 h |
| 244005969 | product | 11/14, 02:07 PM UTC | 4.62 h | -22.74 h |
| 244780024 | container | 11/14, 02:06 PM UTC | 5.47 h | — |
| 244078754 | container | 11/14, 02:06 PM UTC | 4.28 h | — |
| 636026417 | container | 11/14, 02:04 PM UTC | 3.20 h | -154.58 h |
| 244630697 | container | 11/14, 02:03 PM UTC | 0.18 h | -20.68 h |
| 244078754 | container | 11/14, 01:55 PM UTC | 6.43 h | -600.06 h |
| 244690223 | product | 11/14, 01:54 PM UTC | 1.34 h | -108.26 h |
| 244012151 | container | 11/14, 01:53 PM UTC | 3.10 h | 5224.10 h |
| 244190323 | product | 11/14, 01:53 PM UTC | 1.63 h | -908.48 h |
| 244730485 | product | 11/14, 01:53 PM UTC | 1.05 h | -23.80 h |
| 205549290 | lng | 11/14, 01:51 PM UTC | 5.65 h | -670.55 h |
| 244710549 | product | 11/14, 01:51 PM UTC | 0.91 h | -170.73 h |
| 244660111 | product | 11/14, 01:51 PM UTC | 2.06 h | -251.95 h |
| 244750786 | container | 11/14, 01:40 PM UTC | 3.14 h | -193.51 h |
| 244690168 | container | 11/14, 01:40 PM UTC | 0.59 h | -32.71 h |
| 244010927 | container | 11/14, 01:40 PM UTC | 0.26 h | -11.39 h |
| 244125138 | container | 11/14, 01:39 PM UTC | 5.34 h | — |
| 244700498 | product | 11/14, 01:38 PM UTC | 5.78 h | -130.52 h |
| 244020518 | container | 11/14, 01:37 PM UTC | 0.68 h | — |
| 244710971 | container | 11/14, 01:37 PM UTC | 0.60 h | 6050.84 h |
| 244670114 | container | 11/14, 01:37 PM UTC | 6.07 h | -260.92 h |
| 244740814 | container | 11/14, 01:36 PM UTC | 2.23 h | 3504.39 h |
| 244010910 | container | 11/14, 01:30 PM UTC | 2.23 h | — |
| 244620511 | container | 11/14, 01:29 PM UTC | 0.59 h | -565.49 h |
| 244670113 | container | 11/14, 01:29 PM UTC | 2.09 h | 3826.51 h |
| 244078754 | container | 11/14, 01:23 PM UTC | 5.47 h | — |
| 205595190 | container | 11/14, 01:21 PM UTC | 3.79 h | -199.36 h |
| 244630027 | product | 11/14, 01:19 PM UTC | 1.05 h | — |
| 244620953 | product | 11/14, 01:17 PM UTC | 1.37 h | -979.30 h |
| 244003138 | product | 11/14, 01:13 PM UTC | 1.00 h | -56.23 h |
| 244700039 | container | 11/14, 01:12 PM UTC | 3.78 h | 2570.54 h |
| 211689390 | container | 11/14, 01:11 PM UTC | 5.89 h | 3774.81 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.