ETA accuracy benchmark · 🇯🇵 Yokohama / Tokyo Bay
How Port Flow's predicted ETA compares to each vessel's own broadcast ETA at Yokohama / Tokyo Bay, 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)
180.65 h
MAE 32.30 h · 361 voyages
Broadcast ETA (RMSE)
46.94 h
crew-declared, 198 voyages (same set)
Gap
284.8 %
higher error than the broadcast ETA
Broadcast ETAs more than 7 days from the actual arrival are excluded as AIS sentinel / placeholder values (113 excluded). Both figures are computed on the same remaining voyage set — apples to apples.
Closed voyages
error = predicted/broadcast minus actual arrival (hours)| 431007495 | general-cargo | 08/27, 12:09 AM UTC | -1.67 h | — |
| 431003751 | product | 08/27, 12:06 AM UTC | 2.93 h | -7.10 h |
| 431000527 | container | 08/26, 11:37 PM UTC | 1.69 h | -4.62 h |
| 431100969 | product | 08/26, 11:36 PM UTC | 1.28 h | -220.61 h |
| 431001071 | product | 08/26, 11:31 PM UTC | -1.07 h | -7.52 h |
| 431000986 | container | 08/26, 11:25 PM UTC | 1.23 h | -1039.92 h |
| 431009113 | container | 08/26, 11:20 PM UTC | -2.30 h | -7.35 h |
| 431006049 | container | 08/26, 11:20 PM UTC | 1.41 h | -91.35 h |
| 431501791 | container | 08/26, 11:09 PM UTC | -2.29 h | -15.16 h |
| 431009317 | container | 08/26, 11:09 PM UTC | 1.96 h | — |
| 431000892 | container | 08/26, 11:03 PM UTC | 1.60 h | 9.20 h |
| 370439000 | container | 08/26, 10:56 PM UTC | -1.82 h | -1.45 h |
| 431006191 | container | 08/26, 10:56 PM UTC | 1.85 h | -4.94 h |
| 431003435 | product | 08/26, 10:53 PM UTC | 4.31 h | -934.39 h |
| 431600889 | container | 08/26, 10:43 PM UTC | 2.84 h | — |
| 431017908 | product | 08/26, 10:40 PM UTC | -0.11 h | -14.35 h |
| 636026213 | container | 08/26, 10:39 PM UTC | 1.87 h | -2.91 h |
| 431030176 | container | 08/26, 10:39 PM UTC | 13.68 h | -1037.65 h |
| 477006600 | general-cargo | 08/26, 10:22 PM UTC | -0.10 h | -141.37 h |
| 477089200 | container | 08/26, 10:21 PM UTC | -1.69 h | -645.36 h |
| 353514000 | container | 08/26, 10:12 PM UTC | -0.89 h | -2.37 h |
| 563152700 | general-cargo | 08/26, 10:04 PM UTC | -1.84 h | -186.58 h |
| 477124800 | general-cargo | 08/26, 10:04 PM UTC | -1.10 h | -587.07 h |
| 431011131 | container | 08/26, 10:03 PM UTC | -1.38 h | -162.06 h |
| 431024139 | container | 08/26, 09:51 PM UTC | 0.59 h | 9.14 h |
| 431005216 | product | 08/26, 09:46 PM UTC | 0.71 h | -647.28 h |
| 431001006 | product | 08/26, 09:45 PM UTC | -19.91 h | -69.59 h |
| 247080200 | container | 08/26, 09:39 PM UTC | 0.70 h | -1775.66 h |
| 477272800 | general-cargo | 08/26, 09:37 PM UTC | 0.94 h | 8.63 h |
| 440221000 | container | 08/26, 09:34 PM UTC | 0.98 h | 8.93 h |
| 431018253 | container | 08/26, 09:14 PM UTC | 0.38 h | -669.24 h |
| 431000771 | container | 08/26, 09:11 PM UTC | 0.38 h | — |
| 431600889 | container | 08/26, 06:11 PM UTC | -0.55 h | — |
| 440221000 | container | 08/26, 05:40 PM UTC | 2.43 h | -676.67 h |
| 431008983 | container | 08/26, 03:08 PM UTC | -15.70 h | -54.64 h |
| 311000725 | general-cargo | 08/26, 02:39 PM UTC | 1.78 h | 8.33 h |
| 431007703 | container | 08/26, 12:08 PM UTC | 2.50 h | 9.02 h |
| 370439000 | container | 08/26, 10:19 AM UTC | 6.90 h | -533.08 h |
| 477793200 | general-cargo | 08/26, 09:36 AM UTC | 1.70 h | -1.61 h |
| 431024139 | container | 08/26, 08:17 AM UTC | 0.69 h | — |
| 431000734 | container | 08/26, 07:58 AM UTC | -0.37 h | -22.98 h |
| 431000828 | product | 08/26, 07:48 AM UTC | 2.49 h | — |
| 431516000 | container | 08/26, 06:58 AM UTC | -9.81 h | — |
| 431010794 | container | 08/26, 05:42 AM UTC | 0.11 h | -18.71 h |
| 431018712 | product | 08/26, 05:29 AM UTC | -0.77 h | — |
| 538010118 | product | 08/26, 05:25 AM UTC | -0.61 h | -2.43 h |
| 671196100 | container | 08/26, 05:05 AM UTC | -49.31 h | -917.09 h |
| 431009317 | container | 08/26, 04:51 AM UTC | -0.20 h | -5.86 h |
| 431004049 | product | 08/26, 04:51 AM UTC | 0.46 h | -187.86 h |
| 431001602 | container | 08/26, 04:49 AM UTC | -1.31 h | 8.17 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.