Skip to main content

Middle East Vessel Detection: Methodology

Written by Sean Quek

Kpler's vessel detections dataset records liquids tankers observed at Middle East berths and terminals using satellite imagery. It provides an early physical observation of terminal activity, including vessels that may not be broadcasting their position.

Vessel detections are designed to complement Kpler Flows, rather than replace them. The two datasets provide different views of activity: satellite imagery shows what is physically observable at a berth at a particular moment, while Kpler Flows combines multiple sources to build the richer, reconciled picture of vessel movements, cargoes and volumes.

Each vessel detection connects directly to the underlying imagery where available, allowing users to examine the source observation.

Two complementary views of activity

Vessel detections provide an early physical observation. Satellite imagery can reveal a vessel at berth regardless of whether it is broadcasting AIS. This makes detection particularly useful when AIS visibility is limited and provides an additional observational layer alongside Kpler's existing vessel tracking.

Kpler Flows provides the richer, reconciled picture. Kpler's wider tracking methodology combines multiple sources of evidence to identify vessel and cargo activity and determine associated movements and volumes. For confirmed cargoes, Kpler Flows and Trades remain the reference.

The distinction is important: vessel detections count observed vessels. They do not independently measure flows or cargo volumes.

In August, 51% of recorded vessel detections at non-Iranian berths in the Middle East captured vessels that were not broadcasting an AIS signal at the time of the satellite image.

How vessel detections work

The process starts with detection.

  • Multiple satellite sources. Optical imagery from Sentinel-2 and Landsat 8 and 9 is combined with Sentinel-1 radar, which can operate through cloud cover and at night. Higher-resolution commercial optical imagery, including sub-2m imagery, will be incorporated in future releases.

  • Mapped berths. Each liquids berth and terminal in scope is mapped and checked in every usable image, with coverage available from 1 January 2026.

  • Analyst confirmation. Machine detection accelerates the process, but every recorded detection is confirmed by an analyst. Vessel length and width are also recorded.

  • Vessel sizing. Observed dimensions are used to assign an indicative vessel size class and DWT equivalent.

Example of vessel detection detection & annotation at Yanbu Crude Oil Terminal

How to interpret vessel detections

Snapshots, not continuous monitoring. Each detection records what a satellite observed at a particular berth at a particular moment. It is not continuous surveillance.

Some visits will not be observed. Berths are not imaged every day, and vessels that arrive and leave between usable images may not appear. Short calls by smaller vessels are particularly likely to be missed.

Sightings therefore provide a minimum observed level of activity. Each recorded detection has been analyst-confirmed, but periodic imagery means the dataset should not be interpreted as a complete count of all vessel visits.

Coverage varies with satellite availability. Image timing depends on satellite orbits and, for optical imagery, weather conditions. Unlike AIS visibility, however, satellite coverage does not depend on a vessel broadcasting its position.

Trends are more informative than individual observations. Weekly and monthly patterns are more reliable than interpreting a single image or day in isolation. The accompanying coverage log shows when each berth was imaged, helping users distinguish lower observed activity from periods with fewer usable images.

What the data does, and does not, tell you

A detection is not necessarily an identification. A detection confirms that a vessel of an observed size was present. Until that observation is matched, it does not establish which vessel it was or what it carried.

A detection is not necessarily a vessel visit. A vessel remaining at berth across multiple satellite passes may generate multiple detections. Users should therefore group detections by identified vessel or matched port call when analysing visits.

DWT represents capacity, not cargo moved. Vessels can load partial cargoes and a berth call may represent either loading or discharge. Summing DWT across detections should therefore not be directly interpreted as flow volume.

Precision varies by imagery source. Each record identifies its satellite source. Vessels close to a size-class boundary may be assigned to either adjacent class.

The dataset is revised. Sightings and vessel identifications can be updated as imagery is reviewed and additional evidence becomes available.

From observation to Kpler activity

1. Detection → What did we see?

Satellite imagery establishes that a vessel of an observed size was physically present at a particular berth and time.

2. Identification → Which vessel was it?

Where sufficient evidence is available, Kpler links the detection to a known vessel and adds its identity and IMO.

3. Reconciliation → What activity was it associated with?

Where the identified vessel can be confidently associated with Kpler activity, the detection is linked to the relevant Kpler port call. This can provide the associated product and cargo volume from Kpler's existing data.

Crucially: An unmatched detection does not mean an erroneous observation or a missing flow. It means that the physical observation has not yet been confidently reconciled with Kpler's vessel and activity data.

As additional evidence becomes available, detections can be identified and matched back to Kpler activity. For confirmed cargo volumes, Kpler Flows and Trades remain the reference.

Coverage and delivery

Liquids tankers at Middle East berths and terminals, with observations available from 1 January 2026. Data is delivered daily in a CSV file containing individual vessel observations and, where available, associated identification and Kpler activity.

New images are subject to 24 hour delay from satellite image providers. Kpler typically publishes the same business day of capture.

Coverage map for oil and chemical ports for the zones where dark activity is prevalent

What's next

Kpler already uses premium, high-resolution commercial satellite imagery as part of its wider vessel tracking capabilities. This initial vessel detections dataset uses open-source satellite imagery, with future releases planned to incorporate sub-2m commercial optical imagery across the Middle East Gulf, Gulf of Oman, and Red Sea. Further developments will also expand vessel-level identification and extend coverage beyond the Middle East and liquids.

Definitions

Column

Description

id

Distinct identifier for each vessel detection

image_date

Acquisition date of the satellite imagery used

satellite_source

The satellite imagery source provider.

preferred

Flags the single best available satellite image for a given berth on a given day, ranked Sentinel-2 first, then Landsat-9, then Landsat-8, then Sentinel-1, so only rows marked true should be used when summing or counting to avoid counting the same vessel activity twice from overlapping satellite coverage.

country

The country where the installation is located

installation_name

Name of the installation according to the Kpler Commodities platform

lat

Vessel detection latitude

lon

Vessel detection longitude

length_m

Vessel length detected, in meters

width_m

Vessel width detected, in meters

indicative_vessel_size_segment

Estimated vessel category (such as PANAMAX_LR1, AFRAMAX_LR2, or VLCC) derived from observed dimensions. If the detection corresponds to a vessel listed on the Kpler terminal, this field reflects its true size segment.

dead_weight(est_actual)

Estimated deadweight tonnage calculated from the indicative_vessel_size_segment. When a vessel detection is linked to an entry in the Kpler terminal, this value reflects its actual deadweight tonnage.

identified_vessel_name

The name of the vessel linked to the detection.

identified_vessel_imo

The IMO number of the vessel to which the detection has been matched.

port_call_id

The corresponding Kpler terminal Port Call ID associated with the observed vessel.

volume_cm

Cargo volume per product from Kpler activity data associated with the matched port call ID. This volume is not estimated from satellite imagery.

products

Product(s) from Kpler activity data associated with the matched port call ID. Product is not determined from satellite imagery.

ais_visibility_status

Aligning satellite vessel detections with Kpler terminal activity data:

  • AIS On: Vessel is actively broadcasting AIS.

  • AIS Off (Matched): Vessel identity is confirmed, but AIS is turned off.

  • AIS Off (Unmatched): Vessel AIS is turned off, and its identity remains pending verification.

berth_vessel_type

The primary commodity category (such as Liquids, Dry Bulk, LPG, or LNG) that historical Kpler data indicates the berth regularly handles.

berth_dominant_product_family

The primary commodity family typically handled at this berth, determined using historical data from Kpler.

berth_dominant_family_direction

The primary cargo direction (loading or discharging) for the main product family, established through Kpler's historical data for the berth.

copernicus_url

Link to the open-source satellite imagery used (presently for Sentinel-1 & 2 only)

Contains modified Copernicus Sentinel data (2026). Landsat imagery courtesy of the US Geological Survey.

Did this answer your question?