ETA accuracy benchmark · 🇨🇴 Cartagena
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Cartagena, 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)
66.27 h
MAE 13.56 h · 122 voyages
Broadcast ETA (RMSE)
Building…
only 5 comparable voyages so far (need 20)
Gap
—
benchmark builds as more voyages close
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 311000720 | container | 08/26, 09:19 PM UTC | -3.89 h | — |
| 353499000 | container | 08/26, 06:27 PM UTC | -1.61 h | — |
| 563162500 | product | 08/26, 12:25 PM UTC | 5.84 h | — |
| 636026723 | container | 08/26, 07:44 AM UTC | 0.99 h | — |
| 249234000 | general-cargo | 08/26, 05:33 AM UTC | 0.04 h | — |
| 636026151 | container | 08/26, 04:35 AM UTC | 3.56 h | — |
| 356073000 | container | 08/26, 03:44 AM UTC | -7.74 h | — |
| 212419000 | container | 08/26, 12:55 AM UTC | -0.86 h | — |
| 563095600 | container | 08/25, 11:16 PM UTC | -0.85 h | — |
| 229338000 | general-cargo | 08/25, 10:57 PM UTC | 0.02 h | — |
| 256932000 | general-cargo | 08/25, 09:32 PM UTC | 0.72 h | — |
| 636018069 | general-cargo | 08/25, 09:11 PM UTC | 0.45 h | — |
| 538004914 | general-cargo | 08/25, 06:41 PM UTC | -0.95 h | — |
| 636023371 | container | 08/25, 10:21 AM UTC | 0.39 h | -482.62 h |
| 372609000 | container | 08/25, 10:16 AM UTC | 0.42 h | — |
| 563032700 | container | 08/25, 06:34 AM UTC | -1.32 h | — |
| 577753000 | container | 08/24, 06:28 PM UTC | -9.30 h | — |
| 229338000 | general-cargo | 08/24, 05:22 PM UTC | -4.69 h | — |
| 636021142 | container | 08/24, 05:08 PM UTC | 0.05 h | — |
| 229573000 | container | 08/24, 03:51 PM UTC | 0.48 h | — |
| 256852000 | container | 08/24, 03:02 PM UTC | -0.13 h | — |
| 248430000 | container | 08/24, 02:13 PM UTC | -0.84 h | — |
| 636021427 | container | 08/23, 11:48 PM UTC | -0.56 h | — |
| 538009892 | product | 08/23, 11:39 PM UTC | -17.42 h | — |
| 218839000 | general-cargo | 08/23, 11:12 PM UTC | -1.04 h | — |
| 255806298 | container | 08/23, 11:12 PM UTC | -2.06 h | — |
| 255806061 | container | 08/23, 11:09 PM UTC | -18.41 h | — |
| 215648000 | container | 08/23, 11:04 PM UTC | -0.08 h | — |
| 563291400 | container | 08/23, 08:41 PM UTC | 0.61 h | — |
| 248430000 | container | 08/23, 04:55 PM UTC | 1.18 h | — |
| 636026414 | container | 08/23, 05:30 AM UTC | -2.45 h | — |
| 229584000 | general-cargo | 08/23, 01:47 AM UTC | 1.06 h | — |
| 636093082 | container | 08/19, 04:23 AM UTC | 0.65 h | -357.89 h |
| 636023779 | container | 08/19, 01:41 AM UTC | -0.24 h | — |
| 212419000 | container | 08/18, 11:20 PM UTC | -0.18 h | — |
| 352001169 | container | 08/18, 08:16 PM UTC | -28.82 h | — |
| 636024775 | container | 08/18, 05:30 PM UTC | -0.96 h | — |
| 636018365 | container | 08/18, 02:08 PM UTC | -5.14 h | — |
| 229393000 | container | 08/18, 01:51 PM UTC | 0.04 h | — |
| 219534000 | container | 08/18, 11:59 AM UTC | -2.30 h | — |
| 636022973 | general-cargo | 08/18, 10:26 AM UTC | -0.47 h | — |
| 253000165 | container | 08/18, 03:14 AM UTC | -7.89 h | — |
| 477238400 | container | 08/18, 01:47 AM UTC | -1.68 h | — |
| 636024484 | container | 08/17, 05:01 PM UTC | 1.32 h | — |
| 636022953 | container | 08/17, 03:49 PM UTC | -0.46 h | — |
| 563135700 | container | 08/17, 08:36 AM UTC | -472.96 h | — |
| 256849000 | container | 08/17, 08:25 AM UTC | -406.65 h | — |
| 636091130 | container | 08/17, 07:53 AM UTC | -376.89 h | — |
| 305028400 | container | 08/05, 11:36 AM UTC | -1.67 h | — |
| 255980000 | container | 08/05, 11:06 AM UTC | 1.22 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.