Volume of retail trade down by 0.5% in the euro area and by 0.6% in the EU (2024)

Euro indicators 6 June 2024 Next release: 5 July 2024

April 2024 compared with March 2024

Skip to the content

Before printing

Printing can have negative environmental impacts due to paper waste. We encourage you to explore eco-friendly alternatives. Bookmarking this page in your browser allows you to access it anytime.

This publication can also be converted to PDF, if you have a PDF printer installed on your computer. PDF printers function as virtual printers, enabling you to create digital copies of web pages and access the content offline.

Unchanged in the euro area and down by 0.1% in the EU compared with April 2023

Overview

In April 2024, compared with March 2024, the seasonally adjusted retail trade volume decreased by 0.5% in the euro area and by 0.6% in the EU, according to first estimates from Eurostat, the statistical office of the European Union.

In March 2024, retail trade volume grew by 0.7% in the euro area and by 0.6% in the EU.

In April 2024 compared with April 2023, the calendar adjusted retail sales index remained stable in the euro area and decreased by 0.1% in the EU.

Volume of retail trade down by 0.5% in the euro area and by 0.6% in the EU (1)

Monthly comparison by retail sector and by Member State

In the euro area in April 2024, compared with March 2024, the volume of retail trade

  • decreased for food, drinks, tobacco by 0.5%,

  • decreased for non-food products (except automotive fuel) by 0.1%,

  • decreased for automotive fuel in specialised stores by 2.2%.

In the EU, the volume of retail trade

  • decreased for food, drinks, tobacco by 0.9%,

  • remained stable for non-food products (except automotive fuel),

  • decreased for automotive fuel in specialised stores by 2.0%.

Among Member States for which data are available, the largest monthly decreases in the total retail trade volume were recorded in Latvia (-3.3%), Cyprus (-3.1%) and Denmark (-2.7%). The highest increases were observed in Slovakia (+2.4%), Bulgaria and Austria (both +1.9%) and Portugal (+1.7%).

Annual comparison by retail sector and by Member State

In the euro area in April 2024, compared with April 2023, the volume of retail trade

  • decreased for food, drinks, tobacco by 0.5%,

  • increased for non-food products (except automotive fuel) by 0.4%,

  • increased for automotive fuel in specialised stores by 0.3%.

In the EU, the volume of retail trade

  • decreased for food, drinks, tobacco by 0.1%,

  • increased for non-food products (except automotive fuel) by 0.1%,

  • remained stable for automotive fuel in specialised stores.

Among Member States for which data are available, the largest annual decreases in the total retail trade volume were recorded in Poland (-7.3%), Belgium (-5.8%) and Estonia (-4.9%). The highest increases were observed in Bulgaria and Romania (both +9.8%), Croatia and Slovakia (both +8.6%) and Luxembourg (+7.3%).

Tables

Volume of retail trade

% change compared with the previous month*

Nov-23

Dec-23

Jan-24

Feb-24

Mar-24

Apr-24

Euro area

Total retail trade

0.4

-0.5

0.1

-0.2

0.7

-0.5

Food, drinks, tobacco

-0.1

-0.6

0.3

-0.2

1.0

-0.5

Non-food products (except automotive fuel)

0.3

-0.7

0.4

0.4

-0.1

-0.1

Automotive fuel in specialised stores

1.9

0.5

0.6

-1.1

1.0

-2.2

EU

Total retail trade

0.4

-0.4

0.2

0.0

0.6

-0.6

Food, drinks, tobacco

-0.2

-0.3

0.3

-0.2

0.9

-0.9

Non-food products (except automotive fuel)

0.4

-0.7

0.4

0.5

-0.2

0.0

Automotive fuel in specialised stores

0.6

0.7

0.3

0.0

0.4

-2.0

* Calendar and seasonally adjusted

Source dataset: sts_trtu_m

Volume of retail trade down by 0.5% in the euro area and by 0.6% in the EU (2)

Volume of retail trade

% change compared with the previous month*

Nov-23

Dec-23

Jan-24

Feb-24

Mar-24

Apr-24

Euro area

0.4

-0.5

0.1

-0.2

0.7

-0.5

EU

0.4

-0.4

0.2

0.0

0.6

-0.6

Belgium

0.9

-1.9

-0.7

-1.9

0.4

-0.5

Bulgaria

0.4

-0.7

0.8

0.4

0.1

1.9

Czechia

0.5

0.2

1.4

-0.3

1.3

c

Denmark

1.0

-0.1

-1.9

1.2

0.1

-2.7

Germany

-0.5

-0.2

-0.2

-1.6

2.7

-1.2

Estonia

-0.9

0.1

-2.3

1.1

0.4

-1.0

Ireland

0.0

1.2

0.0

0.2

0.1

0.9

Greece

1.2

2.3

-6.3

0.6

6.3

c

Spain

1.2

-0.8

-0.5

0.6

-0.5

0.8

France

1.3

-0.9

0.9

0.5

-0.2

-0.4

Croatia

1.0

0.8

0.5

0.8

0.5

0.7

Italy

0.1

-0.7

0.2

-0.1

0.1

-0.2

Cyprus

1.0

0.1

1.4

-1.2

4.7

-3.1

Latvia

0.6

0.8

-1.4

0.6

1.2

-3.3

Lithuania

1.0

0.1

0.8

0.8

1.6

-1.5

Luxembourg

1.8

3.0

1.3

2.9

-2.4

-2.6

Hungary

0.8

1.5

0.1

-0.3

1.9

-0.9

Malta

1.2

-1.1

0.3

0.8

-1.0

0.9

Netherlands

0.8

-0.5

1.2

0.7

-0.5

-1.0

Austria

0.7

-1.6

1.1

0.3

-0.9

1.9

Poland

-0.7

-0.8

1.8

0.7

-1.0

-0.9

Portugal

0.5

0.3

-0.2

0.4

0.2

1.7

Romania

1.7

-0.4

4.6

-0.3

1.0

0.8

Slovenia

0.2

-0.2

-1.4

-0.2

2.3

-1.0

Slovakia

0.2

1.9

-1.2

1.0

-0.5

2.4

Finland

0.0

-1.0

0.3

0.2

0.8

-0.8

Sweden

-1.1

-0.5

0.1

2.8

-2.3

-0.1

Norway

0.4

-1.0

0.0

0.3

0.3

-0.3

Switzerland

0.6

-0.2

0.8

0.0

-0.3

0.3

* Calendar and seasonally adjusted

c Confidential

Source dataset: sts_trtu_m

Volume of retail trade down by 0.5% in the euro area and by 0.6% in the EU (3)

Volume of retail trade

% change compared with the same month of the previous year*

Nov-23

Dec-23

Jan-24

Feb-24

Mar-24

Apr-24

Euro area

Total retail trade

-0.6

-0.5

-0.7

-0.3

0.7

0.0

Food, drinks, tobacco

-0.5

-0.1

-1.3

-1.2

1.0

-0.5

Non-food products (except automotive fuel)

0.3

-0.1

-0.7

0.7

0.7

0.4

Automotive fuel in specialised stores

-3.1

-3.4

0.7

-1.5

-1.0

0.3

EU

Total retail trade

-0.6

-0.5

-0.5

0.2

1.4

-0.1

Food, drinks, tobacco

-0.6

0.3

-0.7

-0.5

1.4

-0.1

Non-food products (except automotive fuel)

0.6

-0.1

-0.5

1.1

1.7

0.1

Automotive fuel in specialised stores

-4.5

-5.1

-0.4

-1.0

-1.1

0.0

* Calendar adjusted

Source dataset: sts_trtu_m

Volume of retail trade down by 0.5% in the euro area and by 0.6% in the EU (4)

Volume of retail trade

% change compared with the same month of the previous year*

Nov-23

Dec-23

Jan-24

Feb-24

Mar-24

Apr-24

Euro area

-0.6

-0.5

-0.7

-0.3

0.7

0.0

EU

-0.6

-0.5

-0.5

0.2

1.4

-0.1

Belgium

-2.6

-3.7

-3.8

-6.8

-4.6

-5.8

Bulgaria

3.1

0.8

-0.1

3.1

0.4

9.8

Czechia

-0.2

1.1

3.3

2.5

6.2

c

Denmark

2.7

4.7

0.7

2.1

2.9

-1.9

Germany

-1.6

-0.5

-1.1

-2.3

1.0

-0.8

Estonia

-8.5

-4.3

-6.7

-3.5

-2.3

-4.9

Ireland

-0.1

1.5

1.2

1.1

1.2

1.0

Greece

-4.3

0.8

-9.3

-9.5

5.2

c

Spain

3.9

2.7

0.3

1.8

0.6

0.5

France

0.3

-0.6

0.4

1.5

0.8

1.9

Croatia

6.8

8.5

7.9

9.1

8.9

8.6

Italy

-2.3

-2.3

-2.6

-0.6

-1.3

-1.2

Cyprus

3.3

3.7

4.8

0.5

6.7

2.9

Latvia

-0.7

1.7

-1.3

-0.2

3.5

-0.2

Lithuania

0.3

3.3

-0.7

2.6

6.2

2.0

Luxembourg

9.6

7.2

11.6

15.5

12.7

7.3

Hungary

-5.5

-0.3

0.6

1.7

4.1

3.2

Malta

5.1

-0.4

1.8

4.8

-0.7

2.5

Netherlands

-0.5

0.6

0.9

2.5

3.2

1.6

Austria

-2.0

-3.9

-2.1

-1.2

-2.1

1.4

Poland

-1.1

-2.7

-1.6

2.2

8.2

-7.3

Portugal

1.4

0.7

0.2

1.2

1.2

1.7

Romania

3.4

1.5

7.5

7.4

5.7

9.8

Slovenia

-5.1

-3.3

-1.9

-4.4

-0.5

-0.2

Slovakia

-1.7

-3.3

1.7

4.3

1.3

8.6

Finland

-2.4

-1.7

-2.5

-2.2

0.8

-2.2

Sweden

-3.5

-3.0

-3.1

2.4

0.0

-0.6

Norway

-1.6

-0.3

-1.1

-0.3

0.7

0.9

Switzerland

-1.2

0.1

0.4

-0.1

-0.2

2.8

* Calendar adjusted

c Confidential

Source dataset: sts_trtu_m

Volume of retail trade down by 0.5% in the euro area and by 0.6% in the EU (5)

Volume of retail trade, calendar and seasonally adjusted indices

(base year 2021)

Nov-23

Dec-23

Jan-24

Feb-24

Mar-24

Apr-24

Euro area

99.3

98.8

98.9

98.7

99.4

98.9

EU

99.6

99.2

99.4

99.4

100.0

99.4

Belgium

88.7

87.0

86.4

84.8

85.1

84.7

Bulgaria

107.2

106.5

107.4

107.8

107.9

110.0

Czechia

93.0

93.2

94.5

94.2

95.4

c

Denmark

94.5

94.4

92.6

93.7

93.8

91.3

Germany

96.2

96.0

95.8

94.3

96.8

95.6

Estonia

92.4

92.5

90.4

91.4

91.8

90.9

Ireland

100.5

101.7

101.7

101.9

102.0

102.9

Greece

98.5

100.8

94.5

95.1

101.1

c

Spain

106.1

105.3

104.8

105.4

104.9

105.7

France

102.0

101.1

102.0

102.5

102.3

101.9

Croatia

108.4

109.3

109.9

110.8

111.3

112.1

Italy

97.9

97.2

97.4

97.3

97.4

97.2

Cyprus

110.7

110.8

112.4

111.0

116.2

112.6

Latvia

103.3

104.1

102.6

103.2

104.4

101.0

Lithuania

99.8

99.9

100.7

101.5

103.1

101.6

Luxembourg

107.4

110.6

112.0

115.3

112.5

109.6

Hungary

97.1

98.6

98.7

98.4

100.3

99.4

Malta

113.8

112.5

112.8

113.7

112.6

113.6

Netherlands

100.4

99.9

101.1

101.8

101.3

100.3

Austria

95.5

94.0

95.0

95.3

94.4

96.2

Poland

107.3

106.4

108.3

109.1

108.0

107.0

Portugal

106.6

106.9

106.7

107.1

107.3

109.1

Romania

108.8

108.4

113.4

113.1

114.2

115.1

Slovenia

99.4

99.2

97.8

97.6

99.8

98.8

Slovakia

100.4

102.3

101.1

102.1

101.6

104.0

Finland

92.6

91.7

92.0

92.2

92.9

92.2

Sweden

93.1

92.6

92.7

95.3

93.1

93.0

Norway

92.9

92.0

92.0

92.3

92.6

92.3

Switzerland

98.5

98.3

99.1

99.1

98.8

99.1

c Confidential

Source dataset: sts_trtu_m

Volume of retail trade down by 0.5% in the euro area and by 0.6% in the EU (6)

Volume of retail trade, calendar adjusted indices

(base year 2021)

Nov-23

Dec-23

Jan-24

Feb-24

Mar-24

Apr-24

Euro area

102.2

115.4

93.0

87.8

97.9

95.4

EU

102.8

115.5

92.7

88.1

98.6

96.4

Belgium

90.5

102.2

84.0

74.8

84.5

83.2

Bulgaria

113.7

118.5

98.5

96.5

104.3

108.3

Czechia

105.0

114.5

85.1

81.3

93.2

c

Denmark

101.3

108.8

85.4

81.9

92.4

90.6

Germany

102.9

107.3

88.2

85.1

98.5

95.1

Estonia

93.4

104.7

81.2

77.6

90.8

87.3

Ireland

115.9

137.8

94.3

95.1

92.8

98.1

Greece

98.3

111.0

85.8

89.1

95.6

c

Spain

106.1

122.0

104.1

92.0

101.3

101.2

France

103.0

123.0

97.6

90.8

99.9

98.4

Croatia

98.9

111.8

89.2

88.7

102.6

106.8

Italy

99.8

117.8

91.5

87.1

94.1

88.0

Cyprus

112.4

133.9

101.4

97.6

110.5

109.4

Latvia

99.4

115.7

91.4

88.1

101.5

97.8

Lithuania

99.0

112.2

90.0

87.3

101.1

99.6

Luxembourg

109.6

129.1

109.7

106.8

117.2

105.0

Hungary

102.1

116.9

85.6

85.2

98.3

95.5

Malta

120.7

126.4

102.0

100.3

107.6

108.6

Netherlands

104.8

110.7

95.8

89.2

100.5

98.7

Austria

96.2

108.0

86.8

85.6

96.6

97.0

Poland

108.2

122.3

97.4

96.8

111.7

107.7

Portugal

107.5

128.1

98.0

92.6

103.0

102.1

Romania

114.9

122.1

100.4

97.6

110.6

113.5

Slovenia

100.9

109.6

89.5

85.2

101.3

98.2

Slovakia

103.8

113.5

91.6

93.0

102.9

101.0

Finland

93.4

104.1

80.4

77.0

88.8

89.6

Sweden

97.7

103.0

81.5

80.6

91.1

92.1

Norway

101.0

108.0

82.7

77.7

88.2

87.4

Switzerland

105.7

118.0

92.8

87.9

99.6

96.1

c Confidential

Source dataset: sts_trtu_m

Volume of retail trade down by 0.5% in the euro area and by 0.6% in the EU (7)

Notes for users

Revisions and timetable

Data of previous months have been revised compared to those issued in the News Release of 7 May 2024. The monthly percentage change for March 2024 has been revised from +0.8% to +0.7% in the euro area and from +1.2% to +0.6% in theEU. The annual percentage increase remained unchanged at +0.7% in the euro area and has been revised from +2.0% to +1.4% in the EU.

Methods and definitions

The index of the volume of retail trade measures the evolution of the turnover in retail trade, adjusted for price changes (deflated), i.e. the evolution of the total amount of goods sold, based on data adjusted for calendar and seasonal effects.

Seasonally adjusted euro area and EU series are calculated by aggregating the seasonally adjusted national data.

Missing observations from Member States for recent months are estimated for the calculation of the euro area and the EU aggregates.

Starting with reference period January 2024, the base year of the data has been changed to 2021, since 2018 the base year had been 2015. More information on the reasons for and impact of the base year change can be found in the related Statistics Explained article.

Geographical information

The euro area (EA20) includes 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 (EU27) 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.

For more information

  • Database section on short-term business statistics

  • Statistics Explained article on the index of retail trade

  • The weights of the Member States in the EU and euro area aggregates
    (See file Base year 2021 weights - Euro indicators releases)

  • Euro indicators dashboard

  • Release calendar for Euro indicators

  • European 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-STS-DATA@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

Subscribe
Volume of retail trade down by 0.5% in the euro area and by 0.6% in the EU (2024)

References

Top Articles
Latest Posts
Article information

Author: Greg O'Connell

Last Updated:

Views: 6339

Rating: 4.1 / 5 (42 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Greg O'Connell

Birthday: 1992-01-10

Address: Suite 517 2436 Jefferey Pass, Shanitaside, UT 27519

Phone: +2614651609714

Job: Education Developer

Hobby: Cooking, Gambling, Pottery, Shooting, Baseball, Singing, Snowboarding

Introduction: My name is Greg O'Connell, I am a delightful, colorful, talented, kind, lively, modern, tender person who loves writing and wants to share my knowledge and understanding with you.