All projectsMarket analysis · Commodity trade

Real project · Work in progress

How much of the market are we missing?

An analytics tool that compares vessel lineup volumes with official customs figures, so a commodity inspection company could see its real market coverage and who to approach next.

20–30%of trade actually covered, on products the client thought it led
The problem
A commodity inspection company wanted to cover as many vessels as possible moving in and out of the Netherlands and neighboring countries, but couldn't see how much of the real trade its data captured.
What I built
An analytics tool that compares vessel lineup volumes with customs figures by product, country and month, and shows coverage, top shippers and receivers, and the leading countries worldwide.
My role
Built it alone, end to end: the analysis logic, the SQL, the charts and the interface.
Result
The client learned it covered only about 20–30% of trade in products it thought it led, and used the tool to find growth opportunities and the companies to contact.
Why it was hard
  • Lineup and customs data use different product names, units and dates
  • Customs publishes late, so recent months are often missing
  • Shipper and receiver names are often not supplied
Tools
Python · Plotly · SQL · Snowflake · company data platform API
Invented data

Explore market coverage.

Country names are real; every number is invented.

Compare lineup and customs tonnage for the Netherlands, Belgium and Germany in metric tons (MT), from January to October 2026. Some countries lack the latest 3–4 customs months; shorten the period to compare complete months.

Products · select one or more

Missing customs figures: Jul 2026, Aug 2026, Sep 2026, Oct 2026. Coverage for the selected period is withheld until every selected month has a customs figure. Customs totals below include complete months only.

Lineup MT3.95MAll selected months
Customs MT6.54MComplete months only · partial total
Coverage ratio—Customs figures are missing for part of this period.
Months compared6 / 10Months with complete customs figures

Monthly tonnage

Both series use MT on the same scale. The customs line stops where figures are missing; exact values and ratios are below.

▰ Lineup MT━ Customs MT
0611.5K1.22MJanFebMarAprMayJunJulAugSepOct
Invented data · metric tons · coverage = lineup ÷ customs. “—” means customs figures have not been published for this month.
MonthLineup MTCustoms MTCoverage ratio
Jan 2026223,0701,004,60022.2%
Feb 2026242,220961,00025.2%
Mar 2026298,7731,059,30028.2%
Apr 2026347,6061,113,90031.2%
May 2026403,4181,179,40034.2%
Jun 2026455,0201,223,00037.2%
Jul 2026465,418——
Aug 2026518,982——
Sep 2026524,704——
Oct 2026471,010——

Top shippers and receivers

Lineup tonnage for Netherlands, imports, and the selected products and months. Each list totals 3,950,221 MT. “Others” combines the remaining named partners; “Not supplied” always stays separate.

Top 5 shippers

  • Demo shipper C478,837 MT
  • Demo shipper B470,961 MT
  • Demo shipper D465,695 MT
  • Demo shipper A443,205 MT
  • Demo shipper E436,569 MT
  • Others1,229,768 MT
  • Not supplied425,186 MT

Top 5 receivers

  • Demo receiver A1,106,042 MT
  • Demo receiver C790,028 MT
  • Demo receiver E592,512 MT
  • Demo receiver G395,002 MT
  • Demo receiver B236,991 MT
  • Others513,647 MT
  • Not supplied315,999 MT

World ranking

Selected products and months across all 15 countries, for imports and exports. Shares use invented reported customs tonnage across these countries; the reporting-country filter is a local comparison, not a limit on this world ranking. Select a country to open its history. The Netherlands, Belgium and Germany can also be used as the reporting country.

Top importing countries

Incomplete period: some countries have unpublished months. Totals and world shares cover reported figures only.

Invented customs data · 124,024,000 MT reported worldwide
CountryQuantity MTWorld share
Missing: Aug 2026, Sep 2026, Oct 202616,166,80013.0%
14,437,50011.6%
13,326,60010.7%
8,884,5007.2%
8,884,5007.2%
Rest of worldIncludes unpublished months62,324,10050.3%

Top exporting countries

Incomplete period: some countries have unpublished months. Totals and world shares cover reported figures only.

Invented customs data · 138,750,600 MT reported worldwide
CountryQuantity MTWorld share
15,548,10011.2%
Missing: Aug 2026, Sep 2026, Oct 202614,627,60010.5%
14,437,50010.4%
12,216,8008.8%
12,216,8008.8%
Rest of worldIncludes unpublished months69,703,80050.2%
Illustrative port scene representing commodity trade analysis
Illustrative photo.

What it answers

  • How much of a product's trade does the client see, month by month?
  • In which months is coverage lowest?
  • Who are the top shippers and receivers for that product in that country?
  • Which countries lead imports and exports worldwide, and how has each changed over two years?

The analytical decisions

  • Coverage = lineup tonnage ÷ customs tonnage, per month.
  • Free-text product names grouped into customs HS codes (in one case, 61 names into one product).
  • Mixed units converted to metric tons; rows without a usable quantity are counted and shown, not silently dropped.
  • Arrival dates used for imports and departure dates for exports, so both sources describe the same trade.
  • When customs hasn't published some months, the tool flags an incomplete period instead of showing a misleading overall percentage.
  • Year-over-year change compares only months reported in both years.
  • Country-by-product concentration, labeled as lineup concentration, not market share.
  • Data checks for duplicates, missing partners and quantity problems.

What the client found

Products the client believed it led turned out to be only about 20–30% covered. Instead of a strong position, the tool showed room to grow, and the top shipper and receiver lists showed who to approach.

A second use inside my company

We also use it to judge new lineup sources before buying or scraping them: load the new data, compare it with customs, and see how much of the market it really covers. A built-in Snowflake SQL box lets analysts write their own queries or build them by clicking.

Status

Started in September 2026. Work in progress.

TECHNICAL SURFACE

PythonPlotlySQLSnowflakeCompany data platform API
NEXT SYSTEM / 02

40+ countries of shipping reports, turned into one daily dataset.