Euro Area Industrial Production Index: Monthly Data Since 1991

ECB Dataset · Real Economy

Total industry excluding construction (seasonally and working day adjusted, base 2021=100). The monthly hard data indicator for euro area manufacturing — in structural decline relative to services, down approximately 5% from its 2018 peak.

Source
ECB / Eurostat
Frequency
Monthly
Coverage
1991–Present
Unit
Index (2021=100)
Loading data…

European deindustrialisation in data

Euro area industrial production has been structurally declining as a share of GDP for decades — from ~25% in the 1990s to ~20% today. The index captures this within-sector performance: manufacturing output peaked in 2018 and has not recovered, with the 2022 energy crisis accelerating the decline in energy-intensive sectors (chemicals, metals, glass).

Germany — traditionally the industrial engine of Europe — has been particularly affected: German industrial production is roughly 10% below its 2018 peak, dragged down by the automotive sector’s EV transition disruption, energy cost disadvantages versus US and Asian competitors, and Chinese competition in machinery exports.

Industrial production as a leading indicator

Despite its declining weight in GDP, industrial production remains a useful cyclical indicator because it is available monthly (vs quarterly GDP), subject to minimal revision, and more sensitive to global trade conditions and energy prices. It correlates with the manufacturing PMI but provides hard data rather than survey-based expectations. Measured by the ECB Data Portal series for Euro Area Industrial Production Index.

CSV Data Dictionary

ColumnTypeDescription
dateYYYY-MM-DDFirst day of the reference month
indpro_indexfloatIndustrial production index, total ex construction (2021=100, seasonally adjusted)

Python Code Example

import pandas as pd
from io import StringIO
import requests

url = "https://data-api.ecb.europa.eu/service/data/STBS/M.I10.Y.PROD.NS0020.4D0.N.IX"
resp = requests.get(url, params={"format": "csvdata"})
raw = pd.read_csv(StringIO(resp.text))

df = raw[["TIME_PERIOD", "OBS_VALUE"]].copy()
df.columns = ["date", "indpro_index"]
df["date"] = pd.to_datetime(df["date"] + "-01")
df = df.sort_values("date").set_index("date")

df.plot(title="Euro Area Industrial Production", figsize=(12, 5))

Source & Methodology

Source: ECB / Eurostat — Short-Term Business Statistics (STBS, euro area 21)

Series key: STBS/M.I10.Y.PROD.NS0020.4D0.N.IX

License: ECB open data — free reuse with attribution.

Cite This Dataset

Last updated — 21 September 2026

Disclaimer – Financial Information: The analyses, commentary, and content published on eco3min.fr are provided for informational and educational purposes only. They do not constitute investment advice or a solicitation to buy or sell financial instruments. Past performance is not indicative of future results. All investment decisions involve risk and are the sole responsibility of the reader.

Source terms. This series is produced by the European Central Bank (ECB Data Portal) and redistributed here under the ECB's copyright terms: free use provided the ECB is cited as the source, the data are reproduced accurately, and any modification (such as a spread or a real rate computed by Eco3min) is stated explicitly. Eco3min cannot sub-license it under Creative Commons: anyone reusing this file remains bound by the ECB terms, not by CC BY. Full terms.