Leitwerk

Monetary policy transmission monitor · euro area

Leitwerk traces how one European Central Bank rate decision ripples through the euro-area economy — policy rates, bank lending, money and credit, inflation, and finally markets — pulling data straight from the ECB's official statistical API into a single, synchronised view.

It is a full-stack, data-engineering project. A Python pipeline fetches and parses eight datasets over SDMX — the statistical-data standard behind the ECB, Eurostat, the IMF and the BIS — and caches them in SQLite; a Rust web app (Leptos + Axum) reads that cache and renders every chart as hand-written SVG, with no charting library and no API keys. Hover any panel and a crosshair reads all seven at the same instant. It runs end-to-end from a single command.

Why I built this

I wanted to build something around a specific question a central-bank analyst would actually ask, rather than another page of charts. Monetary policy works with long and variable lags. For instance, the ECB moves a rate and only months later does it surface in what banks charge, in money and credit, and eventually in inflation. That chain is usually described in prose or scattered across separate data releases, so I wanted to put the whole thing on one synchronised timeline and trace a single decision as it propagates: the policy rate, bank pass-through, money and credit, prices, and finally the market signals investors watch. So ultimately it relates back to my own interests in financial research and investment strategies. Everything is pulled straight from the ECB's own statistical API over SDMX, which is the same standard the ECB, Eurostat, and the Bundesbank actually use. Building it meant working with real data infrastructure rather than a tidied-up copy. Wiring the panels together and watching a hike ripple down the chain, lag by lag, made the transmission mechanism concrete for me in a way that a static textbook diagram usually doesn't.

State of transmission

Deposit facility rate
2.25%
tightening
Real policy rate
+0.35 pp
restrictive
HICP inflation
1.9%
near 2% target
Yield curve (10y-2y)
+0.53 pp
positive slope
Bank lending margin
+1.61 pp
NFC loan - deposit

How to read this. Each panel is a link in the monetary transmission chain: a rate change in Panel A propagates, with lags, through bank pricing (B), money and credit (C), and finally prices (D), while Panels E-G track the market signals investors watch (real rates, the yield curve, and asset prices). Hover any panel for a synchronised readout across every panel; faint verticals mark ECB rate decisions; click a legend entry to isolate a series.

RangeFull10y5y3ySince liftoff

Panel A · Policy stance

ECB key rates and 3-month money-market rate

0123420232025%

The ECB's policy path. Since 2022 the deposit facility rate is the effective floor steering money-market rates (EURIBOR).

Panel B · Bank pass-through

MFI interest rates, new business

01234520232025%

Pass-through: how fast bank lending and deposit rates track policy. Slow or partial pass-through means looser conditions than the headline rate implies.

Panel C · Credit and money

Monetary aggregates and credit, annual growth

-10-50520232025%

The quantity channel. A sharp slowdown — or the 2023 M1 contraction — shows tightening biting before it reaches prices.

Panel D · Prices

HICP inflation, annual rate

024681020232025%

The objective: HICP back to 2%. The lag from a rate change to inflation is long — compare the timing here against Panel A.

Panel E · Real policy rate

Deposit facility rate minus HICP (percentage points)

-10-8-6-4-20220232025pp

Real rates (nominal minus inflation) drive valuations, gold and duration. Deeply negative in 2022; positive real rates mean genuinely restrictive policy.

Panel F · Yield curve & spreads

10y-2y term spread and the bank lending margin

-00012220232025pp

An inverted curve (10y-2y below 0) has preceded euro-area downturns; the lending margin is a read on bank profitability.

Panel G · Markets

Euro-area equities and the euro, indexed to 100 (Jan 2015 = 100)

10015020020232025= 100

Euro-area equities (DAX) and the euro (EUR/USD), rebased to 100. On the same policy timeline, this shows how markets moved around ECB decisions — the macro-to-markets link.

Created by Jeffrey C. WolfContact meView source