Methodology
The page that keeps us honest. For every module: where the data comes from, what we do to it, where it fails, and how often it moves.
Three commitments hold across the site. We aggregate rather than accuse: open AIS alone cannot attribute intent, so no module names a vessel in a sensitive matter. We link rather than copy: every figure carries its source. And we would rather publish a smaller, honest number than a larger, fragile one.
Incident database
- Sources
- NGA ASAM archive (public domain, closed June 2024); UKMTO advisories, MICA Center and IMB PRC reporting for the current period, curated by hand.
- Method
- Each event is typed by a keyword hierarchy (hijack > mine > jamming > seizure > strike > boarding), geocoded from the reported position, and zoned by bounding box. Vessel details are carried only when publicly reported by the source.
- Limits & bias
- ASAM understates robbery in under-reported regions and stopped updating in June 2024. Keyword typing misclassifies edge cases, roughly 3 to 5 percent on manual review. Curated 2026 entries cover the major reported events, not every incident; each carries its source link and positions are often approximate.
- Frequency
- Archive: fixed. Curated period: weekly, with the brief.
Strait transit monitor
- Sources
- IMF PortWatch daily chokepoint transit calls (satellite AIS via the UN Global Platform); live feeds from Fintraffic Digitraffic (Baltic, CC BY 4.0) and aisstream.io (world straits).
- Method
- Daily transit calls are aggregated into complete ISO weeks per chokepoint. Each week is compared to the same chokepoint's 2024-25 baseline; the rerouting index divides weekly Cape of Good Hope roundings by Suez transits.
- Limits & bias
- Transit counting misses transponder-dark passages by design. PortWatch data lands with a few days' lag and its methodology can be revised upstream; baselines inherit whatever bias the 2024-25 reference period carries.
- Frequency
- Weekly, with the Monday refresh; the live strait panels update in seconds.
AIS integrity watch
- Sources
- aisstream.io live position stream (volunteer shore receivers), processed in memory; Natural Earth 50m land polygons for the on-land test.
- Method
- One bounded listening session per week (~12 minutes) covers all six zones at once. Five heuristics run on the raw stream: jamming clusters, impossible jumps, speed anomalies, dark gaps above a duration threshold, and positions solidly on land. Only zone-level counts are written.
- Limits & bias
- Sampling makes the counts a floor, not a census — comparable week to week, biased low wherever receiver coverage is thin. Heuristics measure the signal environment, not intent: a dark gap can be a failure, not a choice. Thresholds trade sensitivity for false positives and are documented in the repository. No vessel is ever identified, which is a deliberate cap on what this module can claim.
- Frequency
- Weekly sampled session, with the Monday refresh.
War risk zones atlas
- Sources
- Public circulars and industry notices (JWC listed areas, industry HRA notices).
- Method
- Each area is stored as an approximate perimeter with a validity interval and its source circular, then rendered over the incident record of the selected month.
- Limits & bias
- Perimeters are reconstructions for visualisation, not the legal texts. The circulars themselves are the only authoritative reference; ours may lag or simplify.
- Frequency
- On publication of relevant circulars.
Weekly risk brief
- Sources
- Everything above, plus cited public reporting.
- Method
- Around three hundred words and one chart, written by a human, with the chart following the observatory's figure conventions: the title states the conclusion, the source sits below.
- Limits & bias
- An editorial product: selective by design. What it omits is a judgement, and the judgement can be wrong.
- Frequency
- Weekly, Mondays.