← Port Flow

Prediction receipts

Every ETA we publish is timestamped before the vessel arrives, then scored against the actual arrival. No retro-fitting, no cherry-picking — the losses stay on the board with the wins. Last 30 days, most recent first.

Receipts settled
100
closed voyages with a pre-arrival prediction
Head-to-head vs broadcast
91 %
closer than the crew's own ETA on 42/46 comparable voyages
Average lead time
2 h
between the last locked prediction and arrival

The ledger

error = ETA minus actual arrival (hours)
PortMMSIPrediction lockedArrivedOur errorBroadcast errorVerdict
🇩🇪 Hamburg21188815012 Oct, 03:48 UTC12 Oct, 03:57 UTC-0.3 h—n/a
🇳🇱 Rotterdam25324249812 Oct, 03:52 UTC12 Oct, 03:56 UTC-1.7 h23.1 h✓ beat
🇳🇱 Rotterdam21116991012 Oct, 03:51 UTC12 Oct, 03:56 UTC-1.8 hsentineln/a
🇧🇪 Antwerp20521859012 Oct, 03:52 UTC12 Oct, 03:56 UTC3.9 h—n/a
🇨🇳 Shenzhen47764210012 Oct, 02:22 UTC12 Oct, 03:56 UTC0.4 hsentineln/a
🇳🇱 Amsterdam20557149012 Oct, 03:49 UTC12 Oct, 03:54 UTC0.5 h—n/a
🇳🇱 Rotterdam24465093512 Oct, 03:52 UTC12 Oct, 03:53 UTC10.6 h—n/a
🇳🇱 Rotterdam24471037812 Oct, 03:44 UTC12 Oct, 03:53 UTC-1.8 h—n/a
🇳🇱 Amsterdam24469035212 Oct, 03:48 UTC12 Oct, 03:53 UTC-0.2 h—n/a
🇧🇪 Antwerp24407690912 Oct, 03:45 UTC12 Oct, 03:53 UTC-0.1 h—n/a
🇭🇰 Hong Kong47799725412 Oct, 03:43 UTC12 Oct, 03:52 UTC1.1 h—n/a
🇳🇱 Rotterdam24462069812 Oct, 03:42 UTC12 Oct, 03:50 UTC-0.5 h—n/a
🇳🇱 Amsterdam56331910012 Oct, 03:46 UTC12 Oct, 03:50 UTC1.2 h-141.8 h✓ beat
🇨🇳 Shenzhen41360103012 Oct, 03:30 UTC12 Oct, 03:49 UTC0.5 h-2.3 h✓ beat
🇭🇰 Hong Kong47799731212 Oct, 03:44 UTC12 Oct, 03:49 UTC0.4 h—n/a
🇧🇪 Antwerp24466006512 Oct, 03:40 UTC12 Oct, 03:47 UTC2.2 h—n/a
🇩🇪 Hamburg20927600012 Oct, 03:37 UTC12 Oct, 03:46 UTC-0.4 h-20.8 h✓ beat
🇧🇪 Antwerp21153093012 Oct, 03:38 UTC12 Oct, 03:44 UTC1.3 h—n/a
🇩🇪 Hamburg21120108012 Oct, 03:42 UTC12 Oct, 03:44 UTC0.0 h-81.4 h✓ beat
🇧🇪 Antwerp25324228512 Oct, 03:36 UTC12 Oct, 03:43 UTC0.7 h-143.8 h✓ beat
🇭🇰 Hong Kong47799725412 Oct, 03:34 UTC12 Oct, 03:41 UTC1.1 h—n/a
🇳🇱 Rotterdam24465057512 Oct, 03:33 UTC12 Oct, 03:41 UTC8.5 h—n/a
🇧🇪 Antwerp24403945612 Oct, 03:34 UTC12 Oct, 03:40 UTC-0.9 h—n/a
🇧🇪 Antwerp24466010812 Oct, 03:32 UTC12 Oct, 03:40 UTC1.8 hsentineln/a
🇳🇱 Amsterdam24477058812 Oct, 03:32 UTC12 Oct, 03:40 UTC0.2 hsentineln/a
🇭🇰 Hong Kong35298081212 Oct, 03:33 UTC12 Oct, 03:39 UTC2.1 h-142.7 h✓ beat
🇸🇬 Singapore56302110012 Oct, 03:31 UTC12 Oct, 03:39 UTC6.5 h7.3 h✓ beat
🇳🇱 Amsterdam24469035812 Oct, 03:35 UTC12 Oct, 03:38 UTC0.1 h—n/a
🇳🇱 Amsterdam63601875212 Oct, 03:35 UTC12 Oct, 03:38 UTC1.0 h-1.6 h✓ beat
🇳🇱 Rotterdam20550859012 Oct, 03:27 UTC12 Oct, 03:38 UTC-0.8 hsentineln/a
🇩🇪 Hamburg63602567212 Oct, 03:34 UTC12 Oct, 03:37 UTC0.7 h-26.6 h✓ beat
🇯🇵 Yokohama / Tokyo Bay43101175912 Oct, 03:28 UTC12 Oct, 03:36 UTC0.6 h-41.4 h✓ beat
🇧🇪 Antwerp20559079012 Oct, 03:19 UTC12 Oct, 03:35 UTC-1.1 h7.9 h✓ beat
🇭🇰 Hong Kong47799506512 Oct, 03:30 UTC12 Oct, 03:34 UTC2.2 h—n/a
🇧🇪 Antwerp24483033312 Oct, 03:20 UTC12 Oct, 03:33 UTC-0.4 h16.0 h✓ beat
🇧🇪 Antwerp24450478212 Oct, 03:24 UTC12 Oct, 03:33 UTC0.8 h—n/a
🇯🇵 Yokohama / Tokyo Bay43101506912 Oct, 03:14 UTC12 Oct, 03:32 UTC0.5 h-55.5 h✓ beat
🇧🇪 Antwerp24400255312 Oct, 03:21 UTC12 Oct, 03:30 UTC1.5 h—n/a
🇳🇱 Rotterdam24421829312 Oct, 03:16 UTC12 Oct, 03:30 UTC0.6 h-2.8 h✓ beat
🇧🇪 Antwerp24465060712 Oct, 03:27 UTC12 Oct, 03:30 UTC-0.3 h—n/a
🇫🇷 Le Havre23204682612 Oct, 03:17 UTC12 Oct, 03:29 UTC0.4 hsentineln/a
🇳🇱 Rotterdam24465070912 Oct, 03:18 UTC12 Oct, 03:28 UTC4.5 h-1.5 h✗ missed
🇳🇱 Rotterdam25756200012 Oct, 03:21 UTC12 Oct, 03:28 UTC5.7 h-126.5 h✓ beat
🇳🇱 Amsterdam20558559012 Oct, 03:13 UTC12 Oct, 03:28 UTC3.4 h-85.6 h✓ beat
🇺🇸 Los Angeles35200427812 Oct, 03:16 UTC12 Oct, 03:24 UTC0.6 hsentineln/a
🇳🇱 Amsterdam24413028512 Oct, 03:05 UTC12 Oct, 03:22 UTC3.2 h-55.4 h✓ beat
🇧🇪 Antwerp20521859012 Oct, 03:10 UTC12 Oct, 03:19 UTC-2.0 hsentineln/a
🇬🇧 Southampton23201919212 Oct, 03:11 UTC12 Oct, 03:17 UTC0.3 h—n/a
🇧🇪 Antwerp63602234312 Oct, 03:08 UTC12 Oct, 03:17 UTC-0.4 h159.7 h✓ beat
🇯🇵 Yokohama / Tokyo Bay43101401212 Oct, 03:07 UTC12 Oct, 03:15 UTC0.4 h-128.3 h✓ beat
🇧🇪 Antwerp24403945612 Oct, 03:07 UTC12 Oct, 03:14 UTC-0.4 h—n/a
🇳🇱 Rotterdam24465087412 Oct, 03:03 UTC12 Oct, 03:09 UTC1.3 hsentineln/a
🇭🇰 Hong Kong47799506312 Oct, 02:59 UTC12 Oct, 03:09 UTC1.1 h—n/a
🇿🇦 Durban63601959208 Oct, 11:58 UTC12 Oct, 03:07 UTC-86.4 h-89.1 h✓ beat
🇳🇱 Amsterdam24467026612 Oct, 03:00 UTC12 Oct, 03:07 UTC1.5 h-11.1 h✓ beat
🇨🇳 Shenzhen41247291012 Oct, 02:46 UTC12 Oct, 03:04 UTC5.6 h-23.1 h✓ beat
🇸🇬 Singapore56388200011 Oct, 05:55 UTC12 Oct, 03:04 UTC-18.7 hsentineln/a
🇳🇱 Rotterdam20558179012 Oct, 03:01 UTC12 Oct, 03:03 UTC0.1 h—n/a
🇳🇱 Rotterdam20531059012 Oct, 02:50 UTC12 Oct, 03:03 UTC3.0 hsentineln/a
🇧🇪 Antwerp24467031212 Oct, 02:59 UTC12 Oct, 03:03 UTC2.6 h—n/a
🇧🇪 Antwerp25580178012 Oct, 02:41 UTC12 Oct, 03:01 UTC-0.4 h-7.5 h✓ beat
🇳🇱 Rotterdam20557899012 Oct, 02:50 UTC12 Oct, 02:59 UTC3.0 h8.3 h✓ beat
🇧🇪 Antwerp23507028312 Oct, 02:51 UTC12 Oct, 02:59 UTC-0.3 h32.0 h✓ beat
🇭🇰 Hong Kong47799715712 Oct, 02:57 UTC12 Oct, 02:59 UTC1.5 h—n/a
🇳🇱 Amsterdam24402055812 Oct, 02:51 UTC12 Oct, 02:59 UTC-0.1 h-78.4 h✓ beat
🇳🇱 Rotterdam24465053712 Oct, 02:49 UTC12 Oct, 02:57 UTC2.3 h-10.1 h✓ beat
🇳🇱 Rotterdam24482242412 Oct, 02:54 UTC12 Oct, 02:57 UTC-0.1 h34.5 h✓ beat
🇸🇬 Singapore63601500712 Oct, 02:41 UTC12 Oct, 02:55 UTC5.5 h-2.9 h✗ missed
🇧🇪 Antwerp24465060712 Oct, 02:46 UTC12 Oct, 02:55 UTC-1.2 h—n/a
🇯🇵 Yokohama / Tokyo Bay43130023912 Oct, 02:50 UTC12 Oct, 02:54 UTC6.7 h-90.9 h✓ beat
🇳🇱 Amsterdam24414075712 Oct, 02:44 UTC12 Oct, 02:54 UTC-0.0 h-67.6 h✓ beat
🇳🇱 Rotterdam24470071412 Oct, 02:51 UTC12 Oct, 02:53 UTC5.3 h—n/a
🇯🇵 Yokohama / Tokyo Bay43100971712 Oct, 02:43 UTC12 Oct, 02:53 UTC3.0 h—n/a
🇭🇰 Hong Kong41346966012 Oct, 02:48 UTC12 Oct, 02:52 UTC1.6 h—n/a
🇧🇪 Antwerp53800888611 Oct, 14:36 UTC12 Oct, 02:52 UTC-10.9 h-20.9 h✓ beat
🇭🇰 Hong Kong47799690712 Oct, 02:42 UTC12 Oct, 02:52 UTC1.8 hsentineln/a
🇲🇦 Tanger Med53800761712 Oct, 01:40 UTC12 Oct, 02:51 UTC-1.9 hsentineln/a
🇳🇱 Rotterdam24485096212 Oct, 02:50 UTC12 Oct, 02:51 UTC4.8 h—n/a
🇳🇱 Rotterdam20550559012 Oct, 02:43 UTC12 Oct, 02:49 UTC1.4 h13.5 h✓ beat
🇧🇪 Antwerp35200327212 Oct, 02:39 UTC12 Oct, 02:48 UTC-0.8 hsentineln/a
🇳🇱 Rotterdam21534500012 Oct, 02:32 UTC12 Oct, 02:48 UTC4.7 hsentineln/a
🇬🇧 Felixstowe23092500012 Oct, 02:39 UTC12 Oct, 02:48 UTC0.5 h-45.3 h✓ beat
🇳🇱 Amsterdam24437195612 Oct, 02:38 UTC12 Oct, 02:47 UTC0.1 h2.4 h✓ beat
🇸🇬 Singapore53801247812 Oct, 01:35 UTC12 Oct, 02:47 UTC8.5 hsentineln/a
🇭🇰 Hong Kong47799506512 Oct, 02:38 UTC12 Oct, 02:46 UTC1.3 h—n/a
🇧🇪 Antwerp24400054212 Oct, 02:38 UTC12 Oct, 02:45 UTC-1.1 h-110.0 h✓ beat
🇳🇱 Amsterdam24469035212 Oct, 02:37 UTC12 Oct, 02:45 UTC0.1 h-6.6 h✓ beat
🇸🇬 Singapore56302110012 Oct, 02:27 UTC12 Oct, 02:45 UTC4.8 h-45.8 h✓ beat
🇧🇪 Antwerp37147400012 Oct, 02:39 UTC12 Oct, 02:44 UTC-0.5 hsentineln/a
🇭🇰 Hong Kong41240004012 Oct, 02:32 UTC12 Oct, 02:43 UTC0.4 h-10.7 h✓ beat
🇨🇳 Shenzhen25638100012 Oct, 02:16 UTC12 Oct, 02:42 UTC4.0 h-114.7 h✓ beat
🇳🇱 Rotterdam26905753612 Oct, 02:28 UTC12 Oct, 02:42 UTC-3.3 h2.6 h✗ missed
🇧🇪 Antwerp20558829012 Oct, 02:27 UTC12 Oct, 02:41 UTC-0.7 h7.1 h✓ beat
🇭🇰 Hong Kong47799513712 Oct, 02:28 UTC12 Oct, 02:40 UTC0.5 h—n/a
🇧🇪 Antwerp24400930112 Oct, 02:23 UTC12 Oct, 02:38 UTC-0.5 h—n/a
🇭🇰 Hong Kong53800884511 Oct, 13:17 UTC12 Oct, 02:38 UTC-12.0 hsentineln/a
🇳🇱 Rotterdam56305210012 Oct, 02:25 UTC12 Oct, 02:37 UTC1.5 hsentineln/a
🇳🇱 Rotterdam24462094512 Oct, 02:26 UTC12 Oct, 02:35 UTC-0.2 h—n/a
🇧🇪 Antwerp24473001612 Oct, 02:27 UTC12 Oct, 02:35 UTC-1.6 h-33.5 h✓ beat
🇭🇰 Hong Kong41386557212 Oct, 02:29 UTC12 Oct, 02:33 UTC0.9 h-0.6 h✗ missed

Why this page exists