Euro Area Industrial Production — Daily CSV Download
ECB Dataset · Real Economy
Euro Area Industrial Production Index (1991–2026)
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.
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.
CSV Data Dictionary
| Column | Type | Description |
|---|---|---|
| date | YYYY-MM-DD | First day of the reference month |
| indpro_index | float | Industrial 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/STS/M.I9.Y.PROD.NS0020.4.000"
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))Related ECB Datasets
Source & Methodology
Source: ECB / Eurostat — Short-Term Statistics (STS)
Series key: STS/M.I9.Y.PROD.NS0020.4.000
License: ECB open data — free reuse with attribution.
