Euro Area HICP Services Inflation — Daily CSV Download
ECB Dataset · Inflation
Euro Area HICP Services Inflation (1997–2026)
The stickiest component of euro area inflation — approximately 45% of the HICP basket. Services inflation reflects domestic wages, rents, and demand conditions rather than imported commodity shocks. Persistently above 3% since 2023, it is the primary obstacle to the ECB reaching its 2% target.
Why services inflation is the ECB’s biggest challenge
Services inflation in the euro area is driven by three factors that respond slowly to monetary policy: negotiated wages (European collective bargaining cycles lag the business cycle by 12–18 months), rents (regulated in many markets), and administered prices (healthcare, education, public transport). This makes services inflation structurally stickier than goods inflation.
During the 2022–2023 inflation episode, goods inflation peaked first and declined rapidly as supply chains normalized and energy prices fell. Services inflation, by contrast, peaked later and has remained elevated at 3–4% through 2025 — driven by lagged wage catch-up and structural labor shortages in hospitality, healthcare, and construction.
The ‘last mile’ problem
Services inflation above 3% is mechanically incompatible with 2% headline HICP (since services are ~45% of the basket). This means the ECB cannot sustainably reach its target without services inflation falling below 2.5% — which in turn requires wage growth to moderate from ~4% to below 3%. This adjustment has been slower in Europe than in the US due to more centralized and backward-looking wage-setting mechanisms.
CSV Data Dictionary
| Column | Type | Description |
|---|---|---|
| date | YYYY-MM-DD | First day of the reference month |
| hicp_services_yoy | float | HICP services, annual rate of change (%) |
Python Code Example
import pandas as pd
from io import StringIO
import requests
url = "https://data-api.ecb.europa.eu/service/data/ICP/M.U2.N.SERV00.4.ANR"
resp = requests.get(url, params={"format": "csvdata"})
raw = pd.read_csv(StringIO(resp.text))
df = raw[["TIME_PERIOD", "OBS_VALUE"]].copy()
df.columns = ["date", "hicp_services_yoy"]
df["date"] = pd.to_datetime(df["date"] + "-01")
df = df.sort_values("date").set_index("date")
df.plot(title="Euro Area HICP Services Inflation", figsize=(12, 5))Related ECB Datasets
Source & Methodology
Source: ECB / Eurostat — HICP Services
Series key: ICP/M.U2.N.SERV00.4.ANR
License: ECB open data — free reuse with attribution.
