ETA accuracy benchmark · 🇰🇷 Busan
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Busan, 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)
14.78 h
MAE 4.84 h · 983 voyages
Broadcast ETA (RMSE)
88.28 h
crew-declared, 161 voyages (same set)
Our advantage
83.3 %
lower error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (270 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 |
|---|---|---|---|---|
| 440035420 | product | 07/12, 09:40 AM UTC | 0.14 h | — |
| 440153850 | product | 07/12, 08:49 AM UTC | 0.68 h | — |
| 440035420 | product | 07/12, 08:47 AM UTC | 1.03 h | — |
| 440400900 | product | 07/12, 08:07 AM UTC | -0.57 h | 7276.87 h |
| 440302730 | product | 07/12, 07:54 AM UTC | 0.41 h | — |
| 620800252 | container | 07/12, 07:27 AM UTC | -122.50 h | -174.96 h |
| 440155350 | product | 07/12, 07:25 AM UTC | -0.44 h | 2931.75 h |
| 440191790 | product | 07/12, 07:20 AM UTC | 0.38 h | — |
| 440505620 | product | 07/12, 07:18 AM UTC | 0.80 h | — |
| 440191190 | product | 07/12, 06:39 AM UTC | 1.59 h | — |
| 352005382 | container | 07/12, 05:45 AM UTC | 1.31 h | 7.25 h |
| 441654000 | container | 07/12, 05:38 AM UTC | -7.92 h | -72.64 h |
| 440053750 | product | 07/12, 05:34 AM UTC | 0.78 h | -920.58 h |
| 538010061 | container | 07/12, 05:06 AM UTC | -0.75 h | -148.60 h |
| 563158200 | container | 07/12, 05:02 AM UTC | 0.89 h | -237.04 h |
| 440152720 | product | 07/12, 04:57 AM UTC | 0.01 h | — |
| 440103970 | product | 07/12, 04:56 AM UTC | 0.88 h | — |
| 440135730 | product | 07/12, 04:51 AM UTC | 0.17 h | 5539.48 h |
| 441973000 | container | 07/12, 04:39 AM UTC | 0.23 h | -159.66 h |
| 440178690 | product | 07/12, 04:19 AM UTC | 1.43 h | — |
| 440156960 | product | 07/12, 04:16 AM UTC | 0.36 h | — |
| 440401790 | product | 07/12, 04:10 AM UTC | 0.63 h | -2.67 h |
| 440178690 | product | 07/12, 04:02 AM UTC | 0.46 h | — |
| 440316150 | product | 07/12, 04:02 AM UTC | 0.18 h | 4903.96 h |
| 440505620 | product | 07/12, 03:43 AM UTC | 0.01 h | — |
| 538010784 | general-cargo | 07/12, 03:35 AM UTC | 0.98 h | -366.60 h |
| 440112380 | product | 07/12, 03:13 AM UTC | 0.86 h | 4148.77 h |
| 440152720 | product | 07/12, 03:10 AM UTC | 0.33 h | — |
| 440103440 | container | 07/12, 02:49 AM UTC | 0.99 h | 7217.17 h |
| 440156960 | product | 07/12, 02:34 AM UTC | 0.45 h | — |
| 440507780 | product | 07/12, 02:09 AM UTC | 1.01 h | — |
| 440151030 | product | 07/12, 02:00 AM UTC | 1.16 h | — |
| 440191790 | product | 07/12, 01:50 AM UTC | 0.24 h | — |
| 440135730 | product | 07/12, 01:48 AM UTC | -47.69 h | 5542.52 h |
| 440505620 | product | 07/12, 01:46 AM UTC | 0.10 h | — |
| 440395000 | container | 07/12, 01:45 AM UTC | 1.99 h | -864.26 h |
| 440035420 | product | 07/12, 01:37 AM UTC | 0.45 h | — |
| 440134270 | product | 07/12, 01:28 AM UTC | 0.05 h | — |
| 440120270 | product | 07/12, 01:15 AM UTC | 0.35 h | 2398.24 h |
| 440103700 | product | 07/12, 01:11 AM UTC | 0.08 h | 3250.82 h |
| 440883000 | container | 07/12, 01:00 AM UTC | 1.45 h | — |
| 440220160 | product | 07/12, 12:59 AM UTC | 0.73 h | — |
| 440114920 | product | 07/12, 12:26 AM UTC | 0.44 h | — |
| 440132370 | product | 07/12, 12:16 AM UTC | 0.28 h | — |
| 440051760 | product | 07/12, 12:10 AM UTC | 0.36 h | -164.17 h |
| 440114920 | product | 07/12, 12:04 AM UTC | -0.92 h | — |
| 620800061 | container | 07/12, 12:03 AM UTC | -16.25 h | -269.06 h |
| 440151030 | product | 07/11, 11:54 PM UTC | 0.99 h | — |
| 352002269 | container | 07/11, 11:38 PM UTC | 0.82 h | -121.64 h |
| 352001639 | container | 07/11, 11:35 PM UTC | 0.87 h | -136.59 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.