The Price of Europe

The Price of Europe — the crisis is over; the receipt says otherwise.

A data essay · 2019 – 2025

Take €100 of monthly spending from January 2019. Same items, same shops. Watch what happens to the total.

Inflation is the speed. Your receipt is the price. Only one of them went back to normal.

Europe · One month of living

JAN 2019


  • Rent & water30.0030.00
  • Groceries22.0022.00
  • Services15.0015.00
  • Petrol & transport14.0014.00
  • Electricity & gas10.0010.00
  • Café & restaurants9.009.00

Total€100.00

* Illustrative renter’s budget · price growth: Eurostat HICP, EU-27

2019
2025

Introduction

Mojtaba Alehosseini

Supervised by Annalisa Barla

University of Genova · Data Visualization 2025–26

Between 2019 and 2025, the cost of living in the European Union rose faster than ever since the euro began. The news says the crisis is over. The prices are still high. This is the story of one hundred euros, and what happened to them.

Inflation: how much consumer prices changed compared with one year earlier, EU-27. The grey bands mark the big events.

2019

The quiet years

Inflation was near 1%. Central banks worried it was too low. That was the problem at that time.

2020

Everything stops

Lockdowns closed the shops and nobody needed oil. By the end of 2020, prices in the euro area were almost falling.

2021

Prices start rising early

One year before the war, the line is already going up. Shops reopen, ships wait in ports, energy gets more expensive.

OCT 2022

The highest point

11.5% — prices had never risen this fast since the euro began.

2024

Back to “normal”

The line returns to 2% and the news stops talking about it. But the receipt on the first page says the story is not over.

Six years, one line.

ANNUAL INFLATION % change on a year earlier

Source · Eurostat HICP monthly rate (prc_hicp_manr), EU-27

Yearly change by category, 2019–2021 — the years before the war.

2020

Nothing moves

Spring 2020: the economy is stopped, energy is very cheap, inflation is near zero. Nobody is worried about high prices.

2020–21

Pressure builds up

People saved the money they could not spend. Factories stopped. Ships waited in ports. The pressure was there, but prices had not moved yet.

MID-2021

The first rises

Energy and transport go up first, months before the war. The reopening started the rise. The war made it much bigger.

Prices started rising before the war.

Source · Eurostat HICP monthly rate (prc_hicp_manr), EU-27, by COICOP

Yearly inflation by country. Green is low, red is high.

2019

One Europe

The whole map has the same low colour. Estonia and France have almost the same inflation.

2021

It starts in the east

Look at the Baltic countries. Estonia is already at 4.5% while most of the map is still calm. The part of Europe closest to Russian gas rises first.

2022

Two Europes

Then the whole map turns red. The east is first and worst: Estonia reaches 25% in one month, while France's worst month is 7.3%. The closer to Russian gas, the higher the inflation.

2022

The same numbers, as bars

The same numbers, sorted from high to low. The difference between the calmest and the worst country is the biggest since the euro began.

2024

Calmer, but not equal

Two years later the map is calmer. But it never goes back to one colour.

2019 ↔ 2022

Before and after

Drag the line across the map. Choose any two years below. Click a country to see its own before and after.

The war split the price map in two.

Source · Eurostat HICP annual rate (prc_hicp_aind)

Monthly inflation by category. Each column is one month. Green is low, red is high.

2022

A full year of red

The energy row is dark red for a whole year. The other rows start to turn orange too.

SPRING 2023

From energy to food

Energy calms down fast. But now food is the problem: it is still rising by more than 10% a year.

2024

The last to come down

Services stay high the longest. This row is rents, insurance, haircuts — the things you pay for every month.

Energy came down. Food stayed high.

Source · Eurostat HICP monthly rate (prc_hicp_manr), EU-27, by COICOP

Top: how fast prices rose. Bottom: how high prices are. The same years, shown two ways.

THE CHART FROM THE NEWS

The chart you know

This is the chart from the news: a fast rise, a top, and then relief. It ends near 2%, where it started.

THE SAME YEARS

The price level

The same years, but now we measure how high prices are, not how fast they rise. The rise slowed down. The level stayed high. Prices are about 30% above 2019, and 2% a year means they keep rising slowly from there.

DEC 2025

This is the new normal

Nothing in this chart comes back down. “Back to normal” was about the speed, not about the price. That is what the receipt was showing you.

Inflation is over. Prices are not.

Source · Eurostat HICP monthly rate + index (prc_hicp_manr, prc_hicp_midx), EU-27, 2019 = 100

The same €100, country by country. Choose your country.

EU AVERAGE

€100 → €77

Take €100 from 2019. After six years of rising prices, it buys only what €77 bought then. The basket is the same. The money is worth less.

LINE BY LINE

What each line costs now

Rent now costs €40 instead of €30. Groceries cost €31 instead of €22. None of this is luxury. These are the normal costs of a month.

HUNGARY

The biggest loss

In Hungary the same €100 is worth only €61 — the biggest loss in the union. Choose your country and see your own numbers.

The same monthly shopping costs a third more.

Source · Eurostat HICP index (prc_hicp_midx), 2019 = 100 · illustrative renter's basket (see methodology)

House prices compared with consumer prices, both starting at 100. Look at the gap between them.

2015 – 2025

Two lines, two speeds

In this period, consumer prices rose 33%. House prices rose 62%. The first number is in the inflation rate you hear on the news. The second one is mostly not.

COUNTRY BY COUNTRY

Hungary highest, Finland lowest

Hungary has the biggest rise. In Finland, houses actually got cheaper. The countries with expensive homes are not the same as the countries with high inflation.

NOT IN THE INDEX

What the inflation number leaves out

The inflation number counts rent and repairs, but not the price of buying a home. For anyone saving to buy a home, the crisis started years before 2021, and it has not ended.

Buying a home got expensive faster than everything else.

Source · Eurostat house price index (prc_hpi_q, total purchases, 2015 = 100) + HICP index, rebased · EU-27 aggregate

Minimum wage compared with prices, both starting at 100 in 2019. The middle value of 21 countries with a legal minimum wage. Six countries are not included (see methodology).

2021–22

The gap gets smaller

Prices rise fast during the energy crisis, and the lead of the wage line shrinks by about a third. But the wage line never falls below the price line — and that hides what happened in many countries.

2023–24

Wages catch up

Governments raise the minimum wage, one after another, and the gap grows again. But the money comes after the damage was done.

2025

The end

The middle wage line ends about 20 points above prices. But at the worst moment of 2022, seventeen of these twenty-one countries were below their 2019 level. Twenty have since climbed back. France has not — and France had the lowest inflation of the twenty-one. The end result looks fine. The years in between were not. Country by country, below.

The middle country kept up. Most countries did not.

Source · Eurostat minimum wages (earn_mw_cur, national currency) + HICP · six countries without a 2019 wage floor excluded (see methodology)

How different inflation was between EU countries, year by year.

2019 → 2025

Together again, at a higher level

By 2024 the boxes are short again, and they stay short. The countries of Europe have similar inflation again. But prices are now almost a third higher than in 2019.

The countries came back together. The prices stayed high.

Source · Eurostat HICP annual rates (prc_hicp_aind) · 27 country values per year, 2015 – 2025 · €77 = what €100 of 2019 buys today across all items, EU-27; the receipt’s €135.63 prices one renter’s basket.

Inflation slowed. Europe did not get cheaper. Someone is still paying the difference.

The inflation rate went back to normal. The prices stayed high.

Europe · One month of living

DEC 2025


  • Rent & water40.4630.00
  • Groceries30.9622.00
  • Services19.0815.00
  • Petrol & transport17.5914.00
  • Electricity & gas15.2510.00
  • Café & restaurants12.299.00

Total€135.63

* 2019 prices struck · reprinted at Dec 2025 level · Eurostat HICP, EU-27

Between these two columns, six years passed. A pandemic, a war, government help, a recovery — and a receipt that never went back to €100. If someone tells you inflation is over, they are right about the speed. Look at the total before you agree about the rest.

How this was made

All data are pulled directly from the Eurostat JSON API by the Python scripts in preprocessing/. Five tables: harmonised consumer prices (monthly, annual, indexed), minimum wages, and the house price index. A topojson of EU borders comes from the leakymirror fork of world-atlas. No proprietary sources.

The site is hand-written HTML, CSS custom properties, and ES modules. The only run-time dependencies are D3 v7, Scrollama, topojson-client, and flubber (used in the Choropleth → Bar morph for path interpolation) — all loaded as globals from a CDN. Animations use the project's own lightweight MotionManager module plus D3 transitions and CSS keyframes, with a static fallback wherever prefers-reduced-motion is set.

Methodological choices worth knowing

  • EU-27 aggregate — Choropleth uses Eurostat's official EU27_2020 annual HICP figures (1.4 % for 2019, 9.2 % for 2022, 2.6 % for 2024) rather than a naïve country-mean.
  • Small multiples, one scale — the six category panels share a single y-axis across Jan 2019 – Dec 2021, so the height of each line is directly comparable: energy and transport tower over the rest because they genuinely did, not because each panel was scaled to fit. Each panel's tag is its value at the end of that window; the peak month appears in the enlarged view.
  • Heatmap cells — one cell per category and per month, with no averaging: colour is that month's own year-on-year rate for the EU-27, 2021 – 2024, on the same green-to-red scale the map uses. Reading across a row shows how long a category stayed hot.
  • Real-wage formula — the diverging bar computes real change as (1 + nominal wage Δ) / (1 + cumulative HICP Δ) − 1, where nominal pay is the statutory minimum wage in national currency (Eurostat earn_mw_cur, currency = NAC) deflated by that country's own HICP. Six EU countries are excluded, for two different reasons: Austria, Denmark, Finland, Italy and Sweden set wages through collective bargaining rather than a statutory minimum; Cyprus introduced a statutory minimum on 1 January 2023, too late to measure against a 2019 baseline.
  • Why the minimum wage — it is the one wage every EU country publishes on the same basis and at the same dates, as a policy number rather than a survey estimate: a statutory floor, set by law, comparable across borders without adjusting for hours, sector or seniority. Average earnings would answer a different question — what people actually earn — and would arrive later, less comparably, with composition effects mixed into the change.
  • Box-plot outliers — Tukey's 1.5 × IQR rule, applied per year across the 27 country values. Outliers shown as larger orange dots; the faint dot strip beneath each box is every country's actual value with deterministic horizontal jitter.
  • The receipt & the basket — the hero and kitchen-table basket use illustrative renter-household weights (30/22/15/14/10/9 over housing, groceries, services, transport, energy, eating out), anchored to the EU Household Budget Survey's structure but excluding imputed rents, which never appear on a cash receipt. Each line grows by its Eurostat HICP category index; lines are rounded to the cent, then summed.
  • Rate vs level — "inflation returned to 2%" and "prices returned to normal" are different claims. Chapter 5 shows both: the monthly rate (speed) and the 2019-based index (height). The essay's argument lives in the difference.
  • House prices — the house price index tracks buying, not renting; HICP's housing component covers rents, utilities and maintenance. Chapter 7 keeps the two claims separate on purpose.

The design decisions behind every chart — what each answers, what was rejected, and why — are in docs/design_decisions.md. Source code is at github.com/mojtaba-alehoseini/price-of-europe.