Critical Materials Atlas
Method · capability, not exports

Who actually refines

The refiner is not the miner — but the exporter is not always the refiner either. This is a capability map: for each material it fuses two lenses to show who genuinely turns ore into refined metal. The trade feedstock signature (a country that imports ore and exports refined is transforming it — a fingerprint that survives export controls) plus BGS/USGS physical output, which catches the domestic-absorbing refiner — a giant like China that refines enormous volumes but consumes them at home, so it never shows up in refined exports.

A chokepoint is a stage of the supply chain where so few countries hold the capacity that everyone else depends on them — a point where one supplier’s decision (an export ban, an accident, a policy) can squeeze the whole world. We measure it at the refining stage with the HHI (Herfindahl index, the sum of squared national shares): 0 = perfectly spread, 1 = a single country. Above 0.25 is concentrated, above 0.5 extreme.

A country scores as capable if either lens sees it: cap = max(physical share, trade score). Colour marks the class that matters most — can the trade data even see it? Teal = a refiner visible in trade (it exports refined). Amber = a domestic-absorbing refiner only physical data catches. Grey = a raw exporter (ships ore, no refining). The sub-type on each bar says how: integrated (mines + refines), import-fed (refines imported ore), or mine-to-metal.
How it’s measured & caveats

From the BACI bilateral matrix, per country × material: net_down = (refined_exp − refined_imp)/(refined_exp + refined_imp) (>0 = net exporter of refined), feedstock_import = ore_imp/(ore_imp+ore_exp) (~1 = sources ore by import), and trade_score = refined_world_share × max(net_down,0) — a robust, re-export-penalised, export-control-proof marker. Physical refined share is BGS/USGS from the atlas data. cap = max(physical, trade_score).

Caveats: the physical share is a single recent vintage, so the year slider moves the trade signal, not the physical one — migration is clearest where trade carries the story (e.g. the magnet stage). The NdFeB magnet stage is trade-only (no physical magnet series), so premium magnet makers that net-import magnets (Japan, Germany) are undercounted — the same trade-blindness, now without a physical rescue. REE feedstock codes (2805.30 / 2846.90) are aggregated. Refining concentration is cross-checked against two authoritative sources: the IEA Critical Minerals Dataset (CC BY 4.0) — refining capacity by country for the energy-transition minerals — and the EU Critical Raw Materials 2023 study (European Commission), which gives the top global supplier and bottleneck stage (extraction vs processing) for ~31 materials, including the specialty metals where trade and USGS/BGS fall silent (tungsten, gallium, germanium, PGMs). A third, forward layer — the USGS World Minerals Outlook to 2029 (SIR 2025-5021, CC0) — adds 2024 capacity concentration and world capacity growth for 8 commodities (lithium capacity is set to roughly double; magnesium contracts). A final diversification pipeline overlay names representative publicly announced projects building capacity outside the dominant producer (Lynas, MP Materials, Iluka, Rio Tinto Rincón, Umicore…), with the IEA’s aggregate finding that refining/downstream capacity still lags mining to 2035 — curated, not exhaustive (the IEA’s project-level list is not public). The capability score cap = max(physical share, trade score) mixes two units, so read it as a detector and a class (integrated / import-fed / …), not a cardinal 0–1 measure — the bar length is indicative, the type is the finding. The IEA / EU-CRM / USGS cross-check lines are different vintages and stages, so they can disagree with the bar and with each other (that’s expected, not an error). “Most product-space-adjacent non-refiners”: raw density is ~95–98% just a country’s overall diversity (big diversified economies are close to everything — a control-test finding), so the list is ranked on density with breadth (diversity + ECI) regressed out — proximity to this stage beyond what size alone buys. Even so, read them as plausible, not destined. Built by build_feedstock.py. See also Break the chokepoint (the decision layer: what kind of moat, who could break it, who is building it), The refining wedge (does concentration rise from ore to metal? + IEA capacity), the product-space map and complexity.

Capability over time — all 32 materials

Trade-based capability score with the year slider. The first ~11 (a clean ore→refined HS pair) carry the full feedstock fingerprint — import-fed vs mine-to-metal; the rest are typed from physical mine-vs-refine. Below, the same 32 get a plain mine-vs-refine read, then the chokepoint ranking and the supply-shock test.

drag to watch capability migrate, 2018→2024
refiner (visible in trade) domestic-absorbing (physical only) raw exporter

Every critical material — who mines it vs who refines it

The cards above score capability from trade, with the full ore→refined feedstock fingerprint where a clean HS pair exists (~11 materials) and a physical-derived type otherwise. This second grid gives the same all 32 materials the plainest read of all — each country’s mine share (grey) above its refine share (teal), the mine→refine handoff itself: a country that refines far more than it mines is import-fed; one that does both is integrated; one that digs but doesn’t refine is a raw exporter.

mine share refine share

All critical materials, by refining chokepoint

The full ore→refined trade fingerprint (import-fed vs mine-to-metal) needs a clean HS pair, which ~11 of 32 materials have; the rest are typed from physical shares. Refining concentration needs only refined-output shares, so it spans all 29 that report them. HHI over BGS/USGS refined shares (magnets: HS 850511 exports). Colour = chokepoint band.

The fallback test — if the top refiner stopped supplying

A supply-shock counterfactual, not a forecast. The leader’s share of world refined output is the magnitude at risk; the fallback is who else exports the refined form onto the world market — the countries the rest of the world could actually buy from (a hoarded-at-home refiner is not a fallback; an exporter is). A material is a single point of failure only if the leader holds ≥50% of output and no other exporter reaches a third of its export volume. Export fallbacks can include re-export hubs, so read them as availability, not independent capacity.

Reading it: the miner and the refiner are usually different countries, and the refiner sits downstream where the value is. The amber bars are the story the export data alone would miss — China refining copper, alumina and titanium sponge for its own industry, invisible to any trade metric. At the magnet stage, capability collapses onto a single country: watch China climb from 0.39 (2018) to 0.58 (2024) as the rest of the world stays near zero.

Robustness & HS-code provenance

HS-code provenance — which codes are clean

Independent robustness: two separate reconciliations of UN Comtrade — BACI (CEPII) and the Harvard Growth Lab Atlas (Bustos-Yildirim method, queried live via its public GraphQL API) — plus raw reporter-declared Comtrade. Agreement between the two independent reconciliations is the belt-and-braces check; a ⚠ marks a leader that differs from BACI. OECD BIMTS is balanced trade at aggregate (not HS6) level, so it can’t cross-check individual refined codes. Built by build_robustness.py + build_harvard.py; provenance by build_provenance.py.

Method lineage: Hidalgo & Hausmann product space / economic complexity; feedstock-signature capability mapping addresses the export-RCA-≠-capability critique (constrain with physical output; read the direction of transformation). Cf. the product-space paper on China’s critical minerals (Frontiers Env. Sci. 2023) and the Fitness-Criticality algorithm (Valverde-Carbonell, Pietrobelli & Menéndez, Resources Policy 2024).