Portfolio LabKnowledgeSign inCreate account

Ships at chokepoints (beta): methodology

In depth10 min read · updated 24 October 2026 · 4 sources

The Ships page shows ships at chokepoints of seaborne trade: where tankers and cargo ships are currently being reported, how many distinct ships were in a chokepoint per hour and per day, and how many of them were under way or, as a rough estimate, laden. It is a beta and makes no forecasts. This methodology describes what the code does, from the individual AIS message to the daily count. Background and research are covered in the article shipping data.

Where the data come from

Larger ships continuously transmit AIS (Automatic Identification System) messages over VHF radio, with identifier, position, course and speed. According to IMO (2015), the requirement under the SOLAS Convention applies to all ships of 300 GT (gross tonnage) and above on international voyages, to cargo ships of 500 GT and above on domestic voyages as well, and to all passenger ships.

“the radio signals that the global vessel fleet emits for navigational safety purposes”
Cerdeiro et al. (2020)

Portfolio Lab receives these messages from a freely accessible network of terrestrial AIS receivers, i.e. antennas on land. According to IMO (2015), the typical range at sea is 20 to 30 nautical miles, depending on antenna height. Receivers on land therefore pick up coasts, straits and ports, but not the open sea. Satellite AIS, which also covers the oceans, is subject to a fee and is not used.

The server maintains reception over a persistent connection that subscribes only to the chokepoint rectangles and to two types of messages; the browser polls its own server every 30 seconds.

  • Position reports from Class A (AIS messages 1 to 3): identifier (MMSI), position, speed and course over ground, navigational status and time. Class B devices on smaller boats report differently and are not included.
  • Static and voyage-related data (message 5): name, ship type, IMO number, dimensions, draught and destination. According to ITU (2026), only Class A stations send this message, and according to IMO (2015), they do so every six minutes.

The chokepoints and their rectangles

Counting takes place in twelve areas: ten straits and canals and two large ports with anchorages. Each area consists of one or two rectangles in degrees of latitude and longitude (a ship in both rectangles counts once), drawn tightly around fairways, traffic separation schemes and anchorages so that little coastal traffic falls inside. Ships waiting at anchor in the roads are counted; ports further inland are not.

AreaTypeRectangle (latitude · longitude)
Strait of HormuzStrait25.90–27.00° N · 55.80–57.10° E
Bab el-MandebStrait12.20–13.10° N · 42.90–43.75° E
Suez CanalCanal29.75–31.55° N · 32.15–32.65° E
Strait of Malacca (Port Klang)Strait2.45–3.35° N · 100.60–101.45° E
Singapore Strait with anchoragesStrait1.05–1.50° N · 103.50–104.45° E
Strait of GibraltarStrait35.80–36.20° N · 5.95–5.25° W
Bosporus and DardanellesStrait40.93–41.27° N · 28.85–29.20° E and 39.93–40.47° N · 26.05–26.78° E
Panama CanalCanal8.75–9.45° N · 80.00–79.45° W
Strait of DoverStrait50.75–51.25° N · 1.05–2.00° E
Great Belt and ØresundStrait55.15–55.75° N · 10.70–11.25° E and 55.45–56.15° N · 12.45–13.05° E
Rotterdam (Maasvlakte, anchorage)Port with anchorage51.85–52.10° N · 3.45–4.35° E
Houston/GalvestonPort with anchorage29.05–29.80° N · 95.30–94.45° W

Coverage is uneven. At Hormuz and Bab el-Mandeb there are few receivers on land; ships or entire hours are missing there. A gap in reception looks like less traffic in the count.

Which messages count

  • Identifier: only nine-digit MMSIs beginning with 2 to 7, i.e. ships rather than shore stations, aids to navigation or aircraft.
  • Position: the values 91 and 181 (not available), the point 0/0 and messages flagged as invalid are discarded. A speed of 102.3 knots, a course of 360 degrees and a heading of 511 mean “not available”.
  • Time: the message's own timestamp applies if it is at most three hours old and at most one minute in the future; otherwise the time of receipt is used. An older message never overwrites a newer one.
  • Static data: length and beam are derived from the distances of the antenna to the bow, stern and sides. According to ITU (2026), the maximum value of 25.5 m stands for “25.5 m or more”; the page therefore only accepts a draught above 0 and below 25.5 m.

Ship type, size and loading

The class comes from the AIS ship type, a two-digit number from the type table of the standard. The page groups the types into four classes:

AIS ship typeClass on the pageNote
70–79Cargo shipbulk, container and general cargo combined
80–89Tankercrude oil, oil products, chemicals and gas combined
others, e.g. 52 tugs or 60–69 passenger shipsOtheronly in the count, not on the map
0 or no static data yetType not yet knownuntil the next message 5 arrives

According to ITU (2026), the 2026 edition has separate codes for bulk carriers (75), container ships (76) and ro-ro ships (77); the page nevertheless groups the range 70 to 79 together. It estimates size classes from the length overall, because deadweight is not part of AIS. The map shows the beam, but the page does not use it for classification. Tankers with “LNG” in their name count as LNG carriers, those with “LPG” or “GAS” as gas carriers.

ShipSize classes by length
TankerVLCC from 320 m · Suezmax from 265 m · Aframax from 230 m · Panamax from 200 m · MR from 150 m · below that, small
Cargo shipvery large from 330 m · large from 250 m · medium from 150 m · below that, small

The page estimates laden or ballast from the reported draught. The reference is the larger of two values: the largest draught the page has already seen for this ship, and a guide value derived from the length (6.2% of the length for tankers, 5.5% for cargo ships, because container ships have a shallower draught). Without a length, an estimate is only possible once a larger draught has been seen.

ratio = draught / max(largest draught seen; factor × length)
factor
0.062 for tankers, 0.055 for cargo ships
ratio from 80%
probably laden
ratio up to 65%
probably in ballast, i.e. empty with ballast water
in between
part-laden or unclear

The page remembers the largest draught across restarts, for at most 20,000 ships. The figure itself is unreliable: according to IMO (2015), the officer of the watch enters the draught by hand at the start of the voyage and changes it as needed; Cerdeiro et al. (2020) describe errors in it as widespread and updates as often delayed. “Laden” and “ballast” are therefore only rough indications.

Under way, counting windows and validity

A ship counts as under way from 2 knots of speed over ground; below that, it is at anchor, at its berth or drifting. The page always counts distinct ships (MMSI), not messages: a tanker that reports every ten seconds for an hour counts once.

  • Current (tiles and table): ships whose last position in the rectangle is at most one hour old; under way according to the last reported speed. The map shows positions up to three hours old, those older than one hour faded, with at most 150 ships per chokepoint in the world view and up to 2,000 in the zoomed view.
  • Per hour: distinct ships in a completed UTC hour; under way if the average of their reported speeds in that hour was at least 2 knots, plus the average speed of these ships. An hour without a single message in the area remains a gap. The chart shows the last 72 hours.
  • Per day: distinct ships in a UTC day; under way if at least one message showed 2 knots or more; laden or ballast according to the last estimate of the day. The daily chart only shows days with at least 20 hours of reception, so that an outage does not look like a slump. By default, the last 90 days are available.
  • Validity: static data remain valid for 48 hours, positions for three hours. If the type arrives only after the first position, the class is filled in retroactively.

Storage, restarts and reconnection

The count is held in memory and written to the database every ten minutes and at every change of hour: one document per chokepoint and UTC day, with the completed hours and the daily totals. While the day is running, the document also holds the identifiers of the ships, so that no ship is counted twice after a restart; at the end of the day they are removed. After a restart, the service loads the current day and closes any days that were still open.

If the connection drops, the server tries again: first after 2 seconds, then each time twice as long, up to at most 5 minutes, multiplied by a random factor between 0.5 and 1.5. After an error with the access key, it waits 15 minutes; after a connection that delivered data for more than a minute, 2 seconds again. If no message arrives for five minutes, the status line shows a notice. Memory holds at most 20,000 positions and 50,000 static data records; beyond that, the oldest are dropped.

The map

The map draws national borders and coastlines from Natural Earth, public-domain map data: the world at a scale of 1:110 million, and the close-ups of the chokepoints with more detailed coastlines at 1:10 million. The browser loads no map tiles from third parties. Lakes such as Gatún Lake on the Panama Canal and the Great Bitter Lake on the Suez Canal are land in this map layer, so the canals do not appear as water. Ships are dots per class; in the zoomed view, ships under way become arrows pointing in the direction of travel; the counted rectangles are dashed.

Limitations

  • Coverage: terrestrial receivers only pick up ships near the coast; fewer ships counted can mean less traffic or less reception.
  • Switched-off and false signals: according to IMO (2015), the master may switch off AIS if operating it could compromise the safety of the ship. Anyone who does not want to be seen, such as a ship of the shadow fleet, can likewise switch off the signal or send false information. Paolo et al. (2024) find that a considerable share of transport and energy shipping is missing from public tracking systems.
  • Type and size: the classes distinguish neither crude oil from oil products nor bulk from containers; size classes by length are approximations, and deadweight is missing.
  • No volumes: the page counts ships, not barrels or tonnes. It does not detect voyages, ship-to-ship transfers at sea or floating storage.
  • No forecasts: the figures describe what is currently being reported. They predict neither prices nor trade volumes and are not investment advice.
  • Beta: no guarantee of completeness, accuracy or availability. Days and hours are in UTC; the axis of the hourly view shows local time.

Frequently asked questions

Why are so many ships missing at Hormuz?

Because there are few receivers on land there. The page only uses terrestrial AIS, with a typical range of 20 to 30 nautical miles; whatever no receiver picks up is missing from the count. Satellite AIS could narrow the gap, but it is subject to a fee.

How does the page tell whether a tanker is laden?

Not directly. It estimates it from the reported draught. If the draught is at least 80% of the reference value (the larger of the largest draught seen and 6.2% of the length), the tanker counts as probably laden; at 65% or less, as probably in ballast.

Why are waiting ships counted?

The rectangles include the anchorages, and waiting ships are part of the traffic at the chokepoint. How many ships are actually moving is shown by the “under way” figure, from 2 knots.

Can I use this to predict the oil price?

No, and the page is not meant for that. It shows positions and counts. There are many steps between the number of ships, cargo and price, and the data have gaps; what research knows about this is covered in the article shipping data.

Literature

  1. Cerdeiro, Diego; Komaromi, Andras; Liu, Yang; Saeed, Mamoon (2020): World Seaborne Trade in Real Time: A Proof of Concept for Building AIS-based Nowcasts from Scratch. International Monetary Fund, IMF Working Paper 20/57. doi:10.5089/9781513544106.001
  2. International Maritime Organization (2015): Revised Guidelines for the Onboard Operational Use of Shipborne Automatic Identification Systems (AIS), Resolution A.1106(29). International Maritime Organization, angenommen am 2. Dezember 2015. Source
  3. International Telecommunication Union (2026): Recommendation ITU-R M.1371-6: Technical characteristics for VHF automatic identification system using time division multiple access in the maritime mobile service. ITU-R, Februar 2026. Source
  4. Paolo, Fernando S.; Kroodsma, David; Raynor, Jennifer; Hochberg, Tim; Davis, Pete; Cleary, Jesse et al. (2024): Satellite mapping reveals extensive industrial activity at sea. Nature 625 (7993), pp. 85–91. doi:10.1038/s41586-023-06825-8

Full bibliography

This page describes how Portfolio Lab calculates; past results are not a forecast. All terms in the glossary.