The Setup
In the last 90 days, 110,372 vessel visits entered the tracking layer. 96.5% of them โ 106,532 visits โ carry a hydrostatic cargo estimate. That coverage figure is accurate. What it conceals is the shape of those estimates.
Of the 106,532 visits with a cargo estimate, 90,323 (84.8%) carry a value of zero metric tons. Not null. Not missing. Zero.
That distinction matters for compliance workflows: a null record triggers a data-quality flag. A zero triggers a cargo check. These are two different downstream outcomes.
The Chain
Seven hydrostatic methods are active. Two produce zero for essentially every visit they touch:
no_draft_data: 17,707 visits. Zero cargo in all 17,707 cases. Confidence score: 0.762.max_draft: 13,258 visits. Zero cargo in 13,257 of them. Confidence score: 0.799.
Together they account for 30,965 visits with a confident zero estimate โ not because the vessel was verified empty, but because no draft differential was available.
The method designed to actually measure cargo change from draft data โ draft_velocity_filtered โ covers 27,901 visits and produces a nonzero figure in only 3,540 of them. Its confidence score: 0.720.
The method that guarantees zero has a confidence score 5.8 points higher than the method that at least attempts to measure cargo movement. The best-performing method is trim_saline_corrected: 3,485 visits, 95.3% nonzero, average confidence 0.833. It is the least-used method in the set by roughly 8ร.
The Implication
When a downstream system sees hydrostatic_confidence = medium and estimated_cargo_hydrostatic = 0, it cannot distinguish between a genuinely empty vessel and one where draft data simply was not available. Both states look identical in the output field.
This matters for sanctions screening, cargo-weight risk models, and port capacity forecasting. A vessel flagged for STS transfer activity or dark-event correlation will often carry a cargo estimate. If that estimate is zero via no_draft_data, risk analysts may read the vessel as low-tonnage or in ballast. The compliance question never reaches cargo weight.
Of the 16,209 visits that do produce a nonzero estimate, the average cargo is 16,432 MT. The maximum is 254,640 MT. The range of what is being assigned zero is enormous.
What to Watch
The 96.5% coverage figure is a lagging signal. The meaningful metrics are nonzero estimate rate (15.2%) and confidence score calibration. If no_draft_data confidence scores drop relative to trim_saline_corrected, that indicates the confidence system is being recalibrated toward actual cargo output. It has not moved yet.
The fallback_tons_per_meter method covers 44,154 visits โ 41.5% of all estimates โ and produces zero in 78.8% of them. When it does produce a nonzero figure, that figure is inferred from a proxy rule, not derived from a physical draft observation. 9,340 nonzero fallback estimates sit in the dataset alongside 34,814 zeros from the same method.
Limitations
This analysis covers estimated_cargo_hydrostatic, hydrostatic_method, and hydrostatic_confidence_score in vessel_visits for the last 90 days. It does not distinguish confirmed-empty vessels (arriving in ballast with genuine zero cargo) from no-data-available zeros. That is the core limitation โ and the core problem. The data layer cannot separate them either.
Data: 110,372 vessel visits, arrived_at > 90 days. Overwatch production data as of 2026-07-31.