Critical Materials Atlas
Index · supply risk

Supply-risk index

One 0–100 score per material — but never a black box. It is an explicit weighted blend of four visible components, shown as a bar on every row. Reweight them yourself; the raw numbers are in the open data.

One 0–100 score per material, built from four visible components — never a black box.
How the score is built

■ production (30%)   ■ refining (25%)   ■ trade (25%)   ■ opacity (20%). Each component is 0–100, from public data (production & refining: USGS/IEA shares; trade: reconciled-trade export Herfindahl; opacity: the origin gap). Their weighted sum is the gross score, then discounted for recyclability — gross risk is cut by 0.4 × the end-of-life recycling rate (EU CRM 2023), so a highly recycled material (tungsten 42%, aluminium 32%, antimony 28%, cobalt 22%) scores lower than its raw concentration implies. Substitutability is shown alongside but not folded into the score — a high-risk material that is also hard to substitute is the more strategic.

A transparent heuristic, not an official criticality assessment; it ignores price and stockpiles.

#Materialscorerecycsubst.gross components (width = weighted contribution)
1Beryllium, unwrought76—high
2Ferro-niobium63—medium
3Lithium carbonate62—high
4Phosphorus62—high
5Magnesium, unwrought6113%medium
6Gallium ⛓57—high
7Strontium carbonate55—medium
8Rare-earth permanent magnets521%high
9Natural graphite523%high
10Fluorspar, >97% CaF2481%high
11Ferro-vanadium472%medium
12Tungsten, unwrought4642%high
13Silicon, < 99.99%46—high
14Manganese ore469%high
15Aluminium ores / bauxite4632%high
11–18 ?Germanium ⛓41–472%high
17Cobalt oxides & hydroxides4322%high
18Natural borates421%medium
19Platinum, unwrought4014%high
20Titanium, unwrought3919%medium
21Antimony, unwrought3828%medium
22Nickel, unwrought3516%medium
23Phosphate rock3417%high
24Hafnium, unwrought34—high
25Tantalum, unwrought331%high
26Arsenic28—medium
27Feldspar25—low
28Palladium, unwrought2414%medium
29Coking coal24—high
30Refined copper cathodes2317%medium
31Helium221%high
32Baryte161%medium

⛓ gallium and germanium share one HS6 code (811292; identical trade; hafnium is separate). Computed by build_risk.py from data.json + flows_2024.json → risk.json.