# Methodology — Germany’s recovery, interrupted.

Ad-hoc analysis by Dr. Michael Schymura. Frozen retrieval date: **September 8, 2026 UTC**. Article language: English. Latest July industrial releases are provisional; the September 6 Saxony-Anhalt result is the September 7 provisional allocation. Source timestamps and flags are retained, not silently promoted to final status.

## The question and the unit of inference

The investigation tests whether demand signals translate into German domestic manufacturing production less well than historically. Its principal object is a conditional model discrepancy. It does not identify a national causal production loss, the effect of voting, or the location of multinational value creation. Company financial conversion, national output and plant constraints are kept at their actual grains.

## Acquisition and release-vintage policy

All calculations run offline from frozen CSV/JSON/XLSX snapshots. `data/raw/acquisition-urls.json` records download URLs. `sources.csv` and `data/clean/source-snapshots.csv` retain source hashes and retrieval date. `update_sources.py` writes new downloads to a new vintage folder; it never overwrites this release silently. Provider JSON update timestamps and GENESIS footer timestamps are the release evidence. Blank source status flags do not prove final data.

The Bundesbank orders panel uses BBDE1 keys M.DE.Y.AEA1.[classification].F.C.I21.A, monthly calendar/seasonally adjusted constant-price orders, 2021=100. The overall order aggregate covers order-reporting industry and is not identical in coverage to every manufacturing activity. Individual sector models match NACE C17, C20, C21, C24, C25, C26, C27, C28, C29 and C30 to the same production activity; C is the aggregate comparison.

Eurostat sts_inpr_m supplies manufacturing and sector histories with SCA adjustment, I21 units. Its retrieved German observations end in June; the new July observation is appended from Destatis 42153-0001/-0002 and flagged separately. `production-vintage-reconciliation.csv` contains overlapping values. Earlier revisions are not extrapolated backward from a one-month difference. The latest July headline release uses the exact official rates, while long-series comparisons retain their documented provider vintage.

Orders excluding major contracts use Destatis 42151-0008 for 2025–26 and the archived August Schym dataset before 2025 (available from 2015). They are shown as a labeled mixed-vintage sensitivity, not an operational real-time forecast. The old Schym June order-breadth release contains values since revised by Destatis.

Eurostat surveys are ei_bsin_q_r2 (capacity and constraints) and ei_bsin_m_r2 (order books, expectations, inventories and confidence), SA series. Capacity utilization is a percentage; limiting factors permit multiple answers. Order-book balances are perceptions, not measured orders. Harmonized country comparisons use these survey balances because an identical order-volume panel was not assembled for all peers. Peer output is indexed to its own 2019 average; each comparison uses that country’s latest common three-month window and states its endpoint.

## The Industrial Conversion Gap

Let P be manufacturing production and O new orders. Define L_t = [log O_(t−1) + log O_(t−3) + log O_(t−6)] / 3, requiring all three lags. Fit log P_t = a + b L_t on the complete 2010–2019 sample. The main benchmark is exp(a + b L_t), a conditional median under the log model. The gap is benchmark minus actual P, in 2021 index points. It is not a loss percentage or a mean after a lognormal smearing correction.

An alternative adds a linear time trend (years elapsed). Prediction bands are statsmodels 95% observation intervals using the fitted residual variance and HAC parameter covariance. They are conditional on this model and historical variance: they do not capture uncertainty about regime persistence, model selection, future energy or causal counterfactuals. Training residual ADF p-values and a 2017–2019 holdout against a last-month output benchmark are reported. The holdout is genuinely excluded from fitting. Its role is diagnostic, not a claim of live deployment performance.

The broad-order comparison fits total and ex-major orders over the same July 2015–December 2019 window. It cannot isolate a release-vintage effect. Sector gaps are independently fitted, so rankings require the accompanying model and source caveats.

## Growth models, lags and breaks

Monthly log changes are multiplied by 100. The ARX model regresses production growth on order growth at lags 1, 3 and 6 and previous production growth. Separate one-lag alternatives are all retained. An augmented model adds log monthly European gas price, Kaub low-water days and log Germany Economic Policy Uncertainty. Financing, storage and ideological party scores are not fabricated as monthly regressors. Estimated coefficients are associations with endogenous covariates. HAC standard errors use six monthly lags.

Rolling coefficients use 60 complete months. The displayed coefficient is the sum of the three order-growth coefficients; its confidence interval uses the full covariance matrix. Known candidate break dates are January 2018, January 2020, February 2022, January 2023 and January 2025. The appendix supplies conventional homoskedastic Chow reference tests and HAC joint post-interaction Wald tests. Holm adjustment spans the set of reported sector/date tests. `order-slope-change-tests.csv` separately tests the sum of order-slope changes; a joint break must not be interpreted as an elasticity decline.

The multiple-break routine performs a global dynamic-programming minimum-RSS search with at least 30 observations per segment and one to four segments. BIC uses all segment regression coefficients plus break-location parameters. This is a Bai–Perron-style segmentation algorithm, not a claim to have computed the formal Bai–Perron sup-F critical-value sequence. Break-date uncertainty and short 2025/26 post samples remain unresolved. No preferred date is selected because it best fits the narrative.

## Energy exposure, prices and Rhine

2019 pre-shock energy intensity is Eurostat env_ac_pefa04 NETDOM_EUSE in TJ divided by nama_10_a64 B1G gross value added in million EUR. TJ/million EUR equals MJ/EUR. NETDOM_EUSE_EP and NETDOM_EUSE_NEP separate energy and feedstock/non-energy uses. Fourteen sectors have exact comparable activity keys and output data. The cross section uses May–July 2026 output relative to 2021, log(1 + intensity), and 2010–2019 output growth as a control; HC3 intervals and leave-one-out slopes are retained. GVA scales bubble area, with square-root radius. This does not identify the marginal gas bill or an energy causal penalty.

The current World Bank workbook was updated September 2, 2026 and runs through August. An older URL returned a workbook ending December 2024 and is not used. Brent is USD/barrel. European natural gas is the World Bank monthly benchmark in USD/MMBtu, not an independently retrieved TTF front-month contract. US CPI converts these dollar observations to 2019 real dollars; a 2015–2019 mean provides the chart baseline. This is not a German industrial real-cost index. BNetzA THE day-ahead/M+1 prices are separately preserved as EUR/MWh observations. Eurostat non-household gas band I3 and electricity ID exclude recoverable taxes and are converted EUR/kWh × 1000 to EUR/MWh. Source consumption bands differ intentionally and are labeled.

Kaub monthly data use the previously published Schym WSV/PEGELONLINE aggregation. Only complete months enter regressions. GlW 77 cm and MNW 65 cm are reference levels, not universal shipping bans. Event windows center August 2018 and 2022 and normalize chemicals output to each event-year May–July mean. They are uncontrolled descriptive windows. The earlier source study found no stable national negative output penalty; it remains counterevidence. No new event-study identification is claimed.

## Storage scenarios

The retrieved BNetzA CSV reports percentage fill by gas-year day: 2024/25 and 2025/26, with a 2018–21 min/max band. Latest actual: September 6, 2026, 54.52%. This is not a complete 2017–26 AGSI history. No TWh series, percentile ranking over unobserved years, or absolute injection/withdrawal volumes is invented.

The 30-day fill difference / 30 is a net percentage-point change, not gross injection. The November 1 pace extension assumes unchanged net pace and capacity denominator. Scenario paths start September 6, use 56 injection days to November 1, and 150 net-withdrawal days to March 31. Mild/Normal/Cold/Severe injection assumptions are 0.28/0.24/0.20/0.10 points/day; withdrawals are 0.20/0.30/0.40/0.50. “Normal” labels the central assumption, not an estimated historical climatology. November fill is capped at 100; visible storage is floored at zero; unconstrained negative balances remain in data as unmet assumed net withdrawals. There are no probabilities, LNG flow estimates, industrial rationing forecasts or price feedbacks.

## Political measures

Saxony-Anhalt 2026 uses only the LAN aggregate row with blank Wahllokal. In-person and postal rows are never added on top of the total. Party votes reconcile exactly to 1,315,315 valid second votes; seats reconcile to 83. Historical 2011/2016/2021 exact counts are transcribed from the official consolidated table and independently reconciled. ENP=1/Σs²; HHI=Σs²; vote and seat denominators are separate. The traditional-party grouping is a user-specified arithmetic definition (CDU/CSU, SPD, Greens, FDP), not a normative judgment.

The full historical PDF extractor retains 47 exactly reconciled elections in 15 Länder, plus the separately sourced 2026 Saxony-Anhalt result. It is an incomplete panel, with Bremen and any unparsed pages explicitly outside coverage. Electoral systems differ, including multiple-vote systems; no panel causal regression is run on this subset. Federal Land comparisons retain 2021/2025 second votes from the official 2025 comparison file. The release does not claim a complete 2010–26 all-election census.

Coalition enumeration tests all subsets of represented parties against floor(total seats/2)+1. Minimal winners lose their majority if any member exits. Three scenarios impose no exclusion, exclude AfD, or exclude AfD and Linke. These are transparent counterfactual restrictions, not claims that every remaining coalition is politically acceptable. CCI = 100[0.5(minimum majority parties−1)/(all represented parties−1) + 0.5(1−winning eligible subsets/(2^eligible parties−1))]. With no majority, first component=1 and winning fraction=0. CCI cannot estimate ideology, stability, minority-government probability or implementation quality.

## GIERI and investment

Five components are standardized with fixed 2010–2019 means/sample SDs: log European gas, Kaub low-water days, log Germany EPU, survey financing constraints and negative capacity utilization. Quarterly survey values repeat monthly only for a descriptive display. Models aggregate to complete quarters (three observed months for GIERI and the gap). No partial Q3 2026 quarter enters quarterly regressions. Equal weights, double energy weight, half politics weight and exclusion of utilization are all retained. GIERI has no probability interpretation. Sparse storage and election variables are not interpolated into its monthly history.

Regressions test gap levels and first differences with HAC(4), both aggregate index and separate components. Utilization creates a mechanical overlap with output and is a required exclusion check. Total-economy investment is real gross fixed capital formation (namq_10_gdp, P51G, CLV20_MEUR, SCA), not industrial investment. Lagged policy uncertainty is associated with its quarterly growth; simultaneity, economic feedback and omitted variables preclude a political causal interpretation. No R² or coefficient is converted to a causal contribution percentage.

## BASF and practical decisions

The July 29 company release is authoritative for current Q2 facts and the raised 2026 outlook. The Brent planning assumption is $80, replacing $65. Group global financial outcomes are not assigned to Germany or Ludwigshafen. Previous sales, EBITDA and operating cash values in the dumbbell are deliberately rounded approximations derived from rounded changes; FCF prior value is derived from the disclosed EUR721m decline. Inventory and receivable figures are not forced into an additive reconciliation of the whole cash change.

Digital opportunity scores are author judgments on 1–5 ordinal scales, not BASF EBITDA estimates. Potential × feasibility × speed is a prioritization heuristic. Cash-release potential is distinct from EBITDA. Generic per-EUR100m illustrations show arithmetic only. Site baselines, energy contracts, feedstock compatibility, logistics commitments and actual implementation costs would be needed for investment decisions.

## Limits on the final synthesis

Evidence supports a conditional discrepancy and several plausible exposures. It does not identify causal shares, permanent nationwide order-elasticity collapse, voting-driven industrial decline, import leakage, inventory sensitivity, offshoring or a services/IP regime change. Those hypotheses remain in the article as questions and mechanisms, not findings. The missing full gas history, sector gas/electricity split, plant margins, sector utilization and permitting/execution outcomes are explicit scope limits, not zero-valued inputs.

## Reproduction

Run `python 04_research/code/analyze.py`, `python 04_research/code/election_history.py`, then `python 04_research/code/research_package.py`. The notebook executes these same offline calculations and provides compact verification outputs. Figure generation, article assembly and slide rendering are separate commands in the root README. Source hashes identify this exact vintage. There is no random sampling in the main results. External service/tool reference IDs never enter publication citations.
