ETA accuracy benchmark · 🇬🇧 Felixstowe
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Felixstowe, 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)
0.37 h
MAE 0.95 h · 27 voyages
Broadcast ETA (RMSE)
54.29 h
crew-declared, 20 voyages (same set)
Our advantage
99.3 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (5 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 220284000 | container | 08/26, 09:25 PM UTC | -0.22 h | -11.76 h |
| 416071000 | container | 08/26, 08:53 PM UTC | -0.20 h | -1858.39 h |
| 230925000 | container | 08/26, 05:28 PM UTC | 0.29 h | -11.98 h |
| 277574000 | general-cargo | 08/26, 02:09 PM UTC | -0.02 h | -12.40 h |
| 304081008 | container | 08/26, 12:16 PM UTC | -19.27 h | — |
| 636021992 | container | 08/26, 04:06 AM UTC | -0.24 h | -1369.11 h |
| 266248000 | container | 08/26, 02:55 AM UTC | 0.12 h | -11.92 h |
| 277548000 | general-cargo | 08/26, 02:52 AM UTC | -0.09 h | -10.88 h |
| 636022443 | container | 08/25, 09:39 PM UTC | 0.10 h | -3.66 h |
| 220284000 | container | 08/25, 09:01 PM UTC | -0.24 h | -11.36 h |
| 230925000 | container | 08/25, 05:17 PM UTC | 1.00 h | -11.79 h |
| 304081008 | container | 08/25, 04:41 PM UTC | 0.28 h | -103.69 h |
| 277574000 | general-cargo | 08/25, 02:10 PM UTC | -0.07 h | -12.42 h |
| 266248000 | container | 08/25, 02:58 AM UTC | 0.42 h | -21.47 h |
| 277548000 | general-cargo | 08/25, 02:53 AM UTC | -0.16 h | -145.14 h |
| 304081008 | container | 08/25, 01:32 AM UTC | 0.45 h | — |
| 220284000 | container | 08/24, 09:06 PM UTC | -0.09 h | -15.95 h |
| 636022451 | container | 08/24, 09:11 AM UTC | 0.04 h | -1.20 h |
| 563333300 | container | 08/24, 05:32 AM UTC | -0.34 h | -2.53 h |
| 230925000 | container | 08/24, 02:55 AM UTC | 0.94 h | -117.43 h |
| 277574000 | general-cargo | 08/23, 09:17 PM UTC | -0.08 h | -14.78 h |
| 304081008 | container | 08/23, 09:14 PM UTC | -0.45 h | -60.24 h |
| 311001150 | container | 08/23, 04:56 PM UTC | -0.01 h | -2167.69 h |
| 255915962 | container | 08/23, 12:45 PM UTC | 0.02 h | -590.76 h |
| 305844000 | container | 08/23, 07:32 AM UTC | 0.53 h | -2066.54 h |
| 220284000 | container | 08/22, 09:25 PM UTC | 0.03 h | -83.75 h |
| 255917255 | container | 08/22, 08:07 PM UTC | -0.04 h | -25.12 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.