| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| bis | CPI | Consumer Price Index | 2026-02-12 | 2026-02-12 |
| ecb | CES | Consumer Expectations Survey | 2025-08-28 | 2025-05-24 |
| eurostat | nama_10_co3_p3 | Final consumption expenditure of households by consumption purpose (COICOP 3 digit) | 2026-02-12 | 2026-02-12 |
| eurostat | prc_hicp_cow | HICP - country weights | 2026-02-12 | 2026-02-12 |
| eurostat | prc_hicp_ctrb | Contributions to euro area annual inflation (in percentage points) | 2026-02-12 | 2026-02-12 |
| eurostat | prc_hicp_inw | HICP - item weights | 2026-02-12 | 2026-02-12 |
| eurostat | prc_hicp_manr | HICP (2015 = 100) - monthly data (annual rate of change) | 2026-02-12 | 2026-02-12 |
| eurostat | prc_hicp_midx | HICP (2015 = 100) - monthly data (index) | 2026-02-12 | 2026-02-12 |
| eurostat | prc_hicp_mmor | HICP (2015 = 100) - monthly data (monthly rate of change) | 2026-02-12 | 2026-02-12 |
| eurostat | prc_ppp_ind | Purchasing power parities (PPPs), price level indices and real expenditures for ESA 2010 aggregates | 2026-02-12 | 2026-02-12 |
| eurostat | sts_inpp_m | Producer prices in industry, total - monthly data | 2026-02-12 | 2026-02-12 |
| eurostat | sts_inppd_m | Producer prices in industry, domestic market - monthly data | 2026-02-12 | 2026-02-12 |
| eurostat | sts_inppnd_m | Producer prices in industry, non domestic market - monthly data | 2024-06-24 | 2026-02-12 |
| fred | cpi | Consumer Price Index | 2026-02-12 | 2026-02-12 |
| fred | inflation | Inflation | 2026-02-12 | 2026-02-12 |
| imf | CPI | Consumer Price Index - CPI | 2026-02-12 | 2020-03-13 |
| oecd | MEI_PRICES_PPI | Producer Prices - MEI_PRICES_PPI | 2026-02-10 | 2024-04-15 |
| oecd | PPP2017 | 2017 PPP Benchmark results | 2024-04-16 | 2023-07-25 |
| oecd | PRICES_CPI | Consumer price indices (CPIs) | 2024-04-16 | 2024-04-15 |
| wdi | FP.CPI.TOTL.ZG | Inflation, consumer prices (annual %) | 2026-02-12 | 2026-02-12 |
| wdi | NY.GDP.DEFL.KD.ZG | Inflation, GDP deflator (annual %) | 2026-02-12 | 2026-02-12 |
Purchasing power parities, price level indices, nominal and real expenditures by analytical categories - based on COICOP 2018
Data - Eurostat
Info
Data on inflation
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2026-02-14 |
Last
Code
prc_ppp_ind_1 %>%
group_by(time) %>%
summarise(Nobs = n()) %>%
arrange(desc(time)) %>%
head(1) %>%
print_table_conditional()| time | Nobs |
|---|---|
| 2024 | 18627 |
What’s PPP ?
PPPs are nothing more than price relatives that show the ratio of the prices in national currencies of the same good or service in different countries. For example, if the price of a litre of Coca Cola is 2.30 euros in France and 2.00 dollars in the United States, then the PPP for Coca Cola between France and the United States is the ratio 2.30 euros to 2.00 dollars or 1.15 euros to the dollar. This means that for every dollar spent on Coca Cola in the United States, 1.15 euros would have to be spent in France to obtain the same quantity and quality – or, in other words, the same volume - of Coca Cola.
Eurostat Website
Actual individual consumption per capita
Code
include_graphics("https://ec.europa.eu/eurostat/documents/4187653/11581511/Map+AIC+per+capita+2020.jpg/fbd93f3e-ebe8-29bc-8cd3-8d790990ca30?t=1624002507913")
Volume indices of AIC and GDP per capita
Code
include_graphics("https://ec.europa.eu/eurostat/documents/4187653/11581511/AIC+GDP+per+capita+2020.jpg/c1f554b3-807e-d0b7-1337-333e3eef5d17?t=1624002507551")
indic_ppp
Code
prc_ppp_ind_1 %>%
left_join(indic_ppp, by = "indic_ppp") %>%
group_by(indic_ppp, Indic_ppp) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()| indic_ppp | Indic_ppp | Nobs |
|---|---|---|
| PLI_EU27_2020 | Price level indices (EU27_2020=100) | 15548 |
| PPP_EU27_2020 | Purchasing power parities (EU27_2020=1) | 15548 |
| EXP_EUR_HAB | Nominal expenditure per inhabitant (in euro) | 14803 |
| EXP_EUR | Nominal expenditure (in euro) | 14763 |
| EXP_NAC | Nominal expenditure in national currency | 14763 |
| EXP_NAC_PC_GDP | Nominal expenditure as a percentage of GDP (GDP=100) | 14763 |
| EXP_PPS_EU27_2020 | Real expenditure (in PPS_EU27_2020) | 13547 |
| VI_PPS_EU27_2020_HAB | Volume indices of real expenditure per capita (in PPS_EU27_2020=100) | 13547 |
| EXP_PPS_EU27_2020_HAB | Real expenditure per capita (in PPS_EU27_2020) | 13507 |
ppp_cat18
Code
prc_ppp_ind_1 %>%
left_join(ppp_cat18, by = "ppp_cat18") %>%
group_by(ppp_cat18, Ppp_cat18) %>%
summarise(Nobs = n()) %>%
print_table_conditional()geo
Code
prc_ppp_ind_1 %>%
left_join(geo, by = "geo") %>%
group_by(geo, Geo) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}time
Code
prc_ppp_ind_1 %>%
group_by(time) %>%
summarise(Nobs = n()) %>%
print_table_conditional()| time | Nobs |
|---|---|
| 1995 | 1410 |
| 1996 | 1410 |
| 1997 | 1443 |
| 1998 | 1464 |
| 1999 | 1816 |
| 2000 | 1872 |
| 2001 | 1872 |
| 2002 | 1872 |
| 2003 | 3011 |
| 2004 | 3018 |
| 2005 | 3217 |
| 2006 | 3280 |
| 2007 | 3217 |
| 2008 | 3280 |
| 2009 | 3280 |
| 2010 | 3280 |
| 2011 | 3280 |
| 2012 | 3280 |
| 2013 | 3280 |
| 2014 | 3294 |
| 2015 | 3294 |
| 2016 | 3294 |
| 2017 | 3294 |
| 2018 | 3294 |
| 2019 | 3294 |
| 2020 | 3294 |
| 2021 | 3240 |
| 2022 | 18641 |
| 2023 | 18641 |
| 2024 | 18627 |
Germany, France, Italy
GDP - Gross domestic product
Code
prc_ppp_ind_1 %>%
filter(ppp_cat18 == "GDP",
geo %in% c("FR", "DE", "IT"),
indic_ppp == "PPP_EU27_2020") %>%
year_to_date %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2028, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(0, 4000, .05))
E01 - Final consumption expenditure
Code
prc_ppp_ind_1 %>%
filter(ppp_cat18 == "E01",
geo %in% c("FR", "DE", "IT"),
indic_ppp == "PPP_EU27_2020") %>%
year_to_date %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2028, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(0, 4000, .05))
E011 - Household final consumption expenditure
Code
prc_ppp_ind_1 %>%
filter(ppp_cat18 == "E011",
geo %in% c("FR", "DE", "IT"),
indic_ppp == "PPP_EU27_2020") %>%
year_to_date %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2028, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(0, 4000, .05))
A01 - Actual individual consumption
Code
prc_ppp_ind_1 %>%
filter(ppp_cat18 == "A01",
geo %in% c("FR", "DE", "IT"),
indic_ppp == "PPP_EU27_2020") %>%
year_to_date %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2028, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(0, 4000, .05))
A010405 -
Germany, France, Italy
PPP_EU27_2020
Code
prc_ppp_ind_1 %>%
filter(ppp_cat18 == "A010405",
geo %in% c("FR", "DE", "IT"),
indic_ppp == "PPP_EU27_2020") %>%
year_to_date %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2028, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(0, 4000, .05))
Housing, water, electricity, gas and other fuels - A0104
France
Code
prc_ppp_ind_1 %>%
filter(ppp_cat18 == "A0104",
geo %in% c("FR")) %>%
left_join(indic_ppp, by = "indic_ppp") %>%
group_by(indic_ppp, Indic_ppp) %>%
summarise(Nobs = n(),
first = first(time),
last = last(time)) %>%
print_table_conditional()| indic_ppp | Indic_ppp | Nobs | first | last |
|---|---|---|---|---|
| EXP_EUR | Nominal expenditure (in euro) | 3 | 2022 | 2024 |
| EXP_EUR_HAB | Nominal expenditure per inhabitant (in euro) | 3 | 2022 | 2024 |
| EXP_NAC | Nominal expenditure in national currency | 3 | 2022 | 2024 |
| EXP_NAC_PC_GDP | Nominal expenditure as a percentage of GDP (GDP=100) | 3 | 2022 | 2024 |
| EXP_PPS_EU27_2020 | Real expenditure (in PPS_EU27_2020) | 3 | 2022 | 2024 |
| EXP_PPS_EU27_2020_HAB | Real expenditure per capita (in PPS_EU27_2020) | 3 | 2022 | 2024 |
| PLI_EU27_2020 | Price level indices (EU27_2020=100) | 3 | 2022 | 2024 |
| PPP_EU27_2020 | Purchasing power parities (EU27_2020=1) | 3 | 2022 | 2024 |
| VI_PPS_EU27_2020_HAB | Volume indices of real expenditure per capita (in PPS_EU27_2020=100) | 3 | 2022 | 2024 |
2019
Code
prc_ppp_ind_1 %>%
filter(ppp_cat18 == "A0104",
time == "2019",
geo %in% c("FR", "DE", "IT")) %>%
select(indic_ppp, geo, values) %>%
left_join(indic_ppp, by = "indic_ppp") %>%
spread(geo, values) %>%
print_table_conditional()| indic_ppp | Indic_ppp |
|---|---|
| NA | NA |
| :---------: | :---------: |
Germany, France, Italy
PPP_EU27_2020
Code
prc_ppp_ind_1 %>%
filter(ppp_cat18 == "A0104",
geo %in% c("FR", "DE", "IT"),
indic_ppp == "PPP_EU27_2020") %>%
year_to_date %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2028, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(0, 4000, .05))
Table
Household final consumption expenditure - E011
Code
prc_ppp_ind_1 %>%
filter(ppp_cat18 == "E011",
time == "2019",
geo %in% c("FR", "DE", "IT")) %>%
select(indic_ppp, geo, values) %>%
left_join(indic_ppp, by = "indic_ppp") %>%
spread(geo, values) %>%
print_table_conditional()| indic_ppp | Indic_ppp | DE | FR | IT |
|---|---|---|---|---|
| EXP_EUR | Nominal expenditure (in euro) | 1.813709e+06 | 1.262531e+06 | 1.067942e+06 |
| EXP_EUR_HAB | Nominal expenditure per inhabitant (in euro) | 2.182700e+04 | 1.873300e+04 | 1.788000e+04 |
| EXP_NAC | Nominal expenditure in national currency | 1.813709e+06 | 1.262531e+06 | 1.067942e+06 |
| EXP_NAC_PC_GDP | Nominal expenditure as a percentage of GDP (GDP=100) | 5.130000e+01 | 5.190000e+01 | 5.920000e+01 |
| EXP_PPS_EU27_2020 | Real expenditure (in PPS_EU27_2020) | 1.694653e+06 | 1.113175e+06 | 1.051007e+06 |
| EXP_PPS_EU27_2020_HAB | Real expenditure per capita (in PPS_EU27_2020) | 2.040000e+04 | 1.650000e+04 | 1.760000e+04 |
| PLI_EU27_2020 | Price level indices (EU27_2020=100) | 1.070000e+02 | 1.134000e+02 | 1.016000e+02 |
| PPP_EU27_2020 | Purchasing power parities (EU27_2020=1) | 1.070250e+00 | 1.134170e+00 | 1.016110e+00 |
| VI_PPS_EU27_2020_HAB | Volume indices of real expenditure per capita (in PPS_EU27_2020=100) | 1.240000e+02 | 1.000000e+02 | 1.070000e+02 |
Gross domestic product - GDP
Code
prc_ppp_ind_1 %>%
filter(ppp_cat18 == "GDP",
time == "2019",
geo %in% c("FR", "DE", "IT")) %>%
select(indic_ppp, geo, values) %>%
left_join(indic_ppp, by = "indic_ppp") %>%
spread(geo, values) %>%
print_table_conditional()| indic_ppp | Indic_ppp | DE | FR | IT |
|---|---|---|---|---|
| EXP_EUR | Nominal expenditure (in euro) | 3.537280e+06 | 2.432207e+06 | 1.804067e+06 |
| EXP_EUR_HAB | Nominal expenditure per inhabitant (in euro) | 4.257000e+04 | 3.608800e+04 | 3.020400e+04 |
| EXP_NAC | Nominal expenditure in national currency | 3.537280e+06 | 2.432207e+06 | 1.804067e+06 |
| EXP_NAC_PC_GDP | Nominal expenditure as a percentage of GDP (GDP=100) | 1.000000e+02 | 1.000000e+02 | 1.000000e+02 |
| EXP_PPS_EU27_2020 | Real expenditure (in PPS_EU27_2020) | 3.205299e+06 | 2.240749e+06 | 1.812665e+06 |
| EXP_PPS_EU27_2020_HAB | Real expenditure per capita (in PPS_EU27_2020) | 3.860000e+04 | 3.320000e+04 | 3.030000e+04 |
| PLI_EU27_2020 | Price level indices (EU27_2020=100) | 1.104000e+02 | 1.085000e+02 | 9.950000e+01 |
| PPP_EU27_2020 | Purchasing power parities (EU27_2020=1) | 1.103570e+00 | 1.085440e+00 | 9.952560e-01 |
| VI_PPS_EU27_2020_HAB | Volume indices of real expenditure per capita (in PPS_EU27_2020=100) | 1.220000e+02 | 1.050000e+02 | 9.600000e+01 |
Actual individual consumption - A01
Code
prc_ppp_ind_1 %>%
filter(ppp_cat18 == "E011",
time == "2019",
geo %in% c("FR", "DE", "IT")) %>%
select(indic_ppp, geo, values) %>%
left_join(indic_ppp, by = "indic_ppp") %>%
spread(geo, values) %>%
print_table_conditional()| indic_ppp | Indic_ppp | DE | FR | IT |
|---|---|---|---|---|
| EXP_EUR | Nominal expenditure (in euro) | 1.813709e+06 | 1.262531e+06 | 1.067942e+06 |
| EXP_EUR_HAB | Nominal expenditure per inhabitant (in euro) | 2.182700e+04 | 1.873300e+04 | 1.788000e+04 |
| EXP_NAC | Nominal expenditure in national currency | 1.813709e+06 | 1.262531e+06 | 1.067942e+06 |
| EXP_NAC_PC_GDP | Nominal expenditure as a percentage of GDP (GDP=100) | 5.130000e+01 | 5.190000e+01 | 5.920000e+01 |
| EXP_PPS_EU27_2020 | Real expenditure (in PPS_EU27_2020) | 1.694653e+06 | 1.113175e+06 | 1.051007e+06 |
| EXP_PPS_EU27_2020_HAB | Real expenditure per capita (in PPS_EU27_2020) | 2.040000e+04 | 1.650000e+04 | 1.760000e+04 |
| PLI_EU27_2020 | Price level indices (EU27_2020=100) | 1.070000e+02 | 1.134000e+02 | 1.016000e+02 |
| PPP_EU27_2020 | Purchasing power parities (EU27_2020=1) | 1.070250e+00 | 1.134170e+00 | 1.016110e+00 |
| VI_PPS_EU27_2020_HAB | Volume indices of real expenditure per capita (in PPS_EU27_2020=100) | 1.240000e+02 | 1.000000e+02 | 1.070000e+02 |
Actual Individual Consumption
Table - 2019 - Countries
Code
prc_ppp_ind_1 %>%
filter(ppp_cat18 == "A01",
indic_ppp == "VI_PPS_EU28_HAB",
time == "2019") %>%
left_join(geo, by = "geo") %>%
select(-ppp_cat18, -time, -indic_ppp) %>%
mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}