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 7 days. We publish the number — good or bad. Lower error is better.
Port Flow predicted ETA (RMSE)
4.50 h
MAE 3.23 h · 988 voyages
Broadcast ETA (RMSE)
60.39 h
crew-declared, 469 voyages (same set)
Our advantage
92.5 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (264 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 244370856 | product | 11/15, 03:08 PM UTC | 6.33 h | -30.73 h |
| 269057004 | product | 11/15, 03:03 PM UTC | 2.20 h | -3.58 h |
| 244630131 | container | 11/15, 03:02 PM UTC | 2.29 h | -20.54 h |
| 205546090 | container | 11/15, 03:01 PM UTC | 2.65 h | -48.16 h |
| 636026417 | container | 11/15, 03:01 PM UTC | 2.26 h | -3.02 h |
| 244700312 | container | 11/15, 02:59 PM UTC | 0.28 h | 1.01 h |
| 244715300 | product | 11/15, 02:57 PM UTC | 6.73 h | -27.74 h |
| 244710513 | container | 11/15, 02:54 PM UTC | 3.06 h | -407.90 h |
| 244620869 | product | 11/15, 02:51 PM UTC | 10.33 h | — |
| 244710352 | product | 11/15, 02:51 PM UTC | -1.77 h | -51.32 h |
| 244740814 | container | 11/15, 02:50 PM UTC | 3.08 h | 3479.17 h |
| 538005401 | product | 11/15, 02:48 PM UTC | -0.23 h | -405.81 h |
| 244700651 | product | 11/15, 02:40 PM UTC | 0.75 h | — |
| 244001040 | product | 11/15, 02:38 PM UTC | 6.77 h | -15.64 h |
| 244620869 | product | 11/15, 02:36 PM UTC | 5.01 h | -99.18 h |
| 205435990 | product | 11/15, 02:36 PM UTC | -0.34 h | -31.44 h |
| 244029535 | product | 11/15, 02:32 PM UTC | -82.02 h | -337.41 h |
| 244078754 | container | 11/15, 02:32 PM UTC | 3.55 h | -624.67 h |
| 244003614 | container | 11/15, 02:31 PM UTC | 1.11 h | 1233.48 h |
| 244750303 | product | 11/15, 02:30 PM UTC | 10.71 h | — |
| 244700045 | product | 11/15, 02:28 PM UTC | 7.21 h | -8.95 h |
| 269057204 | product | 11/15, 02:27 PM UTC | 7.08 h | -122.18 h |
| 244710513 | container | 11/15, 02:25 PM UTC | 4.11 h | — |
| 244670293 | product | 11/15, 02:23 PM UTC | -0.01 h | — |
| 244620955 | container | 11/15, 02:23 PM UTC | 3.80 h | -27.30 h |
| 244710869 | product | 11/15, 02:22 PM UTC | 11.39 h | — |
| 269057015 | product | 11/15, 02:19 PM UTC | 5.43 h | -16.63 h |
| 244830609 | product | 11/15, 02:19 PM UTC | 7.34 h | -26.21 h |
| 244094246 | product | 11/15, 02:17 PM UTC | 5.37 h | -33.74 h |
| 244670103 | product | 11/15, 02:13 PM UTC | 3.09 h | -235.81 h |
| 636020349 | container | 11/15, 02:11 PM UTC | 1.45 h | -2.44 h |
| 205561490 | container | 11/15, 02:10 PM UTC | 6.09 h | 2419.83 h |
| 244660704 | container | 11/15, 02:10 PM UTC | 12.89 h | -380.17 h |
| 235089046 | chemical | 11/15, 02:04 PM UTC | 2.94 h | -154.07 h |
| 244029412 | product | 11/15, 01:59 PM UTC | 5.49 h | — |
| 211520770 | product | 11/15, 01:58 PM UTC | 10.71 h | — |
| 244690367 | product | 11/15, 01:57 PM UTC | 0.06 h | — |
| 244710513 | container | 11/15, 01:55 PM UTC | 4.02 h | -406.93 h |
| 211517290 | product | 11/15, 01:45 PM UTC | 0.47 h | — |
| 244670357 | product | 11/15, 01:41 PM UTC | -1.38 h | -38.49 h |
| 244003138 | product | 11/15, 01:41 PM UTC | -1.87 h | -80.69 h |
| 244700312 | container | 11/15, 01:39 PM UTC | 0.70 h | -21.66 h |
| 243042837 | container | 11/15, 01:38 PM UTC | 2.22 h | -956.13 h |
| 244740148 | container | 11/15, 01:38 PM UTC | 0.34 h | -25.06 h |
| 205471190 | product | 11/15, 01:37 PM UTC | 2.01 h | -0.13 h |
| 244660111 | product | 11/15, 01:36 PM UTC | 0.81 h | -275.71 h |
| 244700697 | container | 11/15, 01:34 PM UTC | 11.25 h | -210.40 h |
| 244650105 | container | 11/15, 01:34 PM UTC | 3.69 h | -53.57 h |
| 244670779 | product | 11/15, 01:28 PM UTC | 6.37 h | — |
| 244670113 | container | 11/15, 01:27 PM UTC | 2.26 h | 3802.54 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.