Skip to content

AIS vessel-tracking data

AIS vessel-tracking data turns ship-position reports into port-activity and supply-chain features, with limits from coverage, cargo inference and historical availability.

AIS vessel-tracking data consists of ship-identification, position and movement reports broadcast by the Automatic Identification System and collected by receivers. Quants use these observations as alternative data to build measures of port activity, congestion and shipping routes. The useful research object is usually an inferred event or aggregate—such as a port call—rather than an individual radio message.
AIS was designed for maritime safety. The IMO's AIS overview describes reports containing identity, position, course, speed and navigational status. Carriage requirements depend on vessel type, size and voyage, with exemptions; a collection of AIS reports is therefore not a census of every vessel.

From positions to a port-activity feature

An arrival count starts with a definition of “arrived.” Crossing an outer port boundary, entering an anchorage and reaching a berth are different events. A vessel waiting outside the harbour may be relevant to congestion but absent from a berth-arrival count.

A practical construction can proceed as follows:

  1. Resolve the vessel. Join identifiers and vessel characteristics with historically valid mappings. Names alone are weak keys. Entity resolution matters when identifiers are reused, miscoded or inconsistent across providers.
  2. Infer a call. Specify a geographic boundary and an entry rule, possibly requiring a sequence of positions or a minimum stay. Separate anchorage waiting from time alongside a berth if the question requires it.
  3. Deduplicate the event. Repeated positions and duplicate receiver deliveries belong to the same call. A second entry after a genuine departure may be a new call, so deduplicating solely by vessel over the whole sample can also undercount.
  4. Aggregate a declared population. Count calls by port, vessel class and time window; attach coverage and stale-data indicators. If a confirmation rule needs later observations, the call becomes usable only after those observations arrive and processing finishes.
The USCG FAQ, questions 11–12, distinguishes frequently transmitted position reports from separate static/voyage reports and documents invalid or duplicated MMSIs, the radio identity numbers used by AIS. A rise in message count can reflect reporting or reception changes without any rise in arrivals.

These rules support different economic questions. Arrival counts describe observed activity; anchorage queues and call duration describe aspects of congestion; repeated origin–destination links can contribute to supply-chain data. None of these measures alone establishes which listed company benefits, the quantity unloaded or a profitable trading rule.

Three arrivals, but only two known

Consider three fictional, already deduplicated port calls, with event times and usable times on the same day in UTC. Usable time includes delivery and the processing needed by this research system. Count arrivals from 08:00 through the 11:00 decision cutoff, inclusive.
VesselArrival event timeFirst usable timeUsable at 11:00?
A09:0009:05Yes
B10:0010:05Yes
C10:3012:00No
A later cleaned history contains three arrivals dated before 11:00. A point-in-time dataset available to the research system at 11:00 contains only two. Vessel C's early event timestamp does not make its late-delivered record available earlier. For this example, the event and usable times of A and B are preserved; there are no subsequent corrections or identity changes.

For an arrival window starting at ss and ending at decision time tt, the eligible count is

N(s,t)=∑i1{s≤ei≤t}1{ai≤t},N(s,t)=\sum_i \mathbf{1}_{\{s\le e_i\le t\}}\mathbf{1}_{\{a_i\le t\}},

where ii indexes distinct inferred calls, eie_i is the call's event time and aia_i is its first usable time. With the table above, N(08:00,11:00)=2N(08{:}00,11{:}00)=2. Counting only the event-time condition gives 3. Counting raw messages gives neither quantity reliably.

Fictional UTC arrivals: A at 09:00 becomes available at 09:05, B at 10:00 at 10:05, and C at 10:30 at 12:00. At the 11:00 cutoff only A and B are usable, although the later history has three arrivals before 11:00.
Fictional UTC arrivals: A at 09:00 becomes available at 09:05, B at 10:00 at 10:05, and C at 10:30 at 12:00. At the 11:00 cutoff only A and B are usable, although the later history has three arrivals before 11:00.
Original fictional port-call timeline. Open circles mark arrival event times; filled squares mark usable times after delivery and required processing. An arrival can belong to the past without being known at the decision cutoff.
Using the reconstructed count of 3 in an 11:00 backtest creates look-ahead bias. Preserve raw receipts, processing times, identity mappings, event-rule versions and subsequent revisions. The formula illustrates first availability; a full revision-aware replay must also select the event values and mappings that existed at the cutoff. Today's corrected arrival label cannot silently replace yesterday's uncertain one.
The Observation, Event and Availability Timestamps lesson develops this clock discipline through decisions and orders. Its preview is public; the full lesson requires membership.

A track is not a cargo manifest

Position identifies where a reported transmitter is. A cargo-vessel classification identifies a type of ship. Neither directly measures loaded cargo tonnes, cargo ownership or goods actually discharged. Capacity is not load; a port call can involve partial unloading, bunkering or no unloading at all. Even draft-based load estimates require vessel-specific information and assumptions about ballast and operating conditions.
NOAA's May 2026 AIS FAQ, under “Broadcast Point Attributes,” explains that tonnage is not part of the standard AIS broadcast and that its cargo codes are effectively vessel-type codes. Cargo-flow estimates therefore need additional evidence, such as manifests or terminal statistics, and validation against the particular quantity being estimated. A precise-looking track does not remove that measurement gap.

Missing vessels and changing histories

No observed position is not the same as no vessel. The feed's receiver network, geographic reach, vessel participation and processing rules determine what appears. Missing intervals should carry an uncertainty or coverage flag rather than becoming automatic zeros in a port-activity series. Interpolating across a long gap can invent a boundary crossing; using a later endpoint to do so can also introduce hindsight.

NOAA's May 2026 FAQ describes Marine Cadastre's land-based collection and its geographic limits; it is not a live feed. It also identifies collection interruptions and historical changes in vessel-attribute correction methods, including the transition from AVIS to AVID in 2024. An archive can be useful for maritime research without reproducing what a commercial client could observe intraday. Check each provider's actual delivery history and processing vintage.

A plausible-looking track is not authenticated ground truth. The USCG FAQ, question 22, states that AIS can be spoofed. Flag impossible jumps, conflicting identities and suspiciously coherent groups of displaced tracks; compare independent evidence where the inference matters. Such flags identify uncertainty rather than prove misconduct. Missing reception, faulty equipment and deliberately false reports need different explanations.

Before comparing ports or periods, ask whether an apparent activity change survives stable event definitions and comparable observation coverage. A new receiver, revised identity join or changed geofence can move the feature without any corresponding change in shipping. Its value for forecasting must then be tested separately; AIS coverage alone makes no promise about predictive performance.

Sources

Last updated
  • alternative data
  • maritime data
  • supply chain
  • point in time data
  • data quality
← Back to the glossaryBack to top ↑