ETA accuracy benchmark · 🇫🇷 Dunkerque
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Dunkerque, measured on closed voyages over the last 90 days. We publish the number — good or bad. Lower error is better.
Port Flow predicted ETA (RMSE)
149.22 h
MAE 65.09 h · 410 voyages
Broadcast ETA (RMSE)
53.70 h
crew-declared, 164 voyages (same set)
Gap
177.9 %
higher error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (68 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 538004750 | container | 08/26, 11:36 PM UTC | -0.67 h | -1784.61 h |
| 215231000 | container | 08/26, 08:45 PM UTC | -0.22 h | — |
| 538007272 | container | 08/26, 07:53 PM UTC | 0.80 h | 116.60 h |
| 215231000 | container | 08/26, 07:45 PM UTC | -0.94 h | — |
| 636024984 | product | 08/26, 07:39 PM UTC | -12.50 h | — |
| 636023293 | container | 08/26, 04:40 AM UTC | -1207.59 h | -1196.67 h |
| 255915695 | container | 08/25, 07:34 PM UTC | -12.33 h | -1025.57 h |
| 246788000 | container | 08/25, 01:07 AM UTC | -2.63 h | — |
| 246788000 | container | 08/24, 07:21 PM UTC | -23.08 h | — |
| 248758000 | container | 08/24, 01:29 AM UTC | -27.33 h | -1494.49 h |
| 244830183 | product | 08/23, 03:41 AM UTC | -706.05 h | -702.70 h |
| 246788000 | container | 08/18, 07:17 PM UTC | -14.18 h | -12.79 h |
| 246788000 | container | 08/18, 04:00 AM UTC | 0.82 h | 2.49 h |
| 250005981 | container | 08/18, 12:24 AM UTC | -886.04 h | -872.40 h |
| 538008706 | product | 08/17, 10:14 PM UTC | -0.20 h | — |
| 244730944 | container | 08/17, 06:29 PM UTC | -402.90 h | -294.99 h |
| 205239000 | container | 08/17, 05:20 PM UTC | -1164.55 h | -1148.35 h |
| 636023303 | container | 08/04, 03:57 PM UTC | -0.07 h | -944.96 h |
| 246788000 | container | 08/04, 01:50 PM UTC | -0.21 h | 0.17 h |
| 246788000 | container | 08/04, 01:08 PM UTC | -0.10 h | — |
| 352005487 | product | 08/04, 10:15 AM UTC | -1.85 h | -673.26 h |
| 636026374 | container | 08/04, 05:22 AM UTC | 0.41 h | -13.38 h |
| 538007655 | container | 08/04, 03:31 AM UTC | 0.83 h | — |
| 636022162 | chemical | 08/04, 01:31 AM UTC | 0.26 h | — |
| 255806267 | general-cargo | 08/04, 12:57 AM UTC | 1.47 h | -40.46 h |
| 636022162 | chemical | 08/04, 12:18 AM UTC | 0.03 h | -3.30 h |
| 244830182 | product | 08/03, 11:31 PM UTC | 0.72 h | 2.98 h |
| 215712000 | product | 08/03, 08:22 PM UTC | 0.81 h | 19.63 h |
| 210889000 | container | 08/03, 08:07 PM UTC | -0.61 h | -3.12 h |
| 210889000 | container | 08/03, 07:02 PM UTC | 0.43 h | -2.04 h |
| 246878000 | product | 08/03, 06:28 PM UTC | 1.55 h | -85.48 h |
| 266420000 | product | 08/03, 05:49 PM UTC | 0.68 h | -2.83 h |
| 246498000 | container | 08/03, 05:12 PM UTC | 0.94 h | — |
| 226012360 | container | 08/03, 05:12 PM UTC | -0.66 h | — |
| 245085000 | container | 08/03, 05:02 PM UTC | 0.95 h | -17.04 h |
| 275334000 | container | 08/03, 04:42 PM UTC | 0.14 h | — |
| 266420000 | product | 08/03, 04:30 PM UTC | 1.29 h | -428.51 h |
| 245085000 | container | 08/03, 03:56 PM UTC | 0.90 h | -15.95 h |
| 246498000 | container | 08/03, 03:53 PM UTC | -10.51 h | -7.90 h |
| 255806439 | container | 08/03, 03:10 PM UTC | 0.14 h | — |
| 215188000 | container | 08/03, 02:45 PM UTC | 1.24 h | 4.74 h |
| 245302000 | container | 08/03, 01:17 PM UTC | 0.55 h | 2.71 h |
| 255915601 | container | 08/03, 12:25 PM UTC | -2.58 h | — |
| 244830182 | product | 08/03, 12:17 PM UTC | -8.58 h | — |
| 255806464 | container | 08/03, 04:52 AM UTC | 0.12 h | -2.87 h |
| 244830182 | product | 08/03, 03:12 AM UTC | 0.49 h | -44.21 h |
| 249223000 | product | 08/02, 08:32 PM UTC | 0.06 h | -1413.54 h |
| 636021594 | container | 08/02, 06:23 PM UTC | 0.07 h | -4.89 h |
| 636021594 | container | 08/02, 04:48 PM UTC | 1.26 h | -3.31 h |
| 255806439 | container | 08/02, 12:29 PM UTC | -0.07 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.