build_consumption.py → consumption.json. This is the input to the production-constrained anchor.
Cells are tonnes of contained material consumed per year, shaded by intensity within each column. — = no activity in that material’s drivers (a genuine ~0 consumer). Click a header to sort. Bottom row = capture ratio (share of world demand the column accounts for); * marks a rough end-use split (arsenic, magnets, hafnium, strontium).
▶ Watch it move over time — consumption 2000–2023
How it’s built — calibrated, not guessed
Every cell is a country’s real 2023 activity times a material intensity. The trick is that the intensity isn’t a hand-picked kg-per-unit that could be off by 10× — it is back-solved from a known world total, so the world sums can’t drift:
demand(country, material) = Σdrivers activity(country, driver) × intensity(material, driver)
A material’s end-use split (from USGS Minerals Yearbook and the EU Critical Raw Materials assessment) says how its demand divides across activities — cobalt is ~40% batteries, manganese ~90% steel, phosphate ~85% fertilizer. Each slice is pinned to the activity that drives it, and the intensity is set so the world adds up. The consequence, stated honestly on every column: where a material’s end-uses are only partly covered by our drivers, its capture ratio lands below 1 — it is never inflated to force a fit. A blank cell is a country with no activity in that material’s drivers: a genuine near-zero consumer, not a hole in the data.
The 16 activity drivers
Coverage is set by these drivers — broadly-measured ones (steel, electricity, population) reach ~every country; specialty ones (semiconductor fabs, aerospace) reach only the handful that have the industry, which is exactly right.
Stories in the matrix
China lights up almost every column
Because consumption follows activity, and China holds the largest share of world steel, power, vehicles and construction, it is the largest consumer of most materials — often by a wide margin. The matrix makes visible what production maps hide: the same country that refines the world’s materials also uses most of them.
Two material families, two signatures
Sort by Manganese or Coking coal and the ranking is the steel league table; sort by Lithium or Cobalt and it becomes the EV league table. The energy transition has its own consumption fingerprint, distinct from the old industrial one — you can read it straight off the columns.
The specialty metals live in ~5 countries
Gallium, germanium, tantalum consumption sits almost entirely in the chip-making economies (China, Taiwan, Korea, Japan, US), because that is who uses them. The long tail of blanks isn’t missing data — it is the truth that most countries consume none.
Phosphate is the one everyone shares
Nearly every industrial material concentrates in a few economies. Phosphate breaks the pattern: driven by fertilizer and population, its consumption spreads across the whole world — because everyone eats. It is the most democratic column in the matrix.
Confidence & limits
This is an estimate layer, and it says so per cell. Two honesty signals travel with every material — the capture ratio (how much of world demand the drivers account for) and a split-confidence tag (how well-established the end-use split is). They measure different things and can disagree: cobalt’s split is well-established (conf good) yet its capture is only ~0.40, because our drivers cover under half of its world demand — so read both, not the split tag alone. The four rough splits (arsenic, rare-earth magnets, hafnium, strontium) are opaque or fast-moving markets; treat their columns as directional.
The load-bearing assumption — state it plainly: intensity is uniform across countries. A country’s modelled consumption of a material is therefore just its share of the driver activity (steel, vehicles, electricity…) times a world intensity — so a country’s consumption share simply equals its activity share. The upshot is a hard limit on what this layer can answer: it cannot tell whether a country uses more or less of a material than its industrial size implies, and any per-country claim of the form “X consumes more/less than you’d expect” is unanswerable by construction, because the expectation and the estimate are the same number. A real per-country apparent-consumption series (production + imports − exports, from national materials balances) is a different and larger build. This is apparent consumption from activity; it does not model thrifting (less cobalt per battery over time) either. It is a trade-independent cross-check for the anchor, not a definitive inventory.