Pre-registration
The EU Carbon Border Adjustment Mechanism (CBAM) — reporting phase from October 2023, certificate-purchase phase from 2026 — raises the effective landed cost of EU-manufactured CBAM-covered products (steel, aluminium, cement, fertilisers, hydrogen, electricity) in extra-EU markets because (a) EU producers face the full EU ETS carbon price without free-allocation offsets during the phase-out and (b) EU exports to non-CBAM jurisdictions face cost disadvantages from embedded-carbon-cost pass-through. This hypothesis tests whether EU exports of CBAM-covered products to non-EU markets declined relative to exports from non-CBAM jurisdictions (US, Turkey, India, China) over 2023-2024, and whether EU domestic production in CBAM-covered subsectors contracted. The hypothesis does NOT claim CBAM is net-welfare-reducing — its intended function (preventing carbon leakage) is outside the outcome set — only that the competitiveness channel moves in the predicted direction.
Falsification criterion — what would disprove this
This hypothesis is considered falsified if:
Not supported if (a) the triple-interaction β is zero or positive at p<0.10 (EU CBAM-covered exports did not fall differentially post-2023Q4), OR (b) the effect vanishes after controlling for gas price and ETS price (suggesting gas/carbon-cost pass-through rather than CBAM-specific effect), OR (c) pre-trend placebo detects spurious divergence before 2023Q4, OR (d) domestic CBAM-subsector production shows no corresponding contraction (suggesting exports re-routed to EU-internal demand rather than production-destroyed). If export fall exists but is concentrated in subsectors with independent shocks (e.g., only steel during Chinese dumping), the attribution to CBAM is weak and should be reported as such.
formal test & threshold
test: cbam_export_competitiveness_triple_did threshold: β_triple_interaction < -0.05 log points at p<0.10 AND robust to gas + ETS price controls AND pre-trend placebo |t| < 1.65
Method
- Template
did_chaisemartin- Fixed effects
country, year, hs_product_code- Clustering
country- Sample
- 17 countries · 2018 – 2024
- Evidence type
- causal
Primary specification: triple-difference — EU vs non-EU × pre-2023Q4 vs post-2023Q4 × CBAM-covered vs non-CBAM-covered products, within country-product-year panel. Triple-interaction coefficient identifies the differential EU CBAM-product export shift. Non-CBAM EU products serve as within-EU control for EU-wide shocks; non-EU countries serve as cross-border control for CBAM-product common demand shocks. Secondary: synthetic control on EU aggregate CBAM-covered exports using non-EU donor pool. Event-study around October 2023. Identification relies on the timing of CBAM phase-in being orthogonal to non-regulatory demand shocks — weakly true for 2023Q4 but confounded by gas-shock residual, Chinese overproduction spillover, and Ukraine-war-related steel-trade disruption. Year FE absorb common shocks; product FE absorb sector-mix differences. Known limitations: (1) CBAM certificate-purchase phase starts 2026 — the 2023-2024 "treatment" is the reporting phase only, which has administrative cost but not direct price effect. True price-effect hypothesis runs in v2 post-2026. (2) Steel and fertiliser markets have independent disruption (Chinese overproduction in steel; gas-price-driven fertiliser capacity mothballing). Disentangling CBAM signal from these is hard at v1. (3) Carbon-leakage-prevention (CBAM's intended function) is NOT measured in this outcome set. If EU CBAM exports fall AND non-EU carbon-intensive producers lose share in EU markets, CBAM may be working as designed — this hypothesis only measures one side.
Data
| Variable | Source | Transform |
|---|---|---|
log_cbam_covered_export_value outcome | constructed:UN Comtrade HS-code aggregation — iron/steel (72-73), aluminium (76), cement (2523), fertilisers (31), hydrogen (280410)tier 5 | log |
cbam_covered_export_share_of_total outcome | constructed:CBAM-covered export value / total goods export value by country-year (UN Comtrade).tier 5 | level |
log_domestic_production_cbam_subsectors outcome | constructed:OECD STAN — ISIC C24 (basic metals) + C23 (non-metallic minerals, covers cement) + C20 (chemicals, covers fertilisers) ptier 5 | log |
eu_post_2023q4_cbam_dummy treatment | constructed:indicator = 1 for EU member states from 2023Q4 (CBAM reporting phase start) onwards. Non-EU countries = control.tier 5 | indicator |
product_is_cbam_covered_flag treatment | constructed:HS-code indicator = 1 if product is in CBAM scope (iron/steel, aluminium, cement, fertilisers, hydrogen, electricity). Etier 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 |
eu_ets_carbon_price_eur control | constructed:EU ETS December future settlement, EUR/tCO2, annual average. Fetcher pending (ICE or EEX).tier 5 | log |
real_effective_exchange_rate control | bis:WS_EERtier 2 | level |
● ready · ● pending · ● reconstruct-needed
Detailed result card
Result card — eu_cbam_export_competitiveness_2023_onwards
Estimator: differences.ATTgt (Callaway-Sant'Anna binary)
N obs: 180
N treated: 9
N controls: 9
Period: [2015, 2024]
Outcome: log_exp_pc
Overall ATT (Callaway-Sant'Anna SimpleAggregation)
- ATT (simple): -0.0215 log points
- ATT (post 0..10 mean): -0.0215
Event-study profile
Full event-time records in diagnostics.json. Selected rows:
| event time | ATT | 95% lower | 95% upper | |---:|---:|---:|---:| | -5 | 0.0031 | -0.0161 | 0.0222 | | -4 | 0.0222 | 0.0084 | 0.0360 | | -3 | -0.0130 | -0.0707 | 0.0448 | | -2 | 0.0380 | -0.0162 | 0.0922 | | -1 | 0.0132 | -0.0197 | 0.0461 | | 0 | -0.0148 | -0.0435 | 0.0139 | | 1 | -0.0282 | -0.0731 | 0.0168 |
Pre-trend test
- Max abs ATT in pre-window (-5..-2): 0.0380
- Pre-trend pass (zero inside all pre-period 95% CIs): False
Verdict
WEAKLY SUPPORTED — ATT in expected direction but pre-trend fails; weaken claim
Falsification rule (from YAML)
Not supported if (a) the EU-CBAM β is zero or positive at p<0.10, OR (b) effect vanishes after controlling for gas + ETS price, OR (c) pre-2023 placebo detects spurious divergence, OR (d) domestic CBAM-subsector production shows no contraction. Threshold: β < -0.05 log points at p<0.10. v1 uses aggregate-exports proxy.
Secondary outcome — log industrial VA per capita
- ATT (simple) = -0.0084 log points
- Pre-trend pass: False
v1 verdict (overrides lib helper auto-verdict)
WEAKLY SUPPORTED — ATT = -0.0215 log but pre-trend fails; effect identification unreliable.
Caveats — v1 is a pre-registration
- Aggregate exports of goods+services is the coarse proxy; CBAM scope is HS-code-specific (steel, aluminium, cement, fertilisers, hydrogen, electricity).
- 2023-2024 is the reporting phase only (admin cost, no certificate purchase). Author prior was low for v1.
- v2 post-2026 will run with certificate-phase active and HS-level Comtrade data.
- Pre-period 2015-2022 contains COVID + gas-shock; identification rests on year-FE absorbing common shocks.
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: - UN Comtrade HS-level bilateral trade — fetcher pending - OECD STAN subsector production — fetcher pending - EU ETS price series — fetcher pending (ICE or EEX) - BIS REER — ready - WDI — ready This is a v1 pre-registration of methodology. The substantive test runs in v2 once 2026-2027 data are available (certificate-purchase phase active).