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 30 days. We publish the number — good or bad. Lower error is better.
Port Flow predicted ETA (RMSE)
130.70 h
MAE 62.60 h · 183 voyages
Broadcast ETA (RMSE)
54.24 h
crew-declared, 81 voyages (same set)
Gap
141.0 %
higher error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (33 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 |
|---|---|---|---|---|
| 636016204 | container | 07/12, 03:45 AM UTC | 1.19 h | -2.76 h |
| 246788000 | container | 07/12, 03:08 AM UTC | -2.24 h | -165.14 h |
| 305377000 | product | 07/11, 10:14 PM UTC | -0.83 h | — |
| 215622000 | container | 07/11, 07:50 PM UTC | 0.38 h | — |
| 257364000 | chemical | 07/11, 06:55 PM UTC | 0.07 h | -1040.92 h |
| 305012300 | container | 07/11, 02:13 PM UTC | 0.89 h | — |
| 305012300 | container | 07/11, 12:46 PM UTC | -1.55 h | — |
| 257555000 | product | 07/11, 10:10 AM UTC | -0.59 h | — |
| 257555000 | product | 07/11, 08:56 AM UTC | 0.37 h | — |
| 305241000 | container | 07/11, 08:04 AM UTC | 0.77 h | — |
| 305241000 | container | 07/11, 07:29 AM UTC | 1.19 h | -96.50 h |
| 563218100 | product | 07/11, 07:28 AM UTC | 0.25 h | — |
| 636013644 | general-cargo | 07/11, 05:55 AM UTC | -0.43 h | -1084.92 h |
| 255801360 | container | 07/11, 05:13 AM UTC | 0.84 h | — |
| 212814000 | general-cargo | 07/10, 06:07 PM UTC | 1.00 h | -1.12 h |
| 209356000 | product | 07/10, 02:19 PM UTC | -11.83 h | -16.31 h |
| 244615976 | container | 07/10, 01:37 PM UTC | -0.56 h | — |
| 538007200 | container | 07/10, 11:30 AM UTC | -0.46 h | -6.51 h |
| 255917331 | product | 07/10, 07:18 AM UTC | -2.45 h | — |
| 215622000 | container | 07/09, 09:34 PM UTC | 0.46 h | — |
| 215622000 | container | 07/09, 08:32 PM UTC | 0.44 h | -0.54 h |
| 563218100 | product | 07/09, 05:35 PM UTC | -0.28 h | -4.59 h |
| 563218100 | product | 07/09, 04:22 PM UTC | 0.28 h | -3.37 h |
| 249498000 | product | 07/09, 03:00 PM UTC | 0.56 h | — |
| 538005799 | product | 07/09, 02:43 PM UTC | 0.04 h | — |
| 305929000 | container | 07/09, 02:39 PM UTC | 0.18 h | 2.35 h |
| 215188000 | container | 07/09, 02:38 PM UTC | 1.29 h | 4.86 h |
| 249498000 | product | 07/09, 01:47 PM UTC | 0.74 h | -77.79 h |
| 538005799 | product | 07/09, 01:19 PM UTC | -0.36 h | -201.33 h |
| 538012063 | product | 07/09, 12:04 PM UTC | 0.60 h | 2.92 h |
| 229245000 | container | 07/09, 11:07 AM UTC | 0.91 h | -6.12 h |
| 229245000 | container | 07/09, 10:26 AM UTC | 0.66 h | -5.44 h |
| 371638000 | container | 07/09, 09:44 AM UTC | -0.02 h | -11.74 h |
| 244562000 | container | 07/09, 09:01 AM UTC | -19.70 h | -162.03 h |
| 371638000 | container | 07/09, 08:23 AM UTC | 0.98 h | -10.38 h |
| 304134000 | container | 07/09, 07:30 AM UTC | 9.71 h | — |
| 209671000 | container | 07/09, 07:03 AM UTC | -12.79 h | -109.06 h |
| 215188000 | container | 07/09, 06:56 AM UTC | -279.67 h | -250.94 h |
| 563195800 | chemical | 07/09, 06:55 AM UTC | 0.42 h | — |
| 250005981 | container | 07/09, 06:20 AM UTC | -1.68 h | — |
| 241919000 | container | 07/09, 03:27 AM UTC | -0.70 h | — |
| 538006497 | chemical | 07/08, 11:44 PM UTC | -0.20 h | — |
| 538006497 | chemical | 07/07, 11:47 PM UTC | -9.49 h | -33.79 h |
| 244781000 | container | 07/07, 09:23 PM UTC | -4.48 h | — |
| 538006497 | chemical | 07/07, 12:47 PM UTC | -0.13 h | -22.79 h |
| 255806267 | container | 07/07, 12:39 PM UTC | 2.36 h | -271.16 h |
| 265063000 | product | 07/07, 11:24 AM UTC | 0.32 h | -18.90 h |
| 265063000 | product | 07/07, 10:34 AM UTC | -0.36 h | -18.08 h |
| 205246090 | container | 07/07, 09:17 AM UTC | -0.64 h | — |
| 305929000 | container | 07/07, 09:11 AM UTC | 0.35 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.