How the price test is built (and its limits)
Price = the implied world unit value (trade value ÷ quantity, $/tonne) from BACI, per material, 2002–2024 — the same series behind the value-vs-volume page. We take the 2018→2024 change and correlate it across materials against the squeeze index and companionality.
Limits (important): trade unit values are not spot prices — they mix grade, product form and contract lags, are nominal (not inflation-adjusted), and are noisy for thinly-traded materials. Gallium, germanium and hafnium share one HS6 code (811292), so they carry identical unit values (marked ⛓) — counted once in the correlations, not three times. This is a directional corroboration test, not a price model; a weak or mixed correlation is a real result, not a bug. Inputs: volume.json × demand.json → price_squeeze.json.
Squeeze vs realised price change, 2018–2024
Right = higher squeeze index (surging demand + inelastic supply). Up = the implied price actually rose over 2018–24. If the thesis were mechanical, everything would sit on a rising diagonal — watch where it doesn’t.
The price record, material by material
| Material | 2024 unit value $/t | change 18–24 | squeeze | what the price says |
|---|
What the test refines
The clean result would have been “squeeze predicts price.” The real one is sharper: what companionality changes is the direction of price outcomes — or rather, who decides it. Gallium and germanium — by-product-locked and hit by 2023 export controls — spiked; cobalt, equally by-product-locked, fell as Indonesian nickel dragged a flood of by-product cobalt to market. Same structure, opposite prices, because in each case the host’s cycle decided. That is exactly why the host-shock layer matters, and it pointed to the next child: track each squeeze metal’s price against its host’s output.
That child came back with bad news, and it belongs here. The host-coupling test looked for “the host decides” as a general law and could not find it: on real prices with a valid control, the average companion–host coupling is 0.03, and only bismuth←lead survives. Testing the channel the theory actually names — the host’s output — finds nothing at all. So this paragraph is narrowed to what it can carry: in these episodes, host and policy shocks set the direction. Gallium’s 2023 spike and cobalt’s Indonesian crash are documented events and are not in doubt. What is not supported is the stronger claim that companion prices systematically track their hosts. They track the commodity cycle, like everything else.