Critical Materials Atlas
Method · origin tracing

What's hidden behind the refiner

The origin gap, traced — as a first-order estimate. Each country's imports are re-attributed from the apparent supplier (often a refiner or hub) to a likely mine origin, showing how much of a nation's critical-material supply is sourced via a refiner rather than the producer its customs data names.

Each country’s imports are re-attributed from the refiner or hub that shipped them back to the mine that likely produced the ore — showing how much of its supply really comes via a middleman.
The rule, and why it’s an upper bound

For every import flow: if the supplier genuinely mines the material (world mine share ≥ 5%) the origin stays the supplier; otherwise the supplier is treated as a refiner or hub, and the value is re-attributed to the material’s dominant mine. A country’s hidden dependence is the share of its imports re-attributed away from the apparent supplier.

First-order trace — an upper bound. We don’t observe each refiner’s ore sourcing, so all refiner-fronted flow is assigned to the single leading producer; real refiners blend ores, scrap and contracts. Read it as the scale of the refiner illusion, not a customs-grade origin. Computed by build_origin.py.

Hidden dependence by importer

Apparent #1 supplier vs the likely #1 origin (upper-bound attribution), and the share of imports that are refiner-fronted (sourced via a non-producer). Re-export hubs excluded; ranked by import value.

#ImporterApparent #1 supplierLikely #1 originrefiner-fronted
1🇨🇳 China🇨🇩 Congo [DRC] 15%🇦🇺 Australia 28% →36%
2🇯🇵 Japan🇦🇺 Australia 56%🇦🇺 Australia 74%28%
3🇰🇷 South Korea🇦🇺 Australia 26%🇦🇺 Australia 55%38%
4🇺🇸 United States🇨🇱 Chile 33%🇨🇱 Chile 41%40%
5🇮🇳 India🇿🇦 South Africa 23%🇦🇺 Australia 35% →63%
6🇹🇼 Taiwan🇦🇺 Australia 42%🇦🇺 Australia 48%34%
7🇩🇪 Germany🇺🇸 United States 11%🇨🇱 Chile 27% →63%
8🇹🇷 Turkey🇷🇺 Russia 36%🇨🇱 Chile 38% →51%
9🇮🇹 Italy🇧🇬 Bulgaria 11%🇨🇱 Chile 49% →68%
10🇧🇷 Brazil🇨🇱 Chile 32%🇨🇱 Chile 32%17%
11🇻🇳 Vietnam🇦🇺 Australia 50%🇦🇺 Australia 57%38%
12🇲🇾 Malaysia🇦🇺 Australia 40%🇨🇱 Chile 39% →60%
13🇹🇭 Thailand🇨🇳 China 20%🇨🇱 Chile 48% →53%
14🇫🇷 France🇨🇱 Chile 20%🇨🇱 Chile 32%39%
15🇮🇩 Indonesia🇦🇺 Australia 48%🇦🇺 Australia 44%23%
16🇨🇭 Switzerland🇿🇲 Zambia 25%🇷🇺 Russia 45% →94%
17🇬🇧 United Kingdom🇿🇦 South Africa 27%🇿🇦 South Africa 47%61%
18🇪🇸 Spain🇨🇩 Congo [DRC] 24%🇨🇩 Congo [DRC] 24%32%
19🇲🇽 Mexico🇺🇸 United States 56%🇨🇱 Chile 54% →74%
20🇨🇦 Canada🇺🇸 United States 44%🇺🇸 United States 27%33%
21🇸🇪 Sweden🇦🇺 Australia 17%🇨🇱 Chile 53% →66%
22🇵🇱 Poland🇰🇿 Kazakhstan 19%🇦🇺 Australia 47% →82%
23🇪🇬 Egypt🇨🇩 Congo [DRC] 37%🇨🇩 Congo [DRC] 37%36%
24🇸🇦 Saudi Arabia🇨🇩 Congo [DRC] 50%🇨🇩 Congo [DRC] 51%40%
25🇲🇰 Macedonia [FYROM]🇬🇧 United Kingdom 97%🇷🇺 Russia 53% →100%

Where the mine stage is more concentrated than the trade stage

27 of 32 materials are more concentrated at the mine (production) than in trade — apparent-supplier diversity can overstate how diversified the underlying production is. Trade and mine concentration are different objects (multi-stage chains naturally disperse trade), so read this as a flag, not proof of disguise.

MaterialApparent #1 supplier (trade HHI)Traced #1 origin (mine HHI)HHI gap
Gallium🇨🇳 China HHI 0.14🇨🇳 China HHI 0.96+0.82
Germanium🇨🇳 China HHI 0.14🇨🇳 China HHI 0.81+0.67
Cobalt oxides & hydroxides🇨🇩 Congo [DRC] HHI 0.17🇨🇩 Congo [DRC] HHI 0.74+0.57
Natural graphite🇨🇳 China HHI 0.22🇨🇳 China HHI 0.78+0.56
Silicon, < 99.99%🇨🇳 China HHI 0.20🇨🇳 China HHI 0.69+0.48
Nickel, unwrought🇳🇴 Norway HHI 0.09🇮🇩 Indonesia HHI 0.57+0.48
Platinum, unwrought🇿🇦 South Africa HHI 0.17🇿🇦 South Africa HHI 0.64+0.47
Tungsten, unwrought🇨🇳 China HHI 0.40🇨🇳 China HHI 0.85+0.45
Ferro-vanadium🇦🇹 Austria HHI 0.13🇨🇳 China HHI 0.54+0.41
Magnesium, unwrought🇨🇳 China HHI 0.54🇨🇳 China HHI 0.90+0.36
Antimony, unwrought🇹🇯 Tajikistan HHI 0.17🇨🇳 China HHI 0.47+0.30
Fluorspar, >97% CaF2🇲🇽 Mexico HHI 0.25🇨🇳 China HHI 0.54+0.29
Hafnium, unwrought🇨🇳 China HHI 0.14🇦🇺 Australia HHI 0.41+0.27
Phosphate rock🇯🇴 Jordan HHI 0.15🇨🇳 China HHI 0.41+0.26
Palladium, unwrought🇿🇦 South Africa HHI 0.14🇷🇺 Russia HHI 0.39+0.25
Ferro-niobium🇧🇷 Brazil HHI 0.59🇧🇷 Brazil HHI 0.82+0.23
Helium🇶🇦 Qatar HHI 0.16🇺🇸 United States HHI 0.39+0.22
Baryte🇮🇳 India HHI 0.11🇨🇳 China HHI 0.33+0.22
Phosphorus🇻🇳 Vietnam HHI 0.35🇨🇳 China HHI 0.57+0.21
Tantalum, unwrought🇺🇸 United States HHI 0.16🇨🇩 Congo [DRC] HHI 0.36+0.19
Refined copper cathodes🇨🇩 Congo [DRC] HHI 0.11🇨🇱 Chile HHI 0.30+0.19
Titanium, unwrought🇯🇵 Japan HHI 0.18🇨🇳 China HHI 0.33+0.15
Arsenic🇨🇳 China HHI 0.18🇵🇪 Peru HHI 0.32+0.14
Rare-earth permanent magnets🇨🇳 China HHI 0.42🇨🇳 China HHI 0.54+0.11
Feldspar🇹🇷 Turkey HHI 0.21🇹🇷 Turkey HHI 0.32+0.11
Coking coal🇦🇺 Australia HHI 0.22🇦🇺 Australia HHI 0.30+0.08
Natural borates🇹🇷 Turkey HHI 0.38🇹🇷 Turkey HHI 0.43+0.05

Computed from flows_2024.json + data.json → origin_trace.json.

Where the trace stops at China: its own imported feed

Suppliers with at least 5% of world mine output are kept as the origin, so for these materials the trace above stops at China. But China also imports ores, concentrates and intermediates for them, and the trade records then name China as the exporter of what it makes from them. This table shows that imported feed for the selected materials where China mines at least 5% of world output and the feed has a dedicated customs code.

Material and imported feedChina minesChina’s imports 20172024Top partner countries 2024, share of tonnes
Aluminium
bauxite (aluminium ores) · HS 260600
21%68.5 Mt158.6 Mt🇬🇳 Guinea 69%, 🇦🇺 Australia 25%, 🇹🇷 Turkey 2%
Manganese
manganese ores and concentrates · HS 260200
7%21.3 Mt29.3 Mt🇿🇦 South Africa 54%, 🇬🇭 Ghana 16%, 🇬🇦 Gabon 14%
Copper
copper ores and concentrates · HS 260300
8%17.3 Mt28.1 Mt🇨🇱 Chile 33%, 🇵🇪 Peru 25%, 🇲🇳 Mongolia 6%
Titanium
titanium ores and concentrates · HS 261400
32%3.1 Mt5.1 Mt🇲🇿 Mozambique 45%, 🇦🇺 Australia 12%, 🇳🇴 Norway 8%
Phosphate
natural phosphates · HS 251010, 251020
44%123 kt2,069 kt🇪🇬 Egypt 47%, 🇯🇴 Jordan 38%, 🇱🇧 Lebanon 5%
Hafnium
zirconium ores (zircon, the hafnium source) · HS 261510
10%980 kt1,746 kt🇦🇺 Australia 41%, 🇿🇦 South Africa 25%, 🇲🇿 Mozambique 8%
Fluorspar
fluorspar · HS 252921, 252922
60%175 kt1,347 kt🇲🇳 Mongolia 88%, 🇿🇲 Zambia 3%, 🇹🇭 Thailand, 🇳🇬 Nigeria and 🇿🇦 South Africa 2% each
Feldspar
feldspar · HS 252910
9%65 kt122 kt🇮🇳 India 80%, 🇹🇷 Turkey 17%, 🇧🇷 Brazil and 🇩🇪 Germany 1% each
Rare earths
rare-earth compounds and metals · HS 284610, 284690, 280530
69%34 kt77 kt🇲🇲 Myanmar [Burma] 57%, 🇲🇾 Malaysia 21%, 🇱🇦 Laos 14%
Baryte
natural barium sulphate · HS 251110
30%11 kt70 kt🇱🇦 Laos 80%, 🇲🇲 Myanmar [Burma] 17%, 🇰🇬 Kyrgyzstan 1%
Antimony
antimony ores and concentrates · HS 261710
48%71 kt53 kt🇹🇭 Thailand 31%, 🇲🇲 Myanmar [Burma] 16%, 🇹🇯 Tajikistan 11%
Graphite
natural graphite · HS 250410, 250490
78%147 kt52 kt🇹🇿 Tanzania 49%, 🇲🇬 Madagascar 23%, 🇲🇿 Mozambique 23%
Tungsten
tungsten ores and concentrates · HS 261100
80%4 kt12 kt🇰🇵 North Korea 29%, 🇲🇲 Myanmar [Burma] 19%, 🇷🇺 Russia 10%
How to read it, and what it cannot show

Gross tonnes, not content. Tonnages are gross weights as traded, not contained metal, so they cannot be set against mine output or turned into a share of China’s supply. Rows differ in what they count: rare earths are compounds and metals (HS 2805.30 also includes scandium and yttrium), not ore; hafnium is measured as zircon tonnage, which says nothing about hafnium content; fluorspar adds both acid and metallurgical grades.

Partner, not mine. The partner is the country China’s customs declarations record, which may be a miner, a processor or a transit country — for example Malaysia (rare-earth processing), Thailand (antimony ores) or Lebanon (phosphate rock) may not be where the material was mined. Several partners are sanctions-relevant: North Korea and Russia supply tungsten ores, and Myanmar appears in rare earths, antimony, tungsten and baryte; trade with North Korea rests on China’s declarations alone.

Cross-check. CEPII BACI, which reconciles exporter and importer declarations, is within 2.5% of China’s own total for 8 of 13 rows in 2024. It differs, BACI relative to China’s total, for hafnium (-40%); titanium (-31%); antimony (-4%); feldspar (+3%); graphite (+16%). For hafnium BACI also leads with South Africa (41%), where China’s record leads with Australia. For titanium BACI puts Mozambique at 21%, against 45% in China’s record. Partner shares also differ in places; BACI’s leading partners for every row are in the JSON. The table uses China’s own record because the question is where China’s imported feed comes from. Comtrade flags estimated weights on some of China’s 2024 rows by partner and customs code; the most are on rare earths (40 rows) and graphite (10 rows).

Two endpoints. 2017 and 2024 are endpoints of a series that is not smooth; the full 2017–2024 series is in the JSON. These records fall below half of both neighbouring years; treat them as suspect: the 2023 record for aluminium (28.8 Mt; neighbours 125.5 Mt in 2022 and 158.6 Mt in 2024; weights estimated by Comtrade); the 2022 record for phosphate (32 kt; neighbours 68 kt in 2021 and 1,430 kt in 2023); the 2022 record for fluorspar (279 kt; neighbours 668 kt in 2021 and 1,017 kt in 2023); the 2021 record for baryte (35 kt; neighbours 87 kt in 2020 and 80 kt in 2022); the 2020 record for graphite (26 kt; neighbours 197 kt in 2019 and 60 kt in 2021).

Not shown: Lithium carbonate: spodumene is in basket code HS 2530.90; Strontium carbonate: celestite is in basket code HS 2530.90; Ferro-vanadium: vanadium slag has no dedicated HS code; Coking coal: HS 2701.12 mixes coking and thermal coal; Arsenic: no dedicated ore code; Beryllium, unwrought: beryl is in a basket ore code; Magnesium, unwrought: mined as magnesite/dolomite; metal made domestically; Germanium: recovered from zinc and coal; no ore trade; Gallium: recovered from alumina; no ore trade; Silicon, < 99.99%: quartz feed is not traded under a dedicated code; Phosphorus: elemental phosphorus is made from phosphate rock (natural phosphates row). Import tonnes and partner shares: China’s own import declarations, UN Comtrade annual data (HS 2017 codes), net weight; cross-check: CEPII BACI V202601. “China mines” is the atlas mined list (USGS/IEA, approximate), a separate source not comparable with these tonnes. Computed by build_origin_feed.py → origin_feed.json. Sorted by 2024 tonnage.