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, unwrought74—high
2Ferro-niobium64—medium
3Lithium carbonate64—high
4Magnesium, unwrought6013%medium
5Gallium ⛓57—high
6Strontium carbonate57—medium
7Phosphorus57—high
8Rare-earth permanent magnets521%high
9Natural graphite513%high
10Fluorspar, >97% CaF2511%high
11Silicon, < 99.99%47—high
12Tungsten, unwrought4642%high
13Manganese ore469%high
14Ferro-vanadium452%medium
15Aluminium ores / bauxite4532%high
11–19 ?Germanium ⛓41–472%high
17Cobalt oxides & hydroxides4322%high
18Titanium, unwrought4319%medium
19Natural borates421%medium
20Platinum, unwrought3914%high
21Antimony, unwrought3528%medium
22Tantalum, unwrought331%high
23Hafnium, unwrought32—high
24Nickel, unwrought3216%medium
25Phosphate rock3117%high
26Arsenic31—medium
27Palladium, unwrought2514%medium
28Feldspar25—low
29Coking coal24—high
30Refined copper cathodes2317%medium
31Helium221%high
32Baryte151%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.