LAST_DOWNLOAD |
---|
2024-07-26 |
Indices of Consumer prices - ICP
Data - ECB
Info
LAST_DOWNLOAD
LAST_COMPILE
LAST_COMPILE |
---|
2024-08-22 |
Last
TIME_PERIOD | FREQ | Nobs |
---|---|---|
2024-Q1 | Q | 630 |
2024-06 | M | 23449 |
2024 | A | 15783 |
Nobs
ICP_ITEM
Code
%>%
ICP left_join(ICP_ITEM, by = "ICP_ITEM") %>%
group_by(ICP_ITEM, Icp_item) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
ICP_SUFFIX
Code
%>%
ICP left_join(ICP_SUFFIX, by = "ICP_SUFFIX") %>%
group_by(ICP_SUFFIX, Icp_suffix) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
ICP_SUFFIX | Icp_suffix | Nobs |
---|---|---|
INX | Index | 2860961 |
ANR | Annual rate of change | 2711203 |
INW | Sub-index weight | 271436 |
AVR | Annual average rate of change | 220219 |
CTG | Contribution to growth rate | 52608 |
QUR | Quarterly rate of change | 19837 |
OHW | OOHPI weight (all OOHPI items = 1000) | 6003 |
D0W | EU (changing composition) country weights | 5095 |
V5W | EU 27 (as of brexit) country weights | 4644 |
U2W | Euro area country weights | 3596 |
I9W | NA | 3325 |
V3W | EU 28 country weights | 3211 |
I8W | Euro 19 country weights | 3135 |
3MM | Three-month moving average | 1097 |
MOR | Monthly rate of change | 329 |
CTR | Annual rate of change at constant tax rates (HICP-CT) | 19 |
UNIT
Code
%>%
ICP group_by(UNIT) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
UNIT | Nobs |
---|---|
PURE_NUMB | 3164538 |
PCCH | 2949572 |
POINTS | 52608 |
TITLE
Code
%>%
ICP group_by(TITLE) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
FREQ
Code
%>%
ICP left_join(FREQ, by = "FREQ") %>%
group_by(FREQ, Freq) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
FREQ | Freq | Nobs |
---|---|---|
M | Monthly | 5582307 |
A | Annual | 525652 |
Q | Quarterly | 58759 |
UNIT
Code
%>%
ICP left_join(UNIT, by = "UNIT") %>%
group_by(UNIT, Unit) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
UNIT | Unit | Nobs |
---|---|---|
PURE_NUMB | Pure number | 3164538 |
PCCH | Percentage change | 2949572 |
POINTS | Points | 52608 |
STS_INSTITUTION
Code
%>%
ICP mutate(STS_INSTITUTION = paste0(STS_INSTITUTION)) %>%
left_join(STS_INSTITUTION, by = "STS_INSTITUTION") %>%
group_by(STS_INSTITUTION, Sts_institution) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
REF_AREA
Code
%>%
ICP left_join(REF_AREA, by = "REF_AREA") %>%
group_by(REF_AREA, Ref_area) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
ADJUSTMENT
Code
%>%
ICP left_join(ADJUSTMENT, by = "ADJUSTMENT") %>%
group_by(ADJUSTMENT, Adjustment) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
UNIT_INDEX_BASE
Code
%>%
ICP group_by(UNIT_INDEX_BASE) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
UNIT_INDEX_BASE | Nobs |
---|---|
3025790 | |
2015 = 100 | 2740275 |
Parts per 1000. HICP total = 1000 | 271276 |
2005 = 100 | 120686 |
Parts per 1000. EU total = 1000 | 5095 |
Parts per 1000. EMU total = 1000 | 3596 |
DECIMALS
Code
%>%
ICP group_by(DECIMALS) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
DECIMALS | Nobs |
---|---|
1 | 3576058 |
2 | 2589823 |
6 | 837 |
TIME_FORMAT
Code
%>%
ICP group_by(TIME_FORMAT) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
TIME_FORMAT | Nobs |
---|---|
P1M | 5582307 |
P1Y | 525652 |
P3M | 58759 |
Info
Housing
Greece
Code
%>%
ICP filter(REF_AREA %in% c("GR"),
%in% c("HOUSE0", "041000", "040000"),
ICP_ITEM == "INX") %>%
ICP_SUFFIX left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() + ylab("HICP - Overall index") + xlab("") + theme_minimal() +
geom_line(aes(x = date, y = OBS_VALUE, color = Icp_item)) +
scale_color_manual(values = viridis(4)[1:3]) +
theme(legend.position = c(0.65, 0.15),
legend.title = element_blank()) +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = ""))
Spain
Code
%>%
ICP filter(REF_AREA %in% c("ES"),
%in% c("HOUSE0", "041000", "040000"),
ICP_ITEM == "INX") %>%
ICP_SUFFIX left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() + ylab("HICP - Overall index") + xlab("") + theme_minimal() +
geom_line(aes(x = date, y = OBS_VALUE, color = Icp_item)) +
scale_color_manual(values = viridis(4)[1:3]) +
theme(legend.position = c(0.65, 0.15),
legend.title = element_blank()) +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = ""))
France
Code
%>%
ICP filter(REF_AREA %in% c("FR"),
%in% c("HOUSE0", "041000", "040000"),
ICP_ITEM == "INX") %>%
ICP_SUFFIX left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() + ylab("HICP - Overall index") + xlab("") + theme_minimal() +
geom_line(aes(x = date, y = OBS_VALUE, color = Icp_item)) +
scale_color_manual(values = viridis(4)[1:3]) +
theme(legend.position = c(0.65, 0.15),
legend.title = element_blank()) +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = ""))
Harmonised Index of Consumer Prices - HICP
Euro area Broad Indexes (1960-)
Code
%>%
ICP filter(REF_AREA %in% c("U2"),
# 000000: HICP - Overall index
# XEF000: HICP - All-items excluding energy and food
%in% c("000000", "XEF000", "XE0000"),
ICP_ITEM # ANR: Annual Rate of Change
== "ANR",
ICP_SUFFIX == "M") %>%
FREQ left_join(REF_AREA, by = "REF_AREA") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() + theme_minimal() + ylab("HICP - Broad indexes") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = TITLE)) +
scale_color_manual(values = viridis(4)[1:3]) +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.75, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
labels = percent_format(accuracy = 1))
Euro area Broad Indexes (1996-)
Code
%>%
ICP filter(REF_AREA %in% c("U2"),
# 000000: HICP - Overall index
# XEF000: HICP - All-items excluding energy and food
%in% c("000000", "XEF000", "XE0000"),
ICP_ITEM # ANR: Annual Rate of Change
== "ANR",
ICP_SUFFIX == "M") %>%
FREQ left_join(REF_AREA, by = "REF_AREA") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE),
>= as.Date("1996-01-01")) %>%
date ggplot() + theme_minimal() + ylab("HICP - Broad indexes") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = TITLE)) +
scale_color_manual(values = viridis(4)[1:3]) +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.75, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
labels = percent_format(accuracy = 1))
Euro area Broad Indexes (2008-)
Code
%>%
ICP filter(REF_AREA %in% c("U2"),
# 000000: HICP - Overall index
# XEF000: HICP - All-items excluding energy and food
%in% c("000000", "XEF000", "XE0000"),
ICP_ITEM # ANR: Annual Rate of Change
== "ANR",
ICP_SUFFIX == "M") %>%
FREQ left_join(REF_AREA, by = "REF_AREA") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE),
>= as.Date("2007-01-01")) %>%
date ggplot() + theme_minimal() + ylab("HICP - Broad indexes") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = KEY)) +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.75, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
labels = percent_format(accuracy = 1))
Spain Broad Indexes
1996-2021
Code
%>%
ICP filter(REF_AREA %in% c("ES"),
# 000000: HICP - Overall index
# XEF000: HICP - All-items excluding energy and food
%in% c("000000", "XEF000", "XE0000"),
ICP_ITEM # ANR: Annual Rate of Change
== "ANR",
ICP_SUFFIX == "M") %>%
FREQ left_join(REF_AREA, by = "REF_AREA") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE),
>= as.Date("1996-01-01")) %>%
date ggplot() + theme_minimal() + ylab("HICP - Broad indexes") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = TITLE)) +
scale_color_manual(values = viridis(4)[1:3]) +
geom_hline(yintercept = 0.02, linetype = "dashed", color = "black") +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-100, 200, 0.5),
labels = percent_format(accuracy = 0.1),
limits =c(-0.005, 0.035))
2010-2013
Code
%>%
ICP filter(REF_AREA %in% c("ES"),
# 000000: HICP - Overall index
# XEF000: HICP - All-items excluding energy and food
%in% c("000000", "XEF000", "XE0000"),
ICP_ITEM # ANR: Annual Rate of Change
== "ANR",
ICP_SUFFIX == "M") %>%
FREQ left_join(REF_AREA, by = "REF_AREA") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE),
>= as.Date("2010-01-01"),
date <= as.Date("2014-01-01")) %>%
date ggplot() + theme_minimal() + ylab("HICP - Broad indexes") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = TITLE)) +
scale_color_manual(values = viridis(4)[1:3]) +
geom_hline(yintercept = 0.02, linetype = "dashed", color = "black") +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.5, 0.11),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-100, 200, 0.5),
labels = percent_format(accuracy = 0.1))
Greece
2010-2013
Code
%>%
ICP filter(REF_AREA %in% c("GR"),
# 000000: HICP - Overall index
# XEF000: HICP - All-items excluding energy and food
%in% c("000000", "XEF000", "XE0000"),
ICP_ITEM # ANR: Annual Rate of Change
== "ANR",
ICP_SUFFIX == "M") %>%
FREQ left_join(REF_AREA, by = "REF_AREA") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE),
>= as.Date("2010-01-01"),
date <= as.Date("2014-01-01")) %>%
date ggplot() + theme_minimal() + ylab("HICP - Broad indexes") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = TITLE)) +
scale_color_manual(values = viridis(4)[1:3]) +
geom_hline(yintercept = 0.02, linetype = "dashed", color = "black") +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-100, 200, 0.5),
labels = percent_format(accuracy = 0.1))
Germany Broad Indexes
1996-2021
Code
%>%
ICP filter(REF_AREA %in% c("DE"),
# 000000: HICP - Overall index
# XEF000: HICP - All-items excluding energy and food
%in% c("000000", "XEF000", "XE0000"),
ICP_ITEM # ANR: Annual Rate of Change
== "ANR",
ICP_SUFFIX == "M") %>%
FREQ left_join(REF_AREA, by = "REF_AREA") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE),
>= as.Date("1996-01-01")) %>%
date ggplot() + theme_minimal() + ylab("HICP - Broad indexes") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = TITLE)) +
scale_color_manual(values = viridis(4)[1:3]) +
geom_hline(yintercept = 0.02, linetype = "dashed", color = "black") +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-100, 200, 0.5),
labels = percent_format(accuracy = 0.1),
limits =c(-0.005, 0.035))
Annual - Euro area Broad Indexes
1996-2021
Code
%>%
ICP filter(REF_AREA %in% c("U2"),
# 000000: HICP - Overall index
# XEF000: HICP - All-items excluding energy and food
%in% c("XEFUN0", "XEF000", "XE0000"),
ICP_ITEM # ANR: Annual Rate of Change
== "INX",
ICP_SUFFIX == 3,
STS_INSTITUTION == "M") %>%
FREQ left_join(REF_AREA, by = "REF_AREA") %>%
left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE),
>= as.Date("1996-01-01"),
date month(date) == 1) %>%
group_by(ICP_ITEM) %>%
mutate(OBS_VALUE = 100*(OBS_VALUE/lag(OBS_VALUE, 1) - 1)) %>%
select(KEY, ICP_ITEM, Icp_item, date, OBS_VALUE) %>%
%>%
na.omit ggplot() + theme_minimal() + ylab("HICP - Broad indexes") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = Icp_item)) +
scale_color_manual(values = viridis(4)[1:3]) +
geom_hline(yintercept = 0.02, linetype = "dashed", color = "black") +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.75, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 200, 0.5),
labels = percent_format(accuracy = 0.1))
Monthly - Euro area Broad Indexes
1996-2021
Code
%>%
ICP filter(REF_AREA %in% c("U2"),
# 000000: HICP - Overall index
# XEF000: HICP - All-items excluding energy and food
%in% c("XEFUN0", "XEF000", "XE0000"),
ICP_ITEM # ANR: Annual Rate of Change
== "ANR",
ICP_SUFFIX == "M") %>%
FREQ left_join(REF_AREA, by = "REF_AREA") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE),
>= as.Date("1996-01-01")) %>%
date ggplot() + theme_minimal() + ylab("HICP - Broad indexes") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = TITLE, linetype = TITLE)) +
scale_color_manual(values = viridis(4)[1:3]) +
geom_hline(yintercept = 0.02, linetype = "dashed", color = "black") +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.75, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 200, 0.5),
labels = percent_format(accuracy = 0.1))
2009-2021
Code
%>%
ICP filter(REF_AREA %in% c("U2"),
# 000000: HICP - Overall index
# XEF000: HICP - All-items excluding energy and food
%in% c("XEFUN0", "XEF000", "XE0000"),
ICP_ITEM # ANR: Annual Rate of Change
== "ANR",
ICP_SUFFIX == "M") %>%
FREQ left_join(REF_AREA, by = "REF_AREA") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE),
>= as.Date("2009-01-01")) %>%
date ggplot() + theme_minimal() + ylab("HICP - Broad indexes") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = TITLE, linetype = TITLE)) +
scale_color_manual(values = viridis(4)[1:3]) +
geom_hline(yintercept = 0.02, linetype = "dashed", color = "black") +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.75, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 200, 0.5),
labels = percent_format(accuracy = 0.1),
limits = c(0, 0.025))
2009-2014
Code
%>%
ICP filter(REF_AREA %in% c("U2"),
# 000000: HICP - Overall index
# XEF000: HICP - All-items excluding energy and food
%in% c("XEFUN0", "000000", "XE0000"),
ICP_ITEM # ANR: Annual Rate of Change
== "ANR",
ICP_SUFFIX == "M") %>%
FREQ left_join(REF_AREA, by = "REF_AREA") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE),
>= as.Date("2009-01-01"),
date <= as.Date("2014-12-31")) %>%
date ggplot() + theme_minimal() + ylab("HICP - Broad indexes") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = TITLE, linetype = TITLE)) +
scale_color_manual(values = viridis(4)[1:3]) +
geom_hline(yintercept = 0.02, linetype = "dashed", color = "black") +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.6, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 200, 0.5),
labels = percent_format(accuracy = 0.1)) +
geom_vline(xintercept = as.Date("2011-04-07"), linetype = "dashed", color = "black") +
geom_vline(xintercept = as.Date("2011-07-07"), linetype = "dashed", color = "black")
2013-2021
Code
%>%
ICP filter(REF_AREA %in% c("U2"),
# 000000: HICP - Overall index
# XEF000: HICP - All-items excluding energy and food
%in% c("XEFUN0", "000000", "XE0000"),
ICP_ITEM # ANR: Annual Rate of Change
== "ANR",
ICP_SUFFIX == "M") %>%
FREQ left_join(REF_AREA, by = "REF_AREA") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE),
>= as.Date("2013-01-01"),
date <= as.Date("2021-12-31")) %>%
date ggplot() + theme_minimal() + ylab("HICP - Broad indexes") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = TITLE)) +
scale_color_manual(values = viridis(4)[1:3]) +
geom_hline(yintercept = 0.02, linetype = "dashed", color = "black") +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 200, 0.5),
labels = percent_format(accuracy = 0.1)) +
geom_vline(xintercept = as.Date("2011-04-07"), linetype = "dashed", color = "black") +
geom_vline(xintercept = as.Date("2011-07-07"), linetype = "dashed", color = "black")
Euro area - Long
Code
%>%
ICP filter(REF_AREA %in% c("U2"),
# 000000: HICP - Overall index
# XEF000: HICP - All-items excluding energy and food
%in% c("000000"),
ICP_ITEM # ANR: Annual Rate of Change
== "ANR",
ICP_SUFFIX == "M") %>%
FREQ left_join(REF_AREA, by = "REF_AREA") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() + theme_minimal() + ylab("HICP - Overall index") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = TITLE, linetype = TITLE)) +
scale_color_manual(values = viridis(3)[1:1]) +
geom_hline(yintercept = 0.02, linetype = "dashed", color = viridis(3)[2]) +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.75, 0.8),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 200, 2),
labels = percent_format(accuracy = 1))
Germany, France, United Kinggom
Code
%>%
ICP filter(REF_AREA %in% c("DE", "FR", "GB"),
# 000000: HICP - Overall index
== "000000",
ICP_ITEM == "M",
FREQ == "2015 = 100") %>%
UNIT_INDEX_BASE left_join(REF_AREA, by = "REF_AREA") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() +
geom_line(aes(x = date, y = OBS_VALUE, color = Ref_area)) +
scale_color_manual(values = viridis(4)[1:3]) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.75, 0.3),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = "")) +
ylab("HICP - Overall index") + xlab("")
Decomposition between Services and Goods
France
Monthly
Code
%>%
ICP filter(REF_AREA %in% c("FR"),
# 000000: HICP - Overall index
%in% c("SERV00", "041000", "IGXE00"),
ICP_ITEM == "M",
FREQ == "2015 = 100",
UNIT_INDEX_BASE == "PURE_NUMB") %>%
UNIT left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() +
geom_line(aes(x = date, y = OBS_VALUE, color = Icp_item)) +
scale_color_manual(values = viridis(4)[1:3]) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.35, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = "")) +
ylab("HICP - Overall index") + xlab("")
Annual
Code
%>%
ICP filter(REF_AREA %in% c("FR"),
# 000000: HICP - Overall index
%in% c("SERV00", "041000", "IGXE00"),
ICP_ITEM == "PURE_NUMB",
UNIT == "A") %>%
FREQ left_join(ICP_ITEM, by = "ICP_ITEM") %>%
year_to_date() %>%
group_by(ICP_ITEM) %>%
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("1996-01-01")]) %>%
ggplot() + ylab("HICP - Overall index") + xlab("") + theme_minimal() +
geom_line(aes(x = date, y = OBS_VALUE, color = Icp_item)) +
scale_color_manual(values = viridis(4)[1:3]) +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.25, 0.15),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = ""))
Germany
Code
%>%
ICP filter(REF_AREA %in% c("DE"),
# 000000: HICP - Overall index
%in% c("SERV00", "041000", "IGXE00"),
ICP_ITEM == "M",
FREQ == "2015 = 100",
UNIT_INDEX_BASE == "PURE_NUMB") %>%
UNIT left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() +
geom_line(aes(x = date, y = OBS_VALUE, color = Icp_item)) +
scale_color_manual(values = viridis(4)[1:3]) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.35, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = "")) +
ylab("HICP - Overall index") + xlab("")
Greece
Code
%>%
ICP filter(REF_AREA %in% c("GR"),
# 000000: HICP - Overall index
%in% c("SERV00", "041000", "IGXE00"),
ICP_ITEM == "M",
FREQ == "2015 = 100",
UNIT_INDEX_BASE == "PURE_NUMB") %>%
UNIT left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() +
geom_line(aes(x = date, y = OBS_VALUE, color = Icp_item)) +
scale_color_manual(values = viridis(4)[1:3]) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.35, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = "")) +
ylab("HICP - Overall index") + xlab("")
Portugal
Code
%>%
ICP filter(REF_AREA %in% c("PT"),
# 000000: HICP - Overall index
%in% c("SERV00", "041000", "IGXE00"),
ICP_ITEM == "M",
FREQ == "2015 = 100",
UNIT_INDEX_BASE == "PURE_NUMB") %>%
UNIT left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() +
geom_line(aes(x = date, y = OBS_VALUE, color = Icp_item)) +
scale_color_manual(values = viridis(4)[1:3]) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.35, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = "")) +
ylab("HICP - Overall index") + xlab("")
Further Decomposing
Germany
Code
%>%
ICP filter(REF_AREA %in% c("DE"),
# 000000: HICP - Overall index
%in% c("110000", "120000", "030000", "041000"),
ICP_ITEM == "M",
FREQ == "2015 = 100",
UNIT_INDEX_BASE == "PURE_NUMB") %>%
UNIT left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() +
geom_line(aes(x = date, y = OBS_VALUE, color = Icp_item)) +
scale_color_manual(values = viridis(5)[1:4]) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.35, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = "")) +
ylab("HICP - Overall index") + xlab("")
France
Code
%>%
ICP filter(REF_AREA %in% c("FR"),
# 000000: HICP - Overall index
%in% c("110000", "120000", "030000", "041000"),
ICP_ITEM == "M",
FREQ == "2015 = 100",
UNIT_INDEX_BASE == "PURE_NUMB") %>%
UNIT left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() +
geom_line(aes(x = date, y = OBS_VALUE, color = Icp_item)) +
scale_color_manual(values = viridis(5)[1:4]) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.75, 0.25),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = "")) +
ylab("HICP - Overall index") + xlab("")
Greece
Code
%>%
ICP filter(REF_AREA %in% c("GR"),
# 000000: HICP - Overall index
%in% c("110000", "120000", "030000", "041000"),
ICP_ITEM == "M",
FREQ == "2015 = 100",
UNIT_INDEX_BASE == "PURE_NUMB") %>%
UNIT left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() +
geom_line(aes(x = date, y = OBS_VALUE, color = Icp_item)) +
scale_color_manual(values = viridis(5)[1:4]) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.75, 0.25),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = "")) +
ylab("HICP - Overall index") + xlab("")
Portugal
Code
%>%
ICP filter(REF_AREA %in% c("PT"),
# 000000: HICP - Overall index
%in% c("110000", "120000", "030000", "041000"),
ICP_ITEM == "M",
FREQ == "2015 = 100",
UNIT_INDEX_BASE == "PURE_NUMB") %>%
UNIT left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() +
geom_line(aes(x = date, y = OBS_VALUE, color = Icp_item)) +
scale_color_manual(values = viridis(5)[1:4]) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.75, 0.25),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = "")) +
ylab("HICP - Overall index") + xlab("")
Price of Energy
Code
%>%
ICP filter(REF_AREA %in% c("DE"),
# 000000: HICP - Overall index
%in% c("NRGY00", "ELGAS0", "045500"),
ICP_ITEM == "M",
FREQ == "INX") %>%
ICP_SUFFIX left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE)) %>%
ggplot() +
geom_line(aes(x = date, y = OBS_VALUE, color = Icp_item)) +
scale_color_manual(values = viridis(5)[1:4]) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%y")) +
theme(legend.position = c(0.75, 0.25),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(accuracy = 1, prefix = "")) +
ylab("HICP - Overall index") + xlab("")
Deflation in Greece
Code
%>%
ICP filter(REF_AREA %in% c("GR"),
== "M",
FREQ == "2015 = 100",
UNIT_INDEX_BASE == "PURE_NUMB") %>%
UNIT left_join(ICP_ITEM, by = "ICP_ITEM") %>%
month_to_date() %>%
filter(!is.na(OBS_VALUE),
%in% as.Date(paste0(c(2012, 2014), "-01-01"))) %>%
date select(date, ICP_ITEM, TITLE, OBS_VALUE) %>%
group_by(ICP_ITEM, TITLE) %>%
summarise(`% change` = round(100*(OBS_VALUE[2] - OBS_VALUE[1])/OBS_VALUE[1], 1)) %>%
arrange(`% change`) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {