Skip to the content
Up to 2.3% in the EU
Overview
The euro area annual inflation rate was 2.0% in October 2024, up from 1.7% in September. A year earlier, the rate was 2.9%. European Union annual inflation was 2.3% in October 2024, up from 2.1% in September. A year earlier, the rate was 3.6%. These figures are published by Eurostat, the statistical office of the European Union.
The lowest annual rates were registered in Slovenia (0.0%), Lithuania and Ireland (both 0.1%). The highest annual rates were recorded in Romania (5.0%), Belgium and Estonia (both 4.5%). Compared with September 2024, annual inflation fell in two Member States, remained stable in six and rose in nineteen.
In October 2024, the highest contribution to the annual euro area inflation rate came from services (+1.77 percentage points, pp), followed by food, alcohol & tobacco (+0.56 pp), non-energy industrial goods (+0.13 pp) and energy (-0.45 pp).
Inflation rates (%) measured by the HICP | ||||||||
---|---|---|---|---|---|---|---|---|
Annual rate | Monthly rate | |||||||
Oct 23 | May 24 | Jun 24 | Jul 24 | Aug 24 | Sep 24 | Oct 24 | Oct 24 | |
Euro area | 2.9 | 2.6 | 2.5 | 2.6 | 2.2 | 1.7 | 2.0 | 0.3 |
EU | 3.6 | 2.7 | 2.6 | 2.8 | 2.4 | 2.1 | 2.3 | 0.4 |
Belgium | -1.7 | 4.9 | 5.4 | 5.4 | 4.3 | 4.3 | 4.5 | 0.5 |
Bulgaria | 5.9 | 2.7 | 2.8 | 2.8 | 2.4 | 1.5 | 2.0 | 0.6 |
Czechia | 9.5 | 2.8 | 2.2 | 2.5 | 2.4 | 2.8 | 3.0 | 0.3 |
Denmark | -0.4 | 2.1 | 1.8 | 1.0 | 1.4 | 1.2 | 1.6 | 0.7 |
Germany | 3.0 | 2.8 | 2.5 | 2.6 | 2.0 | 1.8 | 2.4 | 0.4 |
Estonia | 5.0 | 3.1 | 2.8 | 3.5 | 3.4 | 3.2 | 4.5 | 0.8 |
Ireland | 3.6 | 2.0 | 1.5 | 1.5 | 1.1 | 0.0 | 0.1 | 0.3 |
Greece | 3.8 | 2.4 | 2.5 | 3.0 | 3.2 | 3.1 | 3.1 | 0.1 |
Spain | 3.5 | 3.8 | 3.6 | 2.9 | 2.4 | 1.7 | 1.8 | 0.4 |
France | 4.5 | 2.6 | 2.5 | 2.7 | 2.2 | 1.4 | 1.6 | 0.3 |
Croatia | 6.7 | 4.3 | 3.5 | 3.3 | 3.0 | 3.1 | 3.6 | 0.8 |
Italy | 1.8 | 0.8 | 0.9 | 1.6 | 1.2 | 0.7 | 1.0 | 0.3 |
Cyprus | 3.6 | 3.0 | 3.0 | 2.4 | 2.2 | 1.6 | 1.6 | -0.2 |
Latvia | 2.3 | 0.0 | 1.5 | 0.8 | 0.9 | 1.6 | 2.1 | 0.1 |
Lithuania | 3.1 | 0.9 | 1.0 | 1.1 | 0.8 | 0.4 | 0.1 | 0.1 |
Luxembourg | 2.1 | 3.2 | 2.8 | 2.7 | 1.7 | 0.8 | 0.9 | -0.1 |
Hungary | 9.6 | 3.9 | 3.6 | 4.1 | 3.4 | 3.0 | 3.4 | 0.1 |
Malta | 4.2 | 2.3 | 2.2 | 2.3 | 2.4 | 2.1 | 2.4 | -1.0 |
Netherlands | -1.0 | 2.7 | 3.4 | 3.5 | 3.3 | 3.3 | 3.3 | 0.6 |
Austria | 4.9 | 3.3 | 3.1 | 2.9 | 2.4 | 1.8 | 1.8 | 0.4 |
Poland | 6.3 | 2.8 | 2.9 | 4.0 | 4.0 | 4.2 | 4.2 | 0.3 |
Portugal | 3.2 | 3.8 | 3.1 | 2.7 | 1.8 | 2.6 | 2.6 | -0.4 |
Romania | 8.3 | 5.8 | 5.3 | 5.8 | 5.3 | 4.8 | 5.0 | 0.7 |
Slovenia | 6.6 | 2.5 | 1.6 | 1.4 | 1.1 | 0.7 | 0.0 | -0.3 |
Slovakia | 7.8 | 2.6 | 2.4 | 3.0 | 3.2 | 2.9 | 3.5 | 0.8 |
Finland | 2.4 | 0.4 | 0.5 | 0.5 | 1.1 | 1.0 | 1.5 | 0.8 |
Sweden | 4.0 | 2.5 | 1.4 | 1.7 | 1.3 | 1.2 | 1.6 | 0.5 |
Iceland | 7.6 | 5.2 | 5.0 | 5.1 | 4.3 | 3.4 | 3.8 | -0.1 |
Norway | 3.7 | 2.7 | 2.3 | 2.4 | 2.3 | 2.7 | 2.2 | 0.7 |
Switzerland | 2.0 | 1.5 | 1.3 | 1.2 | 1.0 | 0.9 | 0.7 | 0.0 |
Source dataset: prc_hicp_manr |
Tables
Euro area inflation rate (%), selected aggregates | |||||||||
---|---|---|---|---|---|---|---|---|---|
Weights (‰) | Annual rate | Monthly rate | |||||||
2024 | Oct 23 | May 24 | Jun 24 | Jul 24 | Aug 24 | Sep 24 | Oct 24 | Oct 24 | |
All-items HICP | 1000.0 | 2.9 | 2.6 | 2.5 | 2.6 | 2.2 | 1.7 | 2.0 | 0.3 |
All-items excluding: energy | 900.9 | 4.9 | 2.8 | 2.8 | 2.7 | 2.7 | 2.6 | 2.7 | 0.3 |
energy, unprocessed food | 857.4 | 5.0 | 2.9 | 2.8 | 2.8 | 2.8 | 2.7 | 2.7 | 0.3 |
energy, food, alcohol & tobacco | 706.2 | 4.2 | 2.9 | 2.9 | 2.9 | 2.8 | 2.7 | 2.7 | 0.2 |
energy, seasonal food | 876.0 | 5.0 | 2.8 | 2.8 | 2.8 | 2.8 | 2.6 | 2.7 | 0.3 |
tobacco | 979.1 | 2.8 | 2.5 | 2.4 | 2.5 | 2.0 | 1.6 | 1.9 | 0.3 |
Food, alcohol & tobacco | 194.7 | 7.4 | 2.6 | 2.4 | 2.3 | 2.3 | 2.4 | 2.9 | 0.7 |
processed food, alcohol & tobacco | 151.2 | 8.4 | 2.8 | 2.7 | 2.7 | 2.7 | 2.6 | 2.8 | 0.3 |
unprocessed food | 43.5 | 4.5 | 1.8 | 1.3 | 1.0 | 1.1 | 1.6 | 3.0 | 2.1 |
Energy | 99.1 | -11.2 | 0.3 | 0.2 | 1.2 | -3.0 | -6.1 | -4.6 | 0.4 |
Non-energy industrial goods | 257.3 | 3.5 | 0.7 | 0.7 | 0.7 | 0.4 | 0.4 | 0.5 | 0.7 |
Services | 448.8 | 4.6 | 4.1 | 4.1 | 4.0 | 4.1 | 3.9 | 4.0 | 0.0 |
Source dataset: prc_hicp_manr |
Contributions to the euro area annual inflation rate (pp), | |||||||
---|---|---|---|---|---|---|---|
Oct 23 | May 24 | Jun 24 | Jul 24 | Aug 24 | Sep 24 | Oct 24 | |
Food, alcohol & tobacco | 1.48 | 0.51 | 0.48 | 0.45 | 0.46 | 0.47 | 0.56 |
processed food, alcohol & tobacco | 1.29 | 0.43 | 0.42 | 0.41 | 0.41 | 0.39 | 0.43 |
unprocessed food | 0.20 | 0.08 | 0.06 | 0.05 | 0.05 | 0.07 | 0.13 |
Energy | -1.46 | 0.04 | 0.02 | 0.12 | -0.29 | -0.60 | -0.45 |
Non-energy industrial goods | 0.90 | 0.18 | 0.17 | 0.19 | 0.11 | 0.12 | 0.13 |
Services | 1.97 | 1.83 | 1.84 | 1.82 | 1.88 | 1.76 | 1.77 |
Source dataset: prc_hicp_ctrb |
Notes for users
Revisions and timetable
A flash estimate of euro area inflation is issued at the end of each reference month. The euro area flash estimate for October 2024, published on 31 October 2024, was 2.0%.
The next flash estimate of euro area inflation with data for November 2024 is scheduled for 29 November 2024.
Methods and definitions
Annual inflation is the change of the price level of consumer goods and services between the current month and the same month of the previous year. Monthly inflation is the change of the price level between the current month and the previous month.
A contribution shows how much of the annual inflation rate comes from a particular component of the HICP. The contributions are calculated according to a method which ensures their additivity (allowing for rounding).
Geographical information
The euro area consists of Belgium, Germany, Estonia, Ireland, Greece, Spain, France, Croatia, Italy, Cyprus, Latvia, Lithuania, Luxembourg, Malta, the Netherlands, Austria, Portugal, Slovenia, Slovakia and Finland.
The European Union includes Belgium, Bulgaria, Czechia, Denmark, Germany, Estonia, Ireland, Greece, Spain, France, Croatia, Italy, Cyprus, Latvia, Lithuania, Luxembourg, Hungary, Malta, the Netherlands, Austria, Poland, Portugal, Romania, Slovenia, Slovakia, Finland and Sweden.
The euro area and European Union data refer to the respective country compositions at a specific point in time. Changes in the composition of these aggregates are incorporated using a chain index formula.
For more information
Eurostat website section on inflation
Eurostat database on inflation
Statistics Explained article on inflation in the euro area
Eurostat metadata on inflation
Euro indicators dashboard
Release calendar for Euro indicators
Statistics Code of Practice
Get in touch
Media requests
Eurostat Media Support
Phone: (+352) 4301 33 408
E-mail: eurostat-mediasupport@ec.europa.eu
Further information on data
E-mail: estat-hicp@ec.europa.eu
Share component will be rendered here.
'; /** Retrieve the order from the tooltip option */ var sortOrder = option.tooltip.order; /** Sort the 'params' array based on the 'sortOrder' parameter. */ switch (sortOrder) { /** Sort by series name in ascending order. */ case 'seriesAsc': params = params.sort((a, b) => a.seriesName.localeCompare(b.seriesName)); break; /** Sort by series name in descending order. */ case 'seriesDesc': params = params.sort((a, b) => b.seriesName.localeCompare(a.seriesName)); break; /** Sort by numerical value in ascending order. */ case 'valueAsc': params = params.sort((a, b) => parseFloat(a.value) - parseFloat(b.value)); break; /** Sort by numerical value in descending order. */ case 'valueDesc': params = params.sort((a, b) => parseFloat(b.value) - parseFloat(a.value)); break; /** Reverse the current order. */ case 'reverse': params.reverse(); break; default: break; } /** Iterate over each series in the tooltip parameters */ for (var i = 0; i < params.length; i++) { /** Retrieve the name and value of the current series */ var seriesName = params[i].seriesName; var value = params[i].value; /** Replace every specific apostrphe by simple one. */ seriesName = seriesName.replaceAll("’", "'"); /** Convert the numeric value to its string representation. */ var strValue = String(value); /** Retrieve the axis used as value */ var axis = option.yAxis.type === 'value' ? option.yAxis : option.xAxis; /** Initialize the number of decimal places */ var decimals = option.tooltip.decimals; /** Check if decimals configuration is set to default and the value contains decimal places */ if (!decimals && strValue.indexOf('.') > -1) { /** Calculate the number of decimal places */ decimals = strValue.substring(strValue.indexOf('.'), strValue.length - 1).length; } else { /** If there are no decimal places, format the value with 1 decimal place */ decimals = decimals ? decimals : 1; /** Convert the value to a fixed-point notation string with a specified number of decimal places. */ value = Number(value).toFixed(decimals); } /** Convert -0 value to 0 with the specified or calculated number of decimal places.*/ if (Number(value) == -0) { value = (Number(value) + 0).toFixed(decimals); } /** Extract the unit from within the axis label */ var unit = axis.axisLabel.unit ? axis.axisLabel.unit : ''; /** Format the value using the appropriate number of decimal places */ value = isNaN(value) ? 'N/A' : Number(value).toLocaleString(option.lang ? option.lang : 'en', { minimumFractionDigits: decimals }) + unit; /** Retrieve the color of the current series */ const color = params[i].color; /** * Add the series name and value to the tooltip content * Use a circle icon with the series color */ tooltipContent += '
' + '' + '' + '' + seriesName + '' + '' + '' + value + '' + '
'; } /** Close the tooltip content container */ tooltipContent += '
'; /** Return the formatted tooltip content */ return tooltipContent; }}/* * This content is licensed according to the W3C Software License at * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document * * File: sortable-table.js * * Desc: Adds sorting to a HTML data table that implements ARIA Authoring Practices */'use strict';class SortableTable { constructor(tableNode) { this.tableNode = tableNode; this.columnHeaders = tableNode.querySelectorAll('thead th.sortable'); this.sortColumns = []; for (var i = 0; i < this.columnHeaders.length; i++) { var ch = this.columnHeaders[i]; var buttonNode = ch.querySelector('button'); if (buttonNode) { this.sortColumns.push(i); // buttonNode.setAttribute('data-column-index', i); // buttonNode.addEventListener('click', this.handleClick.bind(this)); ch.setAttribute('data-column-index', i); ch.addEventListener('click', this.handleClick.bind(this)); } } this.optionCheckbox = document.querySelector( 'input[type="checkbox"][value="show-unsorted-icon"]' ); if (this.optionCheckbox) { this.optionCheckbox.addEventListener( 'change', this.handleOptionChange.bind(this) ); if (this.optionCheckbox.checked) { this.tableNode.classList.add('show-unsorted-icon'); } } } setColumnHeaderSort(columnIndex) { if (typeof columnIndex === 'string') { columnIndex = parseInt(columnIndex); } for (var i = 0; i < this.columnHeaders.length; i++) { var ch = this.columnHeaders[i]; var buttonNode = ch.querySelector('button'); if (i === columnIndex) { var value = ch.getAttribute('aria-sort'); if (value === 'ascending') { ch.setAttribute('aria-sort', 'descending'); this.sortColumn( columnIndex, 'descending', ch.classList.contains('num')); } else if (value === 'descending') { ch.removeAttribute('aria-sort'); this.sortColumn( columnIndex, 'initial', true ); } else { ch.setAttribute('aria-sort', 'ascending'); this.sortColumn( columnIndex, 'ascending', ch.classList.contains('num') ); } } else { if (ch.hasAttribute('aria-sort') && buttonNode) { ch.removeAttribute('aria-sort'); } } } } sortColumn(columnIndex, sortValue, isNumber) { function compareValues(a, b) { if (a.value === b.value) return 0; if (sortValue === 'descending') { return isNumber ? b.value - a.value : (a.value > b.value ? -1 : 1); } else { return isNumber ? a.value - b.value : (a.value < b.value ? -1 : 1); } } if (typeof isNumber !== 'boolean') { isNumber = false; } var tbodyNode = this.tableNode.querySelector('tbody'); var rowNodes = []; var dataCells = []; var rowNode = tbodyNode.firstElementChild; var index = 0; while (rowNode) { rowNodes.push(rowNode); var rowCells = rowNode.querySelectorAll('th, td'); var dataCell = rowCells[columnIndex]; var data = {}; data.index = index; if (sortValue !== 'initial') { data.value = dataCell.textContent.toLowerCase().trim(); } else { data.value = rowNode.getAttribute('initial-position').toLowerCase().trim(); } if (isNumber) { data.value = parseFloat(data.value); } dataCells.push(data); rowNode = rowNode.nextElementSibling; index += 1; } dataCells.sort(compareValues); // remove rows while (tbodyNode.firstChild) { tbodyNode.removeChild(tbodyNode.lastChild); } // add sorted rows for (var i = 0; i < dataCells.length; i += 1) { let pos = [dataCells[i].index]; if (sortValue === "initial") { rowNodes[pos].classList.remove("sorted"); } else { rowNodes[pos].classList.add("sorted"); } tbodyNode.appendChild(rowNodes[pos]); } } /* EVENT HANDLERS */ handleClick(event) { var tgt = event.currentTarget; this.setColumnHeaderSort(tgt.getAttribute('data-column-index')); } handleOptionChange(event) { var tgt = event.currentTarget; if (tgt.checked) { this.tableNode.classList.add('show-unsorted-icon'); } else { this.tableNode.classList.remove('show-unsorted-icon'); } }}$(document).ready(function() { load(); });;}());
Subscribe to receive the latest Eurostat Euro indicators releases