← all methods · TT-007 instrument page · raw markdown: ?raw=1
Grade: REPORTED for gross tonnage and hull type. **The TEU column is MODELLED and
is never quotable as a measurement.**
Every other instrument counts boats. Without this, a 15,000 TEU hull and an 8,000 TEU
hull are both "one arrival". This converts a count of ships into a measure of capacity,
and — since 2026-07-30 — tells us what kind of ship each hull actually is.
Wikidata, via SPARQL, keyed on IMO number (P458). The IMO number is a permanent
7-digit hull identifier with a check digit. It encodes nothing about the ship's type
— it is only ever a lookup key.
| property | what it is | populated on |
P289 vessel class | the named sister-ship class — "Colombo Express-class" | ~8% |
P31 instance of | the fundamental hull type — "container ship", "bulk carrier" | ~100% |
Until 2026-07-30 this instrument queried only P289, so it could not tell a container
ship from a bulk carrier. Adding P31 identified real contamination inside the
container fleet: **18 bulk carriers, 6 car carriers, 4 vehicle cargo ships and 4 bare
ro-ro hulls.**
Residual gap: 81 hulls return the generic value "ship", which is unusable. They
still receive a TEU estimate, marked CLASS UNVERIFIED in the basis string.
Deadweight (P4131) is 0% populated, which kills the clean DWT/GT discriminator
(≈1.0–1.2 container, 1.7–1.9 bulk).
AIS carries no capacity field and no free source publishes TEU per hull. Wikidata
carries gross tonnage for most large hulls, and GT/TEU is stable across the modern
container fleet at roughly 11. So:
TEU ≈ gross tonnage / 11 (±10%)
The divisor is published alongside the result, so a reader can recompute it. Every row
carries a teu_basis string stating exactly how its figure was derived.
The divisor only applies to container hulls. A vehicle carrier or bulk carrier has
a completely different tonnage-to-capacity relationship. Before the guard existed, this
registry published three US Navy vehicle carriers as container ships — CAPE DUCATO at
2,671 TEU, USNS RED CLOUD at 6,612, USNS BENAVIDEZ at 6,306.
An explicit container mention always overrides an exclusion keyword: a
*roll-on/roll-off container ship carries boxes, a bare roll-on/roll-off ship*
does not. Wikidata spells the phrase out, which the shorter ro-ro keyword never
matched — three bare ro-ro hulls were receiving estimates until this was fixed.
Tested and rejected 2026-07-30: GT / (LOA × beam) does not classify. Container
ships span 4.85–8.03 at p10–p90; vehicle carriers span 4.73–7.87. Complete overlap,
because car carriers are also tall boxy ships. Worse, the ratio tracks size, not
type — CMA CGM HOMERE at 170 m scores 3.83, EVER MEGA at 366 m scores 8.86.
There is no substitute for a registry.
Of the 196 vessels in the current call set:
| share | |
| confirmed container by registry type | 24% |
| confirmed NOT container — excludable | 6% |
| liner name only, type inferred not confirmed | 20% |
| genuinely unknown — no type and no liner name | 49% |
So container ships cannot yet be identified with confidence. Half the fleet is
unresolved, and about half of those have no Wikidata entry at all. What has improved is
the ability to exclude: hulls the registry positively names as something else are now
dropped, where previously they were counted as container traffic.
Unknown hulls are kept, deliberately. Dropping traffic we merely cannot classify
would thin an already small sample and could hide real congestion.
| candidate | has hull type | machine-retrievable | status |
| THETIS-MRV (EMSA) | yes, plus reported cargo carried | no endpoint found — three REST paths and a POST search all 404 | best candidate; needs browser inspection of the portal's XHR |
| IMO GISIS | yes, authoritative | free account, no bulk API | possible for targeted lookups |
| Lloyd's Register | yes, incl. deadweight | registration, no bulk | LR-classed hulls only |
| Equasis | yes | account + scraping, ToS unclear | fallback |
| commercial (VesselFinder, MarineTraffic, Datalastic) | yes | paid | usable only if named and cited |
Looked up in batches of 40 IMOs, backed off on failure. Idempotent: the same IMO set
produces the same rows. Hulls already carrying tonnage are skipped on re-run.
node registry.js look up IMOs our own receivers have seen
Current: 246 rows, 200 carrying a TEU estimate, 1,107,713 TEU total.