Pre-registration
EU Emissions Trading System (ETS) allowance prices traded in a sustained €70-100/tCO2 range from late 2021 through 2024 (with a peak at €105 in February 2023), a step-change above the €5-30 range that prevailed through Phase I-III (2005-2020). At this price level, classical carbon-pricing theory predicts an acceleration of fuel-switching from coal to gas in power, marginal abatement investment in industry, and measurable extra emissions reductions beyond the pre-2021 trajectory. The hypothesis tests whether ETS-covered-sector emissions in 2022-2024 declined faster than the pre-2021 trend after netting out the 2022 gas shock (which forced coal substitution against the ETS signal in some countries) and the 2023-2024 industrial-output contraction (which reduced emissions for non-pricing reasons). The acceleration test: ETS-sector emissions intensity (tCO2 per unit of activity) declined faster 2021-2024 than 2010-2020 trend.
Falsification criterion — what would disprove this
This hypothesis is considered falsified if:
Not supported if (a) β_log_ETS_price on emissions intensity is zero or wrong-signed at p<0.10 after gas-shock + IPI controls, OR (b) post-2021 emissions-intensity trend-break is not faster than pre-2021 trend at p<0.10, OR (c) industry abatement capex announcements show no positive elasticity to ETS price (capex responds with multi-year lag, but no response by 2024 would refute the investment-channel mechanism), OR (d) the headline emissions decline is fully explained by gas-shock + output contraction (suggesting the ETS price signal is doing nothing on top).
formal test & threshold
test: ets_price_signal_emissions_intensity_panel threshold: β_log_ETS_price < -0.10 at p<0.10 on power emissions intensity AND β_log_ETS_price < -0.05 at p<0.10 on industry emissions intensity AND Post-2021 intensity decline > 1.5x pre-2010-2020 trend AND Industry abatement-capex elasticity to ETS price > 0 at p<0.10.
Method
- Template
did_callaway_santanna- Fixed effects
country, year- Clustering
country- Sample
- 12 countries · 2010 – 2026
- Evidence type
- causal
Primary specification: panel regression of log emissions intensity (industry + power separately) on log ETS price + controls (TTF, oil, IPI, HDD), with country + year FE. Identification: ETS-price variation post-2021 step-change. Test: β on log_ETS_price < 0 at p<0.10 on emissions intensity, after partialling out gas-shock + industrial-output channels. Secondary: pre-2021 vs post-2021 trend-break test on emissions intensity. Did the slope flatten further (faster declines) after the price step-change? Decompose into power vs industry — power- sector intensity drop is dominated by coal-to-gas-to-renewables fuel-switching; industry drop requires actual abatement-capex response, which is slower. Tertiary: industry abatement-capex announcements regression on ETS price — does the price signal predict announced decarbonisation investment cumulating with a 2-3 year lag? Known limitations: (1) 2022-2023 ETS-covered emissions fell partly because of gas-shock induced industrial-output contraction (energy-intensive plant idling). Separating "less output → less emissions" from "same output but more abatement" requires output-normalised intensity metric, which is the primary outcome here. But the intensity metric is noisy at country-sector level. (2) Phase 4 (2021-2030) tightened cap + linear reduction factor + MSR holds back excess allowances; price is endogenous to all three. Treatment is bundled. (3) ETS2 (separate system for buildings + road transport) launches 2027; v1 scope ends 2026 to keep ETS1 isolated. (4) Free allocation phase-out for CBAM-covered sectors begins 2026, introducing time-varying effective price faced by EU producers.
Data
| Variable | Source | Transform |
|---|---|---|
log_eu_ets_verified_emissions outcome | eea:eu_ets_verified_emissionstier 2 | log |
log_eu_ets_emissions_intensity_industry outcome | constructed:ETS verified emissions in industrial subsectors (steel, cement, chemicals, refining) ÷ subsector value added (Eurostat stier 5 | log |
log_eu_ets_emissions_intensity_power outcome | constructed:ETS verified emissions in power sector ÷ generation (TWh, ENTSO-E). Captures coal-to-gas-to-renewables intensity shift.tier 5 | log |
log_eu_coal_generation_share outcome | constructed:ENTSO-E aggregated thermal generation by fuel — coal/lignite share of total generation. entsoe fetcher pending; Eurostattier 5 | log |
log_eu_industry_abatement_capex outcome | constructed:BloombergNEF / IEA decarbonisation tracker — EU heavy-industry decarbonisation announcements (hydrogen, electrification,tier 5 | log |
log_eu_ets_allowance_price_eur treatment | constructed:EEX EUA spot price index, monthly average. eex fetcher pending; manual-drop fallback under data/manual/derived/.tier 5 | log |
post_2021_step_change_dummy treatment | constructed:indicator = 1 from 2021-Q1 onwards (when ETS price first sustained above €40 + Fit-for-55 announcement).tier 5 | indicator |
log_natural_gas_ttf control | constructed:TTF EUR/MWh, monthly. eex fetcher pending or manual-drop.tier 5 | log |
log_brent_oil control | imf_pcps:POILBREtier 1 | log |
log_real_gdp_eu control | world_bank_wdi:NY.GDP.MKTP.KDtier 2 | log |
log_industrial_production_index_eu control | oecd:STSIND4_PRODMANtier 2 | log |
heating_degree_days_eu control | eurostat:nrg_chdd_mtier 1 | level |
● ready · ● pending · ● reconstruct-needed
Detailed result card
Result card — eu_ets_price_2022_2026_carbon_signal_strength
Verdict: INCONCLUSIVE_DATA_PENDING — no outcome variable loaded
Pre-registration
- Claim: EU Emissions Trading System (ETS) allowance prices traded in a sustained €70-100/tCO2 range from late 2021 through 2024 (with a peak at €105 in February 2023), a step-change above the €5-30 range that prevailed through Phase I-III (2005-2020). At this price level, classical carbon-pricing theory predicts an acceleration of fuel-switching from coal to gas in power, marginal abatement investment in industry, and measurable extra emissions reductions beyond the pre-2021 trajectory. The hypothesis tests whether ETS-covered-sector emissions in 2022-2024 declined faster than the pre-2021 trend after netting out the 2022 gas shock (which forced coal substitution against the ETS signal in some countries) and the 2023-2024 industrial-output contraction (which reduced emissions for non-pricing reasons). The acceleration test: ETS-sector emissions intensity (tCO2 per unit of activity) declined faster 2021-2024 than 2010-2020 trend.
- Falsification rule: Not supported if (a) β_log_ETS_price on emissions intensity is zero or wrong-signed at p<0.10 after gas-shock + IPI controls, OR (b) post-2021 emissions-intensity trend-break is not faster than pre-2021 trend at p<0.10, OR (c) industry abatement capex announcements show no positive elasticity to ETS price (capex responds with multi-year lag, but no response by 2024 would refute the investment-channel mechanism), OR (d) the headline emissions decline is fully explained by gas-shock + output contraction (suggesting the ETS price signal is doing nothing on top).
Estimate (Callaway-Sant'Anna staggered DiD, TWFE approximation)
- Error: no outcome variable loaded
Variables resolved
Missing data
eea:eu_ets_verified_emissions(outcome)constructed: ETS verified emissions in industrial subsectors (steel, cement, chemicals, refining) ÷ subsector value added (Eurostat sbs_na_ind_r2 or OECD STAN). Decomposes scale from intensity.(outcome)constructed: ETS verified emissions in power sector ÷ generation (TWh, ENTSO-E). Captures coal-to-gas-to-renewables intensity shift.(outcome)constructed: ENTSO-E aggregated thermal generation by fuel — coal/lignite share of total generation. entsoe fetcher pending; Eurostat nrg_cb_em fallback.(outcome)constructed: BloombergNEF / IEA decarbonisation tracker — EU heavy-industry decarbonisation announcements (hydrogen, electrification, CCS). Manual-drop pending under data/manual/derived/.(outcome)constructed: EEX EUA spot price index, monthly average. eex fetcher pending; manual-drop fallback under data/manual/derived/.(treatment)constructed: indicator = 1 from 2021-Q1 onwards (when ETS price first sustained above €40 + Fit-for-55 announcement).(treatment)constructed: TTF EUR/MWh, monthly. eex fetcher pending or manual-drop.(controls)imf_pcps:POILBRE(controls)world_bank_wdi:NY.GDP.MKTP.KD(controls)oecd:STSIND4_PRODMAN(controls)eurostat:nrg_chdd_m(controls)
Generated by scripts/run_did_callaway_santanna.py at 2026-04-30T09:47:24+00:00
Strongest opposing argument
Every hypothesis ships with its charitable opposing argument. The framework earns credibility by handling objections at their strongest, not weakest.
Notes
Data readiness: - EEA EU ETS verified emissions: ready (eea fetcher) - Eurostat sbs_na_ind_r2 + nrg_chdd_m: ready - OECD industrial production: ready - WDI / IMF PCPS: ready - ENTSO-E generation mix: entsoe fetcher pending; Eurostat nrg_cb_em fallback - EEX EUA spot price: eex fetcher pending or manual-drop under data/manual/derived/ - TTF gas: eex fetcher pending or manual-drop - BNEF / IEA decarbonisation announcements tracker: manual-drop pending Run when EEX (EUA + TTF) manual-drop is populated; emissions intensity test can run on existing eea + Eurostat + WDI as v0.5.