ETA accuracy benchmark · 🇿🇦 Durban
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Durban, 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)
38.75 h
MAE 19.18 h · 37 voyages
Broadcast ETA (RMSE)
64.68 h
crew-declared, 22 voyages (same set)
Our advantage
40.1 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (15 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 636019592 | container | 10/12, 03:07 AM UTC | -86.39 h | -89.13 h |
| 419002143 | product | 10/12, 12:01 AM UTC | -93.84 h | -95.02 h |
| 412271000 | container | 10/11, 01:46 PM UTC | -26.69 h | -35.28 h |
| 563062300 | container | 10/11, 10:37 AM UTC | -1.11 h | -1419.63 h |
| 538012555 | product | 10/11, 09:39 AM UTC | -58.17 h | -138.66 h |
| 538012783 | container | 10/11, 08:50 AM UTC | -3.20 h | -18.34 h |
| 563125800 | product | 10/10, 06:02 PM UTC | 3.52 h | -22.54 h |
| 538009667 | container | 10/10, 02:25 PM UTC | -68.98 h | -103.43 h |
| 477004600 | general-cargo | 10/10, 08:09 AM UTC | 3.46 h | -465.15 h |
| 636026424 | container | 10/10, 07:51 AM UTC | 1.35 h | -27.86 h |
| 538006970 | container | 10/10, 06:54 AM UTC | -1.90 h | -1906.91 h |
| 431651000 | container | 10/09, 01:16 PM UTC | -16.10 h | -2121.27 h |
| 210881000 | container | 10/09, 03:43 AM UTC | -7.19 h | -16.19 h |
| 636016360 | chemical | 10/09, 01:03 AM UTC | -23.16 h | -61.06 h |
| 636019592 | container | 10/08, 10:42 AM UTC | 2.72 h | -0.71 h |
| 355911000 | container | 10/08, 09:34 AM UTC | -16.06 h | -35.58 h |
| 351934000 | container | 10/08, 09:32 AM UTC | 0.06 h | -1717.05 h |
| 563344700 | product | 10/08, 07:00 AM UTC | -9.51 h | -100.00 h |
| 241048000 | container | 10/08, 06:15 AM UTC | -9.56 h | -340.26 h |
| 538012314 | product | 10/08, 01:03 AM UTC | -41.60 h | -81.22 h |
| 563344700 | product | 10/07, 06:22 PM UTC | 5.38 h | -87.38 h |
| 355989000 | container | 10/07, 02:16 PM UTC | -0.58 h | -1590.28 h |
| 636015463 | container | 10/06, 10:03 AM UTC | -2.53 h | -249.56 h |
| 636018401 | product | 10/06, 08:06 AM UTC | 6.31 h | -44.12 h |
| 538012143 | container | 10/06, 06:50 AM UTC | 4.27 h | -278.84 h |
| 636020349 | container | 10/06, 06:26 AM UTC | -6.32 h | -282.44 h |
| 538009667 | container | 10/06, 05:24 AM UTC | 3.19 h | -609.42 h |
| 538012143 | container | 10/06, 05:16 AM UTC | 0.68 h | -277.28 h |
| 636024633 | container | 10/05, 06:55 PM UTC | 3.42 h | -0.92 h |
| 352004813 | product | 10/05, 04:15 PM UTC | 4.18 h | -490.76 h |
| 563241700 | container | 10/05, 02:37 PM UTC | -0.92 h | -3.62 h |
| 636018401 | product | 10/05, 12:01 PM UTC | 6.61 h | -24.02 h |
| 244559000 | container | 10/05, 11:19 AM UTC | -1.72 h | -8.33 h |
| 636018401 | product | 10/05, 11:13 AM UTC | 5.11 h | -23.22 h |
| 538009584 | product | 10/05, 10:54 AM UTC | 2.44 h | -578.91 h |
| 311000663 | container | 10/05, 10:42 AM UTC | -71.18 h | -98.20 h |
| 373121000 | container | 10/05, 08:25 AM UTC | -110.12 h | -284.43 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.