Loading workbench page
Fetching primary parquet sources and computing exhibits.
Fetching primary parquet sources and computing exhibits.
Pharmaceutical trade is two markets stacked on top of each other. The visible one is finished formulations, HS chapter 30, the pills and vials that cross the pharmacy counter: a $898.4B export market in 2024, dominated by Western Europe and the United States. Underneath sits the market for active ingredients and their precursors, vitamins (HS 2936), hormones (2937), alkaloids (2939) and antibiotics (2941): a $60.9B market with a very different geography. This page measures both tiers with BACI HS6 trade data from 1996 to 2024, then uses the CEPII GeoDep dependence panel to ask which importers are one supplier away from a drug shortage.
World exports of finished formulations rose from $62.8B in 1996 to $898.4B in 2024, a 14.3x expansion. The four classic API headings together went from $15.9B to $60.9B, only 3.8x. The divergence is partly real (value migrated downstream into patented formulations and biologics) and partly compositional: many modern APIs, especially for biologics, ship inside chapter 30 or as unclassified intermediates rather than under the four legacy headings. Within the API tier the headings moved very differently: hormones (HS 2937, the heading that contains insulin and the peptide hormones behind the GLP-1 boom) multiplied 12.9x to $38.0B, while antibiotics (HS 2941), the workhorse generics tier, grew only 1.5x to $11.3B over twenty-nine years, roughly flat in real terms. Cheap, essential, and stagnant in value is exactly the profile that concentrates production in the lowest-cost location.
SELECT year, SUM(export_value)*1000 AS usd FROM 'country_year_product/**/*.parquet' WHERE product_code LIKE '30%' AND export_value > 0 GROUP BY year ORDER BY year;
The four headings have four different market structures, and the data does not support a single "China makes all APIs" story. In 2024 the top exporter of vitamins (HS 2936) is CHN at 40.4% of world exports, and the top exporter of antibiotics (HS 2941) is CHN at 45.7%. Hormones are a different world: IRL leads at 48.5% of a $38.0B market, reflecting where the multinational originators located peptide-hormone production. Alkaloids are the most dispersed heading, led by DEU at just 15.6%. Concentration ratios say the same thing: CR4 (the combined share of the top four exporters) runs from 52% in alkaloids to 80% in hormones. Every heading is above the 40% CR4 threshold that industrial-organization work treats as a tight oligopoly.
Put the two tiers side by side and the asymmetry is stark. The formulation market is led by DEU ($114.1B, 12.7% of world exports), followed by IRL and USA; the API tier is led by IRL (30.6%), with USA and CHNnext. Countries that dominate the finished tier do not necessarily control their own inputs, and the reverse holds too. India is the canonical case: the "pharmacy of the world" ranks #9 in formulation exports at $29.1B (3.2% of world exports), yet in the API tier it ranks #6 with $2.0B, and in antibiotics specifically it imported $1.9B against exports of $1.0B in 2024: a net importer of the ingredient class its generics industry runs on.
The GeoDep panel resolves India's antibiotic sourcing to the supplier level. In 2022, the largest single supplier of every one of the six antibiotic HS6 lines India imports is China, with first-supplier shares running from 52% (tetracyclines) to 97% (chloramphenicol); 3 of 6lines cross GeoDep's full dependence threshold (high concentration plus low substitutability). This is the axis New Delhi's Production Linked Incentive scheme for bulk drugs (2020) targets: formulation strength built on imported fermentation-based intermediates.
GeoDep flags an importer x HS6 pair as dependent when imports are concentrated on one origin and substitutes are scarce. Restricting to the pharmaceutical sector in 2022, 198 economies carry at least one dependent pharma line, and the world total stands at 2,538 dependent lines, up from 1,991 in 2019. The most exposed importer by count is JOR with 26 dependent pharma lines. On the supply side the picture is bipolar: European Union (EU27) is the dominant origin on 945of the world's dependent pharma lines, followed by CHN (739) and IND (260). The EU appears in GeoDep only as the bloc EUN, which cuts both ways: as a supplier it is the single largest source of pharma dependence for the rest of the world, while as an importer the bloc itself records just 12 dependent pharma lines in 2022, because intra-EU sourcing counts as internal.
Does pharma dependence fall as countries get richer? Joining the 2022 dependent-line counts to World Bank GDP per capita produces a flatter picture than the shortage literature might suggest. Average counts by income quartile are 12.9 (poorest quartile), 15.0, 15.0 and 12.2(richest quartile): a mild hump in the middle-income range, not a monotone decline. Depth looks the same everywhere: on dependent lines the first supplier's average share sits between 83% and 85% across all four quartiles. Two caveats keep this honest. First, dependence here is a countof flagged lines, not a volume or health-outcome measure; a rich country's three dependent oncology lines can matter more than a poor country's twenty. Second, the richest quartile excludes the EU member states individually (they enter as the EUN bloc, whose intra-EU sourcing is internal by construction), which pushes the high-income average down.
This page is the pharmaceutical layer of the supply-chain platform. To ask what would happen if a dominant supplier were cut off, the Mercator substitutes model scores alternative suppliers line by line. The quarterly pharmaceuticals brief tracks the same HS codes at monthly frequency. The supply-chain hub collects the full stack (concentration, chokepoints, friendshoring, vulnerability), and critical inputs generalizes the dependence question from medicines to every input a country needs in order to export.
SELECT year, SUBSTR(product_code,1,4) AS hs4, SUM(export_value)*1000 AS usd
FROM 'country_year_product/**/*.parquet'
WHERE SUBSTR(product_code,1,4) IN ('2936','2937','2939','2941') AND export_value > 0
GROUP BY year, hs4 ORDER BY year, hs4;Scroll horizontally to view the full chart.
Scroll horizontally to view the full chart.
WITH cyp AS (SELECT SUBSTR(product_code,1,4) AS hs4, country_code, SUM(export_value) AS v
FROM 'country_year_product/year=2024/*.parquet'
WHERE SUBSTR(product_code,1,4) IN ('2936','2937','2939','2941') AND export_value > 0
GROUP BY hs4, country_code),
tot AS (SELECT hs4, SUM(v) AS t FROM cyp GROUP BY hs4)
SELECT hs4, country_code, v/t AS share,
ROW_NUMBER() OVER (PARTITION BY hs4 ORDER BY v DESC) AS rn
FROM cyp JOIN tot USING (hs4) QUALIFY rn <= 5;Scroll horizontally to view the full chart.
SELECT hs6, first_odpt, share_odpt, dependent FROM 'geodep.parquet' WHERE iso3_importer = 'IND' AND year = 2022 AND hs6 LIKE '2941%' ORDER BY hs6;
SELECT iso3_importer, COUNT(*) AS n FROM 'geodep.parquet' WHERE year = 2022 AND dependent = 1 AND sect_pharmaceuticals = 1 GROUP BY iso3_importer ORDER BY n DESC LIMIT 15;
SELECT first_odpt, COUNT(*) AS n FROM 'geodep.parquet' WHERE year = 2022 AND dependent = 1 AND sect_pharmaceuticals = 1 GROUP BY first_odpt ORDER BY n DESC LIMIT 12;
WITH dep AS (SELECT iso3_importer AS iso3, COUNT(*) AS n FROM 'geodep.parquet' WHERE year = 2022 AND dependent = 1 AND sect_pharmaceuticals = 1 GROUP BY iso3_importer) SELECT d.iso3, d.n, w.value AS gdppc FROM dep d JOIN 'wdi_data.parquet' w ON w.iso3 = d.iso3 WHERE w.indicator = 'NY.GDP.PCAP.CD' AND w.year = 2022;