← All documentation
Start here

How VPM works

VPM predicts which port a vessel will call at next — and, from that, when it will arrive, how long it will stay, and what it will need when it does. This is the whole pipeline, end to end.

Updated September 2026 · ~5 min read

What VPM predicts

VPM answers one question in advance: which port will this vessel call at next. The next call is the anchor. Everything a supplier actually cares about is derived from it — bunker demand, the arrival and departure windows, voyage cost, CO₂.

It also predicts the second and third calls ahead, so a plan can look further than the next few days.

What goes in

Note

No proprietary AIS is resold. VPM's output is a decision — "this vessel, this port, this need, this window" — never the underlying position feed.

How a prediction is made

Two signals, weighed against each other for every vessel individually:

1. Pattern

A statistical model built from the vessel's own port history that captures how this ship actually moves — the routes it repeats, the rotations it runs, the ports that reliably follow one another. For a liner on a fixed service, this alone is a strong predictor.

2. Declaration

The destination the vessel broadcasts over AIS, normalised against a dictionary of real ports and known transit waypoints so that "FIHMN", "Hamina Fi" and "Hamina" all resolve to the same place.

Which one to trust

VPM measures, per vessel, which of the two signals has been more reliable across that vessel's history, and leans on that one. A predictable liner is carried by its pattern; a tramp vessel working the spot market is carried by what it declares. The choice is made per ship, not once for the whole fleet.

From "next port" to "what they'll need"

Once the next call is known, the rest follows:

The picture, flipped

Asked the other way round, the same engine becomes a sales tool. The Port View takes one port and lists the vessels heading toward it over the coming days — each with its load state, its likely need, its departure window, and a contact for the operator. That is the product a local supplier buys: not a database of ships, but a short list of who to call, and when.

Measured, not guessed

Every accuracy figure VPM publishes comes from a chronological back-test. The model is only ever shown history from before the call it is predicting, and it is scored against what actually happened next — never against a simulation.

77.9%
Next-port Top-1 accuracy, tested fleet, events-weighted
76.2%
Same measure, strict chronological hold-out
In plain terms

Accuracy is not uniform. When a vessel declares a destination that resolves cleanly, the next-port call is right about 87% of the time. When it doesn't, the prediction falls back to pattern alone and is right closer to 4 times in 10. VPM shows which case you are looking at rather than averaging the two into a single comfortable number. The full method is in Accuracy & methodology.

What it doesn't do yet