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.

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

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

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/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))

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.

Cite This Dataset