Critical Materials Atlas
Method study · how to model a shock

Four ways to model a supply shock — and the honest choice

A fair challenge to the host-shock layer: is a static “what if this host drops X%” the right tool, or does it need a network-cascade, an input–output model, or a dynamic VAR? We compared the four families the literature offers — specifically for propagating a shock from a host commodity to the critical by-products recovered from it, under a hard open-data, reproducible constraint — and let the choice follow from the evidence, not the fashion.

Verdict: keep the static first-order shock as the spine — it answers the exact question a public atlas can honestly answer and is the same logic the official USGS and EU criticality methods use — but supplement it with the trade-network and governance layers the atlas already has, relabel its outputs as exposure bounds, not forecasts, and add sensitivity bands. A VAR is a category error here (it measures price co-movement, not physical propagation); input–output models can’t even see by-product metals; and the structurally-correct supply-curve model needs proprietary cost data. Transparency beats false dynamism.
How this study was run

The problem: model how a supply cut to a host commodity (zinc, copper, nickel, aluminium) propagates to the critical by-products chained to it (gallium, germanium, cobalt, vanadium, indium), for a fully public, reproducible atlas with no proprietary data. Four candidate model families were each assessed on: the question they answer, open-data feasibility for thin by-product markets, whether their assumptions hold, and what they capture vs miss. Each family was assessed from first principles and against the primary literature, and the conclusions are reconciled here. This page documents the comparison so the method choice is auditable, not asserted.

The question decides the method

Every method below is legitimate — for a different question. The trap is picking the most sophisticated one rather than the one that answers “if this host is cut, how much by-product supply is mechanically at risk?” on data anyone can re-run. The four, scored for exactly that:

Method familyQuestion it answersOpen-data
fit
By-product
fit
Verdict
Static first-order
host cut → dependency share
Which by-products are mechanically tied to which hosts, and how big is the first-order exposure?★★★★★★★★☆☆SPINE
Network cascade
trade / IO graph
How does the shock ripple indirectly — A feeds B feeds C — and which nodes are chokepoints?★★★★☆★★★☆☆SUPPLEMENT
Input–output (MRIO)
EXIOBASE / EORA
How does a sector shock propagate through inter-industry purchases to GDP?★★☆☆☆★☆☆☆☆NO (backbone)
Dynamic VAR / SVAR
price / volatility
Do host and by-product prices historically co-move and spill over in time?★★☆☆☆★☆☆☆☆NO (category error)
Structural supply-curve PE
joint-production equilibrium
Given cost curves, what price & quantity clear after a mine/country shock?★☆☆☆☆★★★★☆FUTURE

The four families, in full

Spine 1 · Static / first-order disruption scenario

“Cut the host by X%; how much by-product supply is mechanically at risk?”
Open data
Excellent. Needs only production shares + companionality — all public.
Holds for by-products?
As a screening bound, yes. Its linearity ignores stockpiles, recycling and substitution — so it’s an upper bound on exposure, not a forecast.
Precedent
The official USGS 2025 US Critical Minerals disruption methodology, the EU CRM assessment, and Graedel & Nassar screening are all static scenario methods. This is the mainstream, not a shortcut.
Verdict
Keep as the spine. It is the honest, reproducible answer to the screening question — provided its output is read as a bound.

Supplement 2 · Network cascade

“How does the shock propagate indirectly, and which nodes are single points of failure?”
Open data
Good. Built from BACI trade + the by-product graph — which the atlas already has.
Holds for by-products?
Captures the indirect ripple static misses; but full physics-style cascade rules (“30% flow loss = node failure”) overstate thin markets that inventories and spot trade buffer.
Precedent
Buldyrev et al. (cascades on interdependent networks); recent metal trade-network criticality studies; the 2024 iron-ore disruption-propagation model.
Verdict
Already in the atlas — the supply-shock cascade (step 11) is exactly this, in real tonnes. The higher-order piece is covered.

Not the backbone 3 · Input–output (MRIO)

“How does a sector shock cascade through the whole economy to output and jobs?”
Open data
Poor for this problem. EXIOBASE / OECD-ICIO / EORA are open, but by-product metals are not separate sectors — gallium, germanium, indium sit invisibly inside “aluminium” or “other non-ferrous.” The model literally can’t resolve them.
Holds for by-products?
No. Fixed Leontief coefficients hide joint production; the real mechanism is mine-level co-production, not “buy less from sector 24.”
Verdict
Wrong resolution. Valuable for downstream economic damage at sector level — a different question — but a category mismatch for companion-metal supply. (This is why the atlas’s GVC-upstreamness attempt was dropped earlier.)

Category error 4a · Dynamic VAR / SVAR

“Do host and by-product prices move together over time?” — not “how much supply is lost.”
Open data
Weak. Host prices are fine; by-product prices are sparse, fragmented, and broken by policy events (China’s Ga/Ge export controls) — too few clean observations to identify a stable model.
Holds for by-products?
No. A VAR estimates historical price co-movement, but the causal mechanism here is physical co-production, not a price relationship. Using it as the propagation engine is statistical sophistication without physical credibility.
Precedent
Diebold–Yilmaz spillover index; SVAR commodity studies — mostly on liquid bulk markets.
Verdict
Not the backbone. Legitimate only as a price-side appendix for liquid pairs — which the atlas already does, as correlation, in host-coupling (step 8).

Future work 4b · Structural supply-curve / partial equilibrium

“Given real cost curves and joint output, what clears after a shock?”
Open data
Low. Needs mine-level costs, capacities and recovery rates — typically proprietary (S&P, Wood Mackenzie, company filings). USGS + spot prices alone under-identify the curves for trace by-products.
Holds for by-products?
Yes — this is the correct economics of joint production, and models it properly.
Precedent
The Nature Communications 2025 copper–cobalt–nickel supply-curve framework; classic joint-product PE (Pindyck; Slade).
Verdict
The right long-run direction, incompatible with “open & reproducible” today. Reserve as a linked deep-dive for the few metals where open data are strong enough.

The chosen architecture

Mechanical host→by-product bounds (static, the spine)
  × geographic & trade chokepoints (network cascade — already built)
  × governance & concentration context (risk / GeoPolRisk — already built)
  = a reproducible screening tool — with IO, VAR and structural PE cited as limitations and future work, to be added only when proprietary calibration is available.

The refinements this study prescribes for the host-shock layer — the concrete payoff, not just a verdict, and all three now live on the host-shock page:

1 · Bounds, not forecasts — done. The output is read as a companionality-bounded exposure bound (the maximum first-order supply at risk), never a predicted production loss.   2 · Sensitivity bands — done. Every loss now carries a low–high range from a ±15pp uncertainty on companionality, so no number is a false point estimate.   3 · Shock-stage labels — done. The simulator tags each scenario as a mine, smelter/refinery or trade shock — and correctly routes a trade embargo to the cascade/network layers, since co-production doesn’t model it.

Why transparency beats dynamism here

A more elaborate model is not a more truthful one. A VAR or a structural supply curve looks more rigorous, but on this problem each either answers a different question (price co-movement), can’t see the objects of interest (by-products inside sector aggregates), or silently imports assumptions that can’t be reproduced (proprietary cost curves). For a public atlas whose entire credibility rests on anyone being able to re-run every number, the static first-order shock — visibly imperfect, but visibly why — is the correct spine, and the network-cascade and governance layers already supply the higher-order and contextual reads. The honest frontier is a structural joint-production model; the honest present is a transparent bound. This page is the receipt for that choice.