ETA accuracy benchmark · 🇫🇷 Saint-Nazaire / Montoir
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Saint-Nazaire / Montoir, 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)
18.50 h
MAE 20.91 h · 382 voyages
Broadcast ETA (RMSE)
69.44 h
crew-declared, 230 voyages (same set)
Our advantage
73.4 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (111 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 228020700 | container | 08/26, 03:59 PM UTC | 0.68 h | 5.50 h |
| 636025212 | general-cargo | 08/26, 11:02 AM UTC | 0.07 h | -1177.04 h |
| 228025700 | container | 08/26, 07:37 AM UTC | 0.46 h | -1.37 h |
| 304473000 | container | 08/26, 03:53 AM UTC | 0.14 h | -1.89 h |
| 250001723 | container | 08/26, 02:50 AM UTC | 2.44 h | -20.85 h |
| 255954000 | product | 08/26, 01:51 AM UTC | 0.53 h | 27.15 h |
| 244909000 | container | 08/26, 12:46 AM UTC | -0.13 h | — |
| 249435000 | product | 08/25, 10:07 PM UTC | 2.11 h | -314.12 h |
| 244909000 | container | 08/25, 08:12 PM UTC | -0.29 h | — |
| 224876000 | container | 08/25, 07:56 PM UTC | 0.08 h | -128.94 h |
| 244909000 | container | 08/25, 05:29 PM UTC | -0.39 h | — |
| 228024800 | container | 08/25, 03:55 PM UTC | 1.46 h | 3080.08 h |
| 636021944 | product | 08/25, 02:10 PM UTC | -0.96 h | -144.18 h |
| 244909000 | container | 08/25, 12:05 PM UTC | 0.04 h | — |
| 538006120 | product | 08/25, 03:22 AM UTC | 3.25 h | -47.17 h |
| 229767000 | product | 08/25, 01:18 AM UTC | -0.15 h | -3.31 h |
| 255954000 | chemical | 08/24, 03:13 PM UTC | 0.50 h | -2.72 h |
| 256579000 | general-cargo | 08/24, 11:04 AM UTC | 0.58 h | -0.07 h |
| 304509000 | container | 08/24, 08:24 AM UTC | 0.76 h | -3.92 h |
| 266002000 | product | 08/24, 08:24 AM UTC | 1.97 h | -464.39 h |
| 228024800 | container | 08/23, 03:37 PM UTC | 0.47 h | -144.88 h |
| 538005645 | product | 08/23, 01:36 PM UTC | 0.51 h | -11.60 h |
| 255916071 | container | 08/23, 11:37 AM UTC | 2.04 h | -112.62 h |
| 226340000 | product | 08/23, 01:37 AM UTC | 1.08 h | -183.62 h |
| 218627000 | general-cargo | 08/22, 07:05 PM UTC | -0.17 h | -458.58 h |
| 636026247 | container | 08/22, 05:24 PM UTC | 0.60 h | -77.41 h |
| 215994000 | product | 08/22, 02:42 PM UTC | -94.43 h | -116.70 h |
| 227681520 | product | 08/22, 02:40 PM UTC | -104.78 h | -100.17 h |
| 229632000 | product | 08/22, 02:40 PM UTC | -963.48 h | -919.67 h |
| 228020700 | container | 08/22, 02:37 PM UTC | -739.54 h | -390.62 h |
| 224876000 | container | 08/18, 07:55 PM UTC | 0.44 h | -541.93 h |
| 538007530 | container | 08/18, 07:48 PM UTC | 1.05 h | -0.55 h |
| 353539000 | container | 08/18, 06:36 PM UTC | 1.74 h | -9.61 h |
| 538005094 | product | 08/18, 05:35 PM UTC | 2.12 h | -71.59 h |
| 266457000 | product | 08/18, 03:34 PM UTC | -0.48 h | -620.57 h |
| 256765000 | product | 08/18, 03:08 AM UTC | -0.34 h | -795.14 h |
| 228024800 | container | 08/17, 09:28 PM UTC | 0.64 h | -370.47 h |
| 255916315 | product | 08/17, 09:12 PM UTC | -361.00 h | -358.21 h |
| 226344000 | product | 08/17, 06:26 PM UTC | 0.74 h | -464.44 h |
| 215994000 | product | 08/17, 05:53 PM UTC | 0.36 h | 0.11 h |
| 226340000 | product | 08/17, 01:37 PM UTC | 3.04 h | -51.62 h |
| 227681520 | product | 08/17, 12:57 PM UTC | -294.23 h | -290.96 h |
| 249435000 | product | 08/17, 08:12 AM UTC | -373.85 h | -290.21 h |
| 228084000 | container | 08/05, 05:03 AM UTC | 0.78 h | -357.06 h |
| 255915690 | product | 08/05, 02:11 AM UTC | 0.76 h | -1750.19 h |
| 226340000 | product | 08/04, 08:14 PM UTC | 2.10 h | -85.75 h |
| 256784000 | product | 08/04, 08:06 PM UTC | 0.31 h | -1805.11 h |
| 229259000 | product | 08/04, 07:46 PM UTC | -0.99 h | -29.77 h |
| 227022600 | container | 08/03, 10:17 PM UTC | 0.22 h | — |
| 229447000 | chemical | 08/03, 07:24 PM UTC | 0.32 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.