Transit Anomalies: Ship Traffic Against Its Usual Level
A busy strait is not news. One where the number of ships passing has moved 15% or more away from its last 12 weeks is worth a look. Off-Nadir Delta records the second kind at 28 straits and canals, and puts each record on the same map as the reporting.
Quick answer — what a transit anomaly is here
A transit anomaly is a record that the number of ships passing a strait or canal left its own usual level. At 28 places — among them the Strait of Hormuz, the Suez Canal, Bab el-Mandeb, the Strait of Malacca, the Bosporus, the Panama Canal and the Taiwan Strait — the 7-day average of ship transits is compared with the median of the 7-day averages over the 12 weeks before. It is outside its usual range when it is statistically unusual (a modified Z-score of 3.5 or more) and at least 15% away. Each record states where, when, in which direction and by how much, and never a cause. The underlying measurements are updated weekly, so a change becomes visible 4 to 11 days after it happens: days, not hours. Records are events on the Watchfloor map, and GET /api/v1/transit-anomalies returns every measured place as an index against its usual level.
What is a transit anomaly?
The number of ships that pass a strait or canal each day is published as a measurement derived from ship-tracking (AIS) signals. On its own that number says little: some places are always busy and some are always quiet.
A transit anomaly is the moment that number stops being ordinary for that place. The comparison is with the same strait or canal’s own recent past, so a place that is always busy is filtered out by its own history, and a sharp fall or rise is kept.
Off-Nadir Delta does not provide the daily measurements themselves. What it keeps is its own record of the anomalies, and an index of each place’s level against its usual level.
How “usual” is defined
The rule
- The value read is the 7-day average of ship transits, which evens out the days of the week.
- The usual level is the median of the 7-day averages over the 12 weeks before.
- Outside the usual range means statistically unusual against those weeks (a modified Z-score of 3.5 or more) and at least 15% away.
- Places where both levels are under 10 ships a day are not judged.
- One record covers a continuing move in the same direction; 14 quiet days end it.
Which ships
- Container, dry bulk, general cargo, ro-ro and tanker ships.
- Counted from ship-tracking (AIS) signals, so ships that do not broadcast are not counted.
- Other kinds of vessel are not counted.
- Tankers alone and container ships alone are judged by the same rule, and recorded separately when the total is not outside its usual range in the same direction.
- Port calls at busy ports (at least 10 calls a day) are judged by the same rule, with a minimum change of 25%.
Sources: UN Global Platform; IMF PortWatch (portwatch.imf.org)
How late it is: days, not hours
The underlying measurements are updated weekly. A change in ship traffic therefore becomes visible here 4 to 11 days after it happens. Each level carries the last day it covers, and that day is not today.
Read a transit anomaly as confirmation that a level has moved, alongside reporting that arrived sooner. It is not an alert at the moment something happens. Earlier figures can also change after they are first recorded; when that happens the level is marked as revised.
What a record states
- Which strait or canal, and the 7 days the average covers.
- Whether transits fell below or rose above the usual level.
- How far from the usual level the average is, as a percentage.
- Whether it is all counted ships, tankers alone or container ships alone.
- How tankers compare with their own usual level, for a record on all ships.
What it does not state
- A cause. Weather, holidays, a closure, an attack and re-routing all change the number.
- That a strait is closed or open. It says the number of ships changed, not what is allowed to pass.
- What happened today. The measurements are updated weekly.
- Every vessel. Ships that do not broadcast, and kinds of vessel outside the five counted, are not in it.
The 28 straits and canals
All 28 are marked on the Watchfloor while the Transit anomalies layer is on, whether or not anything is unusual there, and each one can be added to a Watchlist from its card.
- Bab el-Mandeb
- Balabac Strait
- Bering Strait
- Bohai Strait
- Bosporus
- Cape of Good Hope
- Kerch Strait
- Korea Strait
- Lombok Strait
- Luzon Strait
- Makassar Strait
- Mindoro Strait
- Mona Passage
- Ombai Strait
- Oresund Strait
- Panama Canal
- Strait of Dover
- Strait of Gibraltar
- Strait of Hormuz
- Strait of Magellan
- Strait of Malacca
- Suez Canal
- Sunda Strait
- Taiwan Strait
- Torres Strait
- Tsugaru Strait
- Windward Passage
- Yucatan Channel
Where it appears
- Watchfloor. The Layers panel has “Transit anomalies”. Measured places are faint ship marks when within their usual range, and amber and in front when outside it; the legend counts both.
- A card per place. The current level, the 7-day trend against the usual level, and the definition of “usual”.
- Watchlist. “Watch this place” on the card, to be told when its transits leave their usual range and when reporting names it.
- Map. The Signals panel on the map page has the same switch.
- Delta Agent. Answers can read transit anomalies, and state them as measurements without a cause.
- API, SDK and MCP. Described below.
Heat sources measured by satellite are recorded the same way; see Thermal Anomalies.
Transit anomaly API
One request returns every measured strait and canal, places outside their usual range first. It takes no parameters and costs 3 tokens.
curl "https://offnadir-delta.com/api/v1/transit-anomalies" \ -H "Authorization: Bearer ond_..."
statusisusual,below,aboveornot_measured.level.indexis the 7-day average with the usual level set to 100;level.changeis the difference from usual, andlevel.tanker_indexis the same index for tankers alone.level.revisedis true when the underlying figure changed after it was first recorded.anomalygivesdirection,since,daysandevent_idwhile a place is outside its usual range.meta.as_ofis the latest day measured, andmeta.definitionstates what “usual” means.
The index is this product’s own measure. Ship counts are not returned by the API, the Python SDK or the MCP server.
Also available as client.transit_anomalies.list() in the Python SDK, and through GET /api/v1/signals?origin=transit and the MCP tool query_signals, which return the anomalies as events. Full details are in the API reference.
What each plan sees
On every plan, the Watchfloor map shows each measured place and whether its transits are within their usual range. The ship marks are there without paying.
The numbers — how far from the usual level a place is, the index and the trend — are part of the full account of each event, in the app and over the API. Pricing shows which plan opens it.
How It Works
Open the Watchfloor
Transit anomalies are on the map next to reported events. The Layers panel has “Transit anomalies”.
Find the ship marks
The 28 measured straits and canals are always marked: faint when within the usual range, amber and in front when outside it.
Open one
The card for a place states its current level, the 7-day trend against the usual level, and what “usual” means.
Watch the place
“Watch this place” adds it to your Watchlist, so you are told when its transits leave their usual range and when reporting names it.
Frequently Asked Questions
What is a transit anomaly?▼
Which straits and canals are measured?▼
Does a transit anomaly mean a strait is closed or shipping was attacked?▼
How quickly does a transit anomaly appear?▼
Which ships are counted?▼
Are tankers and container ships tracked separately?▼
Are ports covered as well as straits?▼
How many records does one disruption make?▼
Is there a transit anomaly API?▼
Does the API return ship counts?▼
What does each plan see?▼
Related Resources
Thermal Anomalies
The other measurement on the map: heat sources far above their usual level
Learn moreDelta Watchfloor
World events and transit anomalies on one map
Learn moreDelta Watchlist
Watch a strait or canal and be told when it changes
Learn moreAPI Reference
GET /api/v1/transit-anomalies
Learn morePython SDK
client.transit_anomalies.list()
Learn moreData Sources
Every source, licence and citation
Learn moreMethodology
How events are located and weighed
Learn morePricing
Which plan opens the measurement detail
Learn moreSee Transit Anomalies on the Map
The ship marks are on the Watchfloor for every account. The numbers and the API detail are plan-dependent; see Pricing.
From headline to satellite evidence
One connected intelligence workflow across four surfaces — free to start, no GIS software or remote-sensing background required.