Solution overview

How Portcast predicts arrival

A voyage is modelled as a sequence of operations, not as one forecast. Each part of the journey is predicted on its own, then composed into an arrival date and refined against the carrier’s own ETA.

Portcast · Data Science · July 2026

How a voyage becomes an ETA

Each model owns one piece of the journey

Time to next port Port dwell Onward transit Dwell + transit repeated per onward call live vessel movement drives this leg only Vessel now live position Next port arrival Departure same call Onward calls transhipment Final POD predicted arrival Route similarity — lets each model borrow behaviour from comparable routes carrier-anchored refinement Portcast ETA
Because the arrival is composed rather than produced whole, a change can be traced to the leg or port call that caused it — risk is located, not just observed.

Click a model to see what it predicts, the signals behind it, and why it stands on its own.

Decision layer

How hard we anchor to the carrier depends on the horizon

Hold close to carrier Blend Draw loosely toward carrier Model view days out about a week one to two weeks beyond carrier ETA is most informative weighted by how far the two differ large disagreements compressed published as-is near arrival — carrier ETA carries operational intent further out — carrier ETA quality degrades
The carrier’s published ETA is treated as an informative signal rather than a fallback — it encodes operational intent no external model can observe. How much weight it earns is a function of prediction horizon, settled by testing a large family of candidate combination strategies over historical shipments.

Data

What each model draws on

Signal groupTime to next portPort dwellOnward transitRoute similarity
Live vessel movementposition, recent speed behaviour, distance remaining
Port congestionhow busy the ports ahead are running
Carrier schedulepublished schedule and expected milestones
Historical behaviourrealised transit, dwell and waiting by lane, vessel and carrier
Vessel attributescapacity and physical characteristics
Route geometryport locations, port-pair distances, canal routing

Most signals are prepared on a regular refresh cycle; a few are computed at training time so they stay current. The refinement layer additionally reads the carrier’s own ETA and schedule. Weather and news signals feed our separate disruption-risk views, not the ETA models themselves — port congestion is the disruption signal the ETA models see directly.

Accuracy

Measured against the carrier’s own ETA

Our published ETA is more accurate than the carrier’s own published ETA at every days-ahead horizon we measure, out to two weeks before arrival — including the short horizons closest to berth, where inland, yard and warehouse decisions are actually made.

Ground truth Actual time of arrival at the port. Every prediction is retained and scored against what eventually happened.
Scored continuously Not at a single checkpoint. Each prediction is bucketed by how many days before arrival it was made, so accuracy is a curve across the voyage rather than one number.
Paired comparison For every prediction scored, the carrier ETA live at that same moment is scored too — same shipments, same arrival, same instant. No flattering either side.
Tolerance On-time means within one day of actual arrival, applied evenly at every horizon. Tighter bands are available where a customer needs them.
Coverage reported alongside Accuracy on a thin subset of containers is not a usable product, so container-level coverage is reported with it.
Reported per customer A recurring accuracy report runs per customer dataset, and the same view is visible on the platform.

Process

How a change reaches production

Step one Benchmark dataset A candidate is scored against a fixed historical dataset, using cross-validation grouped so no voyage is ever evaluated on data drawn from itself.
Step two Live test period It then runs against live traffic and is measured over a sustained window, not a single good day.
Step three Controlled A/B It takes a controlled share of production traffic alongside the incumbent, each variant scored separately.
Step four Promotion Only a sustained win over the incumbent promotes it. Anything that regresses is rolled back rather than tuned in place.

Scope

Two things worth being explicit about

Ocean-specific by design. Signal availability, event granularity and error scale differ fundamentally across modes — port calls rather than scans, days rather than hours. We do not reuse one generic model across ocean, air and road; a model tuned on parcel-scale error is structurally wrong for a multi-week deep-sea voyage, and the reverse holds too.

An enrichment layer, not a replacement. Portcast sits over an existing visibility stack. The customer keeps the relationship and the data channel; we improve the quality of the ETA flowing through it, including into an existing feed rather than a separate screen.