Does scrap answer price?
A common hope in critical-materials policy is that when a metal gets expensive, recycling fills part of the gap. We tested it twice, each time filing the design before running it: on US recovery of scrap, and on world trade in scrap. Neither shows a detectable increase in recycled metal in the two years after a price rise. In the recovery study only two metals had the power to see a response at the size the filing said would matter, and in those two the tonnes were not there. For lead, the other filed equation — the recycled share of consumption — does show a rise; the two disagree, and both are below.
1. Does US recovery of scrap rise after prices do?
NOT SHOWN
The first design pooled 16 metals from the US Geological Survey’s historical statistics, 1953–2022, and asked whether scrap-derived supply, as a share of US consumption, rises in the two years after a 50% rise in that metal's real price, measured by the USGS unit value — which is value per tonne of apparent consumption, not a market price[7]. Sixteen metals are in scope; 15 have an apparent-consumption series, so the share equation estimates on 959 metal-years over those 15 (gold has none). The answer was -0.71 points of consumption with year effects (95% interval -2.59 to +1.17, p = 0.43) and +0.23 points without them (-1.41 to +1.87, p = 0.76). But the smallest response this design could reliably detect was 2.6 and 2.3 points, and the filing had said 1 point would matter. So that first result could not tell a useful response from none, and we said so. Within it the two lags point opposite ways — +0.71 points after one year and -1.42 after two (p = 0.001) — and a share that falls two years after a price rise is as easily the denominator moving, consumption recovering faster than scrap, as anything about scrap supply.
A second design, filed before it was run, took each metal on its own, 1960–2022, on World Bank market prices — which is why it covers seven metals and not sixteen: only those have both a Pink Sheet price and a US secondary-production series — and asked whether a metal’s scrap tonnes rise by at least 0.2% per 1% of price within two years. The threshold came from the first filing, not from the literature, but it happens to sit at the bottom of the published range: a survey of the econometric estimates puts the own-price elasticity of secondary supply at roughly 0.20 to 0.39[1], with 0.21 estimated for European secondary aluminium[2]. For the six base metals the prices are London Metal Exchange cash quotations for primary or refined metal, and for gold a spot bullion price[8] — in no case the price a scrap collector is paid, which is a gap between the regressor and the decision it stands for. Each metal is reported with the smallest response its own series could have seen; a metal that could not see 0.2 is called untestable, not a null.
| Metal | two-year elasticity | 95% interval | p | smallest it could see (80% power) | on USGS unit values | reading |
|---|---|---|---|---|---|---|
| Lead | +0.01 | -0.09 to +0.11 | 0.80 | 0.14 | +0.01 | not shown to respond |
| Aluminium | +0.01 | -0.09 to +0.12 | 0.81 | 0.15 | -0.03 | not shown to respond |
| Nickel | -0.08 | -0.23 to +0.08 | 0.34 | 0.22 | -0.07 | untestable at 0.2 |
| Copper | -0.03 | -0.23 to +0.16 | 0.73 | 0.28 | +0.02 | untestable at 0.2 |
| Zinc | -0.13 | -0.43 to +0.17 | 0.39 | 0.42 | -0.16 | untestable at 0.2 |
| Gold | +0.20 | -0.25 to +0.64 | 0.38 | 0.63 | +0.20 | untestable at 0.2 |
| Tin | +0.21 | -0.26 to +0.68 | 0.37 | 0.67 | +0.22 | untestable at 0.2 |
Source: US Geological Survey, historical statistics (DS 140) · World Bank commodity prices (Pink Sheet). Computed values: out/scrap_response_per_metal.json. Market prices for the estimates, USGS unit values for the comparison column.
Lead and aluminium could have seen a response at the filed threshold, and show none that large. Their series could detect 0.14 and 0.15; both estimates are close to zero and their intervals exclude 0.2. Among the seven tested, these are the metals where recycling is largest (median share of US consumption from scrap: lead 59% and aluminium 40%). The lead result depends on which price is used: on the USGS unit value its series could only have seen 0.22, which would make it untestable too, so aluminium is the one metal whose reading holds on both price measures. As a descriptive summary across all seven metals, five of them untestable at the threshold, the unweighted mean of the seven responses is +0.03, and their spread puts a descriptive 95% band of -0.09 to +0.15 around it — a summary of seven estimates, not an inferential interval. Using the USGS unit value instead of a market price moves no estimate by more than 0.05.
Source: US Geological Survey, historical statistics (DS 140). Computed values: out/scrap_response.json.
The filed checks
| Check (points of consumption per +50% price, unless noted) | estimate | p | reading |
|---|---|---|---|
| Primary (newly mined) supply, same equation elasticity of primary tonnes, not points | +0.21 | 0.09 | a weak positive estimate, interval -0.03 to +0.45; not conclusive, and its difference from the scrap estimate was never tested |
| Placebo: future prices | +0.02 points | 0.98 | nothing shows, and this check could only have seen 3.1 points, so it is weak evidence rather than a pass |
| Placebo: another material’s price | +0.85 points | 0.20 | larger than the headline itself; not a pass |
| Excluding gold, silver and platinum | -0.97 points | 0.16 | |
| Excluding recession years | -1.32 points | 0.24 | |
| Adding the same year’s price | -0.15 points | 0.93 | |
| 1973–2022 only | -0.02 points | 0.98 | |
| 1953–1990 only | -0.73 points | 0.50 | |
| Poisson on levels, to keep years with no secondary production not the filed check | -0.562 | 0.04 | the filing added it to keep zero years; there are none in the sample, so this is a contemporaneous levels association and carries no weight |
Source: US Geological Survey, historical statistics (DS 140). Computed values: out/scrap_response.json. The pooled design uses USGS unit values as the price.
Leaving out one metal at a time moves the headline between -1.30 and -0.30 points, and no version is significant: no single metal drives it. Four of these checks carry year effects and four do not; where they differ the difference is large — excluding gold, silver and platinum gives -0.97 points with year effects and +0.07 without.
The per-metal share results quoted below come from the second design, on market
prices: Amendment A and
out/scrap_response_per_metal.json.
2. Does scrap trade follow price?
SAME YEAR ONLY
If recovery is not shown to rise, scrap might still move: collected in one country and shipped to where prices pay. The second study took world trade in six metals’ scrap from CEPII BACI, 2002–2024 — though the real prices stop in 2022, where the deflator they share with the recovery study ends, so every estimate here rests on the years 2003–2022 — for 328 country–metal pairs among the small exporters of each (131 countries), with the same two-year shape. BACI values are reconciled from both sides of each flow, weighted by how reliably each country reports[9], so an export figure here is not one country's declaration. The headline is therefore the small exporters of each metal, where a response is easiest to see; the large exporters, who ship most of the tonnes, are a separate check below and it is underpowered.
Keeping the common cycle in, scrap exports rise with price by +0.58% per 1% (95% interval +0.42 to +0.75), but almost all of it is in the same year: the three terms of that estimate are +0.51 in the same year, -0.01 a year later and +0.08 two years later. Estimated on its own, without the same-year term, the two-year response is -0.03 (p = 0.66), where the design could have seen about 0.20. Within a year prices and shipments are set together, so this is movement with the cycle, not a demonstrated supply response. Imports of the same scrap rise too (+0.91% per 1%, without year effects), which looks more like a boom than a redirection; the design cannot rule out either, nor a drawdown of stocks. Once the common cycle is removed with year effects, the estimate (+0.28, p = 0.06) oscillates from year to year, the smallest effect it could see is 0.42, and it is not claimed. A placebo on future prices shows nothing (+0.17, p = 0.23).
Source: CEPII BACI, release V202601 · World Bank commodity prices (Pink Sheet). Computed values: out/scrap_trade.json.
Three checks the filing promised, run afterwards
The filing named three more checks that the first run did not contain. They were written and committed before they touched the data, and run on the same sample, prices and estimator.
| Check | with year effects | without year effects | reading |
|---|---|---|---|
| Leave out 2006 | +0.30 (0.09) | +0.69 (<0.001) | claimed estimate still above its detectable size |
| Leave out 2004 | +0.30 (0.06) | +0.60 (<0.001) | claimed estimate still above its detectable size |
| Steel (7204), on Türkiye’s import unit value 176 pairs | not identified | +0.79 (<0.001) | same-year only, like the other metals |
| Gold (7112), on the Pink Sheet price 30 pairs | not identified | +0.32 (0.07) | nothing readable |
Source: CEPII BACI, release V202601 · World Bank commodity prices (Pink Sheet). Computed values: out/scrap_trade_extras.json.
Leaving out the two years with the largest world price moves (2006 and 2004, defined in the code before the run) leaves the claimed estimate, without year effects, above its detectable size either time, so it is not one episode. Gold shows nothing readable. Steel looks like the other metals: the response is in the same year (+0.72) and nothing follows (0.00 a year later, +0.07 two years later). With one price per year for a single metal, every exporter faces the same price, so year effects absorb the price terms completely and the year-effects version cannot be estimated for steel or gold on their own — an earlier version of this page reported one in error, and its apparent later response was an artefact of that.
Both the chart above and the table below are the cycle-inclusive specification, without year effects, and the elasticity is cumulative over the same year and the two that follow.
| Scrap of | elasticity, same year + two | 95% interval | p | smallest it could see (80% power) | exporters | reading |
|---|---|---|---|---|---|---|
| Aluminium | +0.84 | +0.48 to +1.20 | <0.001 | 0.51 | 118 | same-year comovement; lags not shown |
| Copper | +0.52 | +0.34 to +0.71 | <0.001 | 0.27 | 116 | same-year comovement; lags not shown |
| Lead | +0.65 | +0.22 to +1.07 | 0.004 | 0.60 | 37 | same-year comovement; lags not shown |
| Zinc | +0.04 | -0.33 to +0.41 | 0.83 | 0.53 | 30 | not distinguishable from zero |
| Nickel | +0.49 | +0.07 to +0.91 | 0.03 | 0.60 | 18 | positive, but below the filed power bar, so not read |
| Tin | +3.05 | +0.77 to +5.34 | 0.01 | 3.16 | 9 | positive, but below the filed power bar, so not read |
Source: CEPII BACI, release V202601 · World Bank commodity prices (Pink Sheet). Computed values: out/scrap_trade.json.
The filed checks
| Check | estimate | p | reading |
|---|---|---|---|
| Imports instead of exports | +0.91 | <0.001 | both sides of the same flows rise together, which looks more like a boom than a redirection; the design cannot rule out either |
| Value instead of tonnes | +1.46 | <0.001 | not independent evidence: scrap unit values track the metal price, and a unit value is a value per tonne whose product mix shifts, not a price[10][11] |
| Placebo: future prices | +0.17 | 0.23 | nothing shows, and this check could have seen 0.39, so it is a pass |
| Placebo: another metal’s price | +0.09 | 0.56 | nothing shows, and this check could have seen 0.43, so it is a pass |
| Large exporters, separately | +0.25 | 0.41 | underpowered rather than empty: 13 clusters, and it could only have seen 0.89 |
| Before 2018 | +0.19 | 0.19 | |
| Leave one metal out (claimed specification) | +0.53 to +0.66 | all <0.001 | the same-year comovement does not depend on any one metal |
| Scrap unit values against the metal price | 0.34 to 0.89 | – | log correlation, for the seven lines with a price series (steel has none): scrap prices track the metal price, which is why the value check above is not independent evidence |
| From 2018 | +1.11 | 0.17 | China’s scrap import restrictions fall here — its Category 7 copper-scrap ban took effect in December 2018 and redirected flows through Malaysia, South Korea, Taiwan and others[5] — and the period is too short to say anything |
Source: CEPII BACI, release V202601 · World Bank commodity prices (Pink Sheet). Computed values: out/scrap_trade.json.
The first two checks keep the headline's specification, which leaves the common cycle in; the placebos, the exporter split and the two period splits carry year effects, which remove it.
The last column applies the rule the filings set: an estimate smaller than what its own exporters could have detected with 80% power is not read as a response, even where its p-value is below 0.05 — that bar was set before the estimates, and a realised sample can still put a significant coefficient inside it. A reading of “same-year comovement” means the cumulative estimate is larger than the smallest effect that metal's exporters could have detected, and — as the chart above shows for the six together — that the mass of it sits in the same year rather than in the two that follow; lead clears its own bar narrowly (+0.65 against 0.60). Tin rests on nine exporters and an estimate about the size of the smallest they could detect, so it is not read.
Steel on its own price: a later response, but not one that holds up
That left the question the trade study could not ask: steel scrap, the largest scrap market, has no World Bank price. It has one from the US Bureau of Labor Statistics, the producer price index for iron and steel scrap. A follow-up study, filed before the index was read, put steel into the six-metal panel on that price, with year effects and a separate set of steel terms — estimable this time, because steel's price moves differently from the other metals' within a year (the full design matrix is full rank, 527 of 527, which rules out collinearity and nothing more), on 172 small-exporter pairs for iron and carbon-steel scrap (stainless and alloy scrap left out, which is why the count differs from the 176 pairs of all steel scrap in the table above). It read a three-way rule set in advance for the one- and two-year terms together: responds after the same year if the interval lies above zero and the estimate is at least 0.20; no response of that size if the interval's upper end is below 0.20; inconclusive otherwise.
Source: US Bureau of Labor Statistics, producer price index WPU1012, iron and steel scrap · World Bank commodity prices (Pink Sheet) · CEPII BACI, release V202601. Computed values: out/steel_scrap_price.json.
Inconclusive. Steel scrap moves with its price in the same year (+0.78), like the other metals. The later response is +0.34, carried by the year after (+0.27). The filed primary, with errors grouped by exporter, puts its interval at +0.05 to +0.63, and by the rule it reads “responds after the same year”. But the price is the same for every exporter in a year, which the filing itself said makes those errors too small and why it asked for errors grouped by year beside them; grouped by year, the interval runs from -0.03 to +0.70 (p = 0.07) and the reading is inconclusive. Leading with the stricter reading was decided after the result, on review, and is logged in the filing (its deviation 2). The estimate is also below what the design could reliably detect (0.41, or 0.51 by year). The checks do not help: the placebo on future prices is inconclusive overall (+0.10, p = 0.55), but its one-year-ahead term is +0.23 (p = 0.04), about as large as the real one-year term, which points to prices that persist rather than to exporters responding late, though it does not rule a delayed response out; with errors grouped by exporter, the later response stays at +0.32 without 2021 and +0.32 on real prices to 2022; and for the large exporters it is inconclusive (+0.01, interval -0.49 to +0.52). The US index is a US price, and the steel-mill price, demand from Türkiye and China's scrap import rules can move steel's scrap price and its exports together; year effects shared with the other metals remove such shocks only in part. On the Türkiye import unit value, the scrap-trade study's own check above, nothing followed after the same year; on the US index something may, but it does not survive the stricter errors.
What the two say together
As far as open data can see, neither US recovery nor the scrap exports of the smaller exporters, the sample the trade headline rests on, is shown to rise in the two years after a price rise. Neither result is novel: the US Geological Survey plotted price against old-scrap recycling efficiency for twenty-five metals and found no relationship (R² = 0.05), a cross-metal comparison at three base years rather than a within-metal response[4], and an autoregressive model of recycled copper supply found industrial activity and world output carrying the series, with limited dependence on the copper price[3]. Scrap trade moves with price within the year; whether US recovery does was not part of either filed test (an exploratory run, in the scrap-trade filing, suggests it does). No conclusive evidence was found that a price rise brings more recovered metal, or more cross-border shipments of scrap, over the following two years (steel included: its later response on the US steel scrap index is positive but inconclusive under the stricter errors); within the year itself, shipments do move with price — which is as consistent with a boom that lifts both sides, or with stocks being drawn down, as with metal being redirected.
What neither study can say, as both filings require it to be said. New and old scrap are mixed: the US statistics separate them only for aluminium, so a rise in "scrap" can be a factory off-cut returning faster rather than an old product being collected. Prompt scrap from fabrication rarely crosses a border and home scrap never does, so the trade study sees merchant scrap only. Neither study sees capacity: they see the supply that appeared, not what could have been recovered. BACI's tonnages are estimated for many flows, and the trade study's dependent variable is tonnes. And policy moves this market as much as price does — export licences, import bans and duties all act on the same flows.
That is narrower than “recycling does not respond to price”. It is US recovery and world trade only; the tests are predictive, not causal; five of the seven metals in the first study cannot see the threshold — and underpowered designs are the rule rather than the exception in empirical economics, which is why an unpowered null is weak evidence on its own[6] — the two metals that were powered are the exception, and their intervals do exclude a response at the filed size; and nothing here covers the newer critical materials, which have no such series. For a policy that counts on scrap to cushion a price shock within a couple of years, it is still the relevant evidence: on the metals where it can be checked, no response of that size was detected in the two years after. Within the shock year itself, scrap does move between countries, which may reallocate metal even where it creates none.
References
- Söderholm, P. and Ekvall, T. (2020). "Metal markets and recycling policies: impacts and challenges." Mineral Economics 33(1–2): 257–272 (published online 2019). link
- Blomberg, J. and Söderholm, P. (2009). "The economics of secondary aluminium supply: an econometric analysis based on European data." Resources, Conservation and Recycling 53(8): 455–463. link
- Fu, X., Ueland, S. M. and Olivetti, E. (2017). "Econometric modeling of recycled copper supply." Resources, Conservation and Recycling 122: 219–226. link
- Sibley, S. F. (2011). "Overview of flow studies for recycling metal commodities in the United States." US Geological Survey Circular 1196-AA. link
- Ryter, J., Fu, X., Bhuwalka, K., Roth, R. and Olivetti, E. A. (2021). "Emission impacts of China's solid waste import ban and COVID-19 in the copper supply chain." Nature Communications 12: 3753. link
- Ioannidis, J. P. A., Stanley, T. D. and Doucouliagos, H. (2017). "The power of bias in economics research." The Economic Journal 127(605): F236–F265. link
- Kelly, T. D. and Matos, G. R., comps. (2014). Historical statistics for mineral and material commodities in the United States. US Geological Survey Data Series 140. link
- World Bank (2026). World Bank Commodities Price Data (The Pink Sheet), with its "Description of Price Series" annex. Prospects Group, Washington, DC. link
- Gaulier, G. and Zignago, S. (2010). "BACI: International Trade Database at the Product-Level." CEPII Working Paper 2010-23. link
- Silver, M. (2007). "Do unit value export, import, and terms of trade indices represent or misrepresent price indices?" IMF Working Paper WP/07/121. link
- Gaulier, G., Martin, J., Méjean, I. and Zignago, S. (2008). "International trade price indices." CEPII Working Paper 2008-10. link
Data
- US production, consumption and recovery. US Geological Survey, Historical Statistics for Mineral and Material Commodities in the United States, Data Series 140 (a US government work). usgs.gov.
- Market prices. World Bank commodity price data (the “Pink Sheet”), monthly, averaged to the year and deflated to 1998 dollars by the deflator implied by the USGS nominal and real pair. worldbank.org.
- Scrap trade. CEPII BACI, release V202601, under the Etalab Open Licence 2.0. cepii.fr. Method: Gaulier, G. and Zignago, S. (2010), CEPII Working Paper 2010-23. wp2010-23.
Filings and code. Each design was committed before its first run and each
deviation is logged with its date:
scrap recovery (with Amendment A, the per-metal
design), scrap trade and
steel scrap on its own price.
Sources. US Geological Survey, historical statistics for mineral and material commodities
(DS 140); World Bank commodity prices (Pink Sheet); CEPII BACI, release V202601 (Etalab Open
Licence 2.0). Built by build_scrap_studies.py from out/scrap_response.json,
out/scrap_response_per_metal.json, out/scrap_trade.json,
out/scrap_trade_extras.json and out/steel_scrap_price.json; the steel price is
the US Bureau of Labor Statistics producer price index WPU1012, iron and steel scrap
(bls.gov).