Pre-registration
Germany's industrial electricity prices diverged upward from a basket of comparable industrial peers (United States, France, Sweden, Norway, Finland) after the 2011 Energiewende pivot and the gap widened further through the 2014 nuclear-phase-out milestones and the 2022 gas crisis. The price divergence is measurably associated with the decline in the German manufacturing value-added share of GDP over 2011-2023, with the effect concentrated in energy-intensive subsectors (chemicals, basic metals, non-metallic minerals). This is the narrow empirical form of the broader claim that Energiewende's policy-content choices (nuclear phase-out while gas-dependence deepened, EEG surcharge on retail prices, gas-indexed wholesale market) produced a concrete industrial- cost penalty that peer economies avoided.
Falsification criterion — what would disprove this
This hypothesis is considered falsified if:
Not supported if (a) the DEU synthetic control pre-trend fit fails (pre-treatment RMSPE > 0.05 log points on industrial price), OR (b) the post-treatment DEU-synthetic price gap does not exceed the 95th percentile of placebo gaps across donor pool, OR (c) the gap fully collapses when the 2021-2024 gas-shock window is excluded, OR (d) the second-stage manufacturing VA effect is insignificant or signed against prediction. If the price gap is real but transmits weakly to manufacturing VA, report the split — divergence exists but output attribution is separate question.
formal test & threshold
test: energiewende_synthetic_control_price_and_output_transmission threshold: post-2011 DEU-synthetic price gap >= 0.15 log points on 2015-2020 average (excluding war-shock years) AND placebo permutation p-value < 0.10 AND β_manuf_va on price gap < -0.05 at p<0.10
Method
- Template
synthetic_control- Fixed effects
country, year- Clustering
country- Sample
- 10 countries · 2005 – 2024
- Evidence type
- causal
Primary specification: synthetic control with DEU as treated unit (treatment = 2011 Energiewende). Donor pool = FRA, USA, SWE, NOR, FIN, NLD, ITA, ESP. Pre-treatment fit window 2005-2010. Primary outcome = log industrial electricity price. Placebo permutation tests across donor pool. Pre-trend RMSPE reported explicitly. Secondary specification: TWFE panel with deu_post_energiewende_dummy + deu_post_nuclear_phaseout_dummy, interacted with energy-intensity sector shares to detect where the price transmission binds. Second-stage: regress log manufacturing VA (and the energy-intensive subsector share) on the synthetic-control-derived price gap to test whether the price divergence transmits to real-sector output. Known limitations: (1) DEU is the sole treated unit — synthetic control's external validity is limited to this case. (2) 2022-2024 window confounded by Russia-Ukraine gas shock; report results with and without that window. (3) Treatment date is ambiguous — 2011 decision, 2014-2017 nuclear plant closures, 2022 final phase-out. Use 2011 as primary and 2022 as secondary treatment; sensitivity to both. (4) Gas-indexed wholesale market design is a separate channel from nuclear phase-out per se; this hypothesis pools them as the Energiewende policy bundle and makes no claim to separate.
Data
| Variable | Source | Transform |
|---|---|---|
log_industrial_electricity_price_usd_mwh outcome | constructed:IEA industrial electricity price series (band IC, medium industry) + Eurostat NRG_PC_205 cross-check, USD/MWh constant 2tier 5 | log |
log_manufacturing_value_added_real outcome | world_bank_wdi:NV.IND.MANF.CDtier 2 | log_real |
energy_intensive_subsector_output_share outcome | constructed:OECD STAN sectoral VA — chemicals (C20) + basic metals (C24) + non-metallic minerals (C23) + paper (C17) as share of tottier 5 | level |
deu_post_energiewende_dummy treatment | constructed:indicator = 1 for DEU from 2011 (Energiewende formal enactment after Fukushima) onwards. All other countries = 0.tier 5 | indicator |
deu_post_nuclear_phaseout_dummy treatment | constructed:indicator = 1 for DEU from 2022 (final reactor closures enacted) onwards, capturing the fully-phased-out regime.tier 5 | indicator |
log_population control | world_bank_wdi:SP.POP.TOTLtier 2 | log |
trade_openness control | world_bank_wdi:NE.TRD.GNFS.ZStier 2 | level |
brent_oil_usd control | constructed:reference oil price to partial out global energy-price cycle; placeholder for BIS or IMF commodity-price fetcher.tier 5 | log |
gas_price_eu_ttf_proxy control | constructed:TTF-equivalent natural gas price (EUR/MWh) to partial out gas-shock exposure common to gas-indexed markets. Fetcher pendtier 5 | log |
● ready · ● pending · ● reconstruct-needed
Detailed result card
Result card — German Energiewende industrial cost trajectory
Verdict: refuted — Germany's industrial GVA gap on 2015-2020 average is +0.095 log (wrong sign for industrial-cost-penalty story), placebo p=0.4444444444444444.
Outcome: log industrial GVA real (WDI NV.IND.TOTL.KD). Treated: DEU. Donors used: FRA, SWE, NOR, FIN, NLD, BEL, ITA, ESP. Pre-period 2005-2010; post-period 2011-2024. Treatment date: 2011 (Energiewende formal enactment).
Synthetic control fit
| Metric | Value | |---|---:| | Pre-period RMSPE | 0.0146 | | Post-period RMSPE | 0.0842 | | Post/Pre RMSPE ratio | 5.78 | | Mean post-2011 gap (DEU − synth) | +0.059 log | | Cumulative post-2011 gap | +0.826 log-yr | | Mean 2015-2020 gap (excl. war) | +0.095 log | | Placebo rank | 4/9 | | Placebo p-value | 0.4444444444444444 |
Donor weights
| Donor | Weight | |---|---:| | FRA | 0.000 | | SWE | 0.828 | | NOR | 0.000 | | FIN | 0.000 | | NLD | 0.172 | | BEL | 0.000 | | ITA | 0.000 | | ESP | 0.000 |
Pre-trend gap series (log industrial GVA, DEU − synthetic)
| Year | DEU | Synth | Gap | |---:|---:|---:|---:| | 2005 | 0.000 | 0.000 | +0.000 | | 2006 | 0.048 | 0.049 | -0.001 | | 2007 | 0.083 | 0.099 | -0.016 | | 2008 | 0.069 | 0.059 | +0.010 | | 2009 | -0.080 | -0.075 | -0.005 | | 2010 | 0.057 | 0.027 | +0.030 |
Post-period gap series
| Year | DEU | Synth | Gap | |---:|---:|---:|---:| | 2011 | 0.106 | 0.066 | +0.040 | | 2012 | 0.108 | 0.038 | +0.069 | | 2013 | 0.096 | 0.000 | +0.096 | | 2014 | 0.136 | -0.002 | +0.139 | | 2015 | 0.142 | 0.049 | +0.094 | | 2016 | 0.177 | 0.053 | +0.124 | | 2017 | 0.208 | 0.084 | +0.124 | | 2018 | 0.220 | 0.106 | +0.114 | | 2019 | 0.207 | 0.125 | +0.082 | | 2020 | 0.146 | 0.111 | +0.035 | | 2021 | 0.191 | 0.178 | +0.013 | | 2022 | 0.171 | 0.205 | -0.034 | | 2023 | 0.147 | 0.167 | -0.020 | | 2024 | 0.107 | 0.156 | -0.049 |
Data-status caveat
Original YAML primary outcome is IEA industrial electricity price (band IC, USD/MWh). That fetcher has not landed; this v1 run uses log industrial GVA as the downstream output proxy for the price→output transmission story. The pre-registered second-stage regression of manufacturing VA on the synthetic-control price gap CANNOT run without the IEA series and is deferred. The verdict is therefore reported as v1 partial: the run tests the COMBINED (price + transmission) effect at lower power, not the isolated cost-penalty channel the YAML's primary specification calls for.
Steelman-live concerns
- 2022-2024 gas shock dominates post-period; the without-war sensitivity is reported.
- DEU is the sole treated unit — synthetic-control external validity is narrow.
- 2011 treatment date conflates Energiewende decision with 2014-2017 plant closures and 2022 final phase-out; YAML asks for 2022 as secondary date (not separately run here).
- Industrial GVA captures industrial composition shifts (e.g. EVs vs. ICE) that may move independent of energy-cost channel.
Provenance
Reproduces from vintages in manifest.yaml. See replication.py.
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: - IEA industrial electricity price (IC band) — specialist fetcher pending - Eurostat NRG_PC_205 — Eurostat fetcher shipped, specific series fetch needed - OECD STAN sectoral VA — fetcher not yet shipped - WDI manufacturing VA — ready - TTF gas-price proxy — fetcher pending v1 pre-registers; v1.1 runs when IEA + OECD STAN + TTF fetchers land and baseline_pull.yaml is extended.