Last data update: 02 aoû 2026, 08:37. Last compile: 17 aoû 2026, 23:20
Consumer Expectations Survey (EA6) - CES_EA6
Data - ECB
Info
Var_label
Code
CES |>
group_by(Var, Var_label) |>
summarise(Nobs = n()) |>
arrange(-Nobs) |>
print_table_conditional()| Var | Var_label | Nobs |
|---|---|---|
| c1010 | Inflation perceptions over the previous 12 months (qualitative) | 675 |
| c1020 | Inflation perceptions over the previous 12 months (% change) | 675 |
| c1110 | Inflation expectations over the next 12 months (qualitative) | 675 |
| c1120 | Inflation expectations over the next 12 months (% change) | 675 |
| c1150 | Inflation expectations/uncertainty 12 months ahead (probabilistic bins) | 675 |
| c1210 | Inflation expectations 3 years ahead (qualitative) | 675 |
| c1220 | Inflation expectations 3 years ahead (% change) | 675 |
Breakdown_label
All
Code
CES |>
group_by(Breakdown, Breakdown_label) |>
summarise(Nobs = n()) |>
arrange(-Nobs) |>
print_table_conditional()| Breakdown | Breakdown_label | Nobs |
|---|---|---|
| Age | 18-34 years | 315 |
| Age | 35-54 years | 315 |
| Age | 55-70 years | 315 |
| Country | BE | 315 |
| Country | DE | 315 |
| Country | EA6 | 315 |
| Country | ES | 315 |
| Country | FR | 315 |
| Country | IT | 315 |
| Country | NL | 315 |
| Income | 1 | 315 |
| Income | 2 | 315 |
| Income | 3 | 315 |
| Income | 4 | 315 |
| Income | 5 | 315 |
Country
Code
CES |>
filter(Breakdown == "Country") |>
rename(geo = Breakdown_label) |>
left_join(geo, by = "geo") |>
group_by(geo, Geo) |>
summarise(Nobs = n()) |>
arrange(-Nobs) |>
print_table_conditional()| geo | Geo | Nobs |
|---|---|---|
| BE | Belgium | 315 |
| DE | Germany | 315 |
| EA6 | NA | 315 |
| ES | Spain | 315 |
| FR | France | 315 |
| IT | Italy | 315 |
| NL | Netherlands | 315 |
wave
Code
CES |>
wave_to_date() |>
group_by(date) |>
summarise(Nobs = n()) |>
arrange(desc(date)) |>
print_table_conditional()All Europe (Wave)
% change
Mean
Code
CES |>
wave_to_date() |>
filter(Breakdown == "Wave",
Var %in% c("c1020", "c1120", "c1220")) |>
transmute(date, Var_label, OBS_VALUE = Mean/100) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Var_label)) +
theme_minimal() + xlab("") + ylab("Mean (%)") +
scale_x_date(breaks = seq.Date(as.Date("2019-12-01"), Sys.Date(), "2 months"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
theme(legend.position = c(0.33, 0.90),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
legend.title = element_blank())
Median
Code
CES |>
wave_to_date() |>
filter(Breakdown == "Wave",
Var %in% c("c1020", "c1120", "c1220")) |>
transmute(date, Var_label, OBS_VALUE = Median/100) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Var_label)) +
theme_minimal() + xlab("") + ylab("Median (%)") +
scale_x_date(breaks = seq.Date(as.Date("2019-12-01"), Sys.Date(), "2 months"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
theme(legend.position = c(0.33, 0.90),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
legend.title = element_blank())
qualitative
Net percentage
Code
CES |>
wave_to_date() |>
filter(Breakdown == "Wave",
Var %in% c("c1010", "c1110", "c1210")) |>
transmute(date, Var_label, OBS_VALUE = Net_perc/100) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Var_label)) +
theme_minimal() + xlab("") + ylab("Net_perc (%)") +
scale_x_date(breaks = seq.Date(as.Date("2019-12-01"), Sys.Date(), "2 months"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 100, 5),
labels = percent_format(a = 1)) +
theme(legend.position = c(0.33, 0.90),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
legend.title = element_blank())
Up
Code
CES |>
wave_to_date() |>
filter(Breakdown == "Wave",
Var %in% c("c1010", "c1110", "c1210")) |>
transmute(date, Var_label, OBS_VALUE = Net_perc/100) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Var_label)) +
theme_minimal() + xlab("") + ylab("Up (%)") +
scale_x_date(breaks = seq.Date(as.Date("2019-12-01"), Sys.Date(), "2 months"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 100, 5),
labels = percent_format(a = 1)) +
theme(legend.position = c(0.33, 0.90),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
legend.title = element_blank())
Down
Code
CES |>
wave_to_date() |>
filter(Breakdown == "Wave",
Var %in% c("c1010", "c1110", "c1210")) |>
transmute(date, Var_label, OBS_VALUE = Down/100) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Var_label)) +
theme_minimal() + xlab("") + ylab("Up (%)") +
scale_x_date(breaks = seq.Date(as.Date("2019-12-01"), Sys.Date(), "2 months"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 100, 1),
labels = percent_format(a = 1)) +
theme(legend.position = c(0.33, 0.90),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
legend.title = element_blank())
France, Germany, Italy, Spain
1-year
Mean
All
Code
CES |>
wave_to_date() |>
filter(Breakdown == "Country",
Var == "c1020") |>
rename(geo = Breakdown_label) |>
left_join(geo, by = "geo") |>
left_join(colors, by = c("Geo" = "country")) |>
mutate(OBS_VALUE = Mean/100) |>
rename(Ref_area = Geo) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
theme_minimal() + xlab("") + ylab("Inflation expectations over the next 12 months\n% change, Mean") +
scale_x_date(breaks = seq.Date(as.Date("2019-12-01"), Sys.Date(), "2 months"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
legend.title = element_blank())
October 2021-
Code
CES |>
wave_to_date() |>
filter(Breakdown == "Country",
Var == "c1020") |>
rename(geo = Breakdown_label) |>
left_join(geo, by = "geo") |>
left_join(colors, by = c("Geo" = "country")) |>
mutate(OBS_VALUE = Mean/100) |>
filter(date >= as.Date("2021-10-01")) |>
rename(Ref_area = Geo) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
theme_minimal() + xlab("") + ylab("Inflation expectations over the next 12 months\n% change, Mean") +
scale_x_date(breaks = seq.Date(as.Date("2019-12-01"), Sys.Date(), "1 month"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
legend.title = element_blank())
Median
All
Code
CES |>
wave_to_date() |>
filter(Breakdown == "Country",
Var == "c1020") |>
rename(geo = Breakdown_label) |>
left_join(geo, by = "geo") |>
left_join(colors, by = c("Geo" = "country")) |>
mutate(OBS_VALUE = Median/100) |>
rename(Ref_area = Geo) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
theme_minimal() + xlab("") + ylab("Inflation expectations over the next 12 months\n% change, Median") +
scale_x_date(breaks = seq.Date(as.Date("2019-12-01"), Sys.Date(), "2 months"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
legend.title = element_blank())
October 2021-
Code
CES |>
wave_to_date() |>
filter(Breakdown == "Country",
Var == "c1020") |>
rename(geo = Breakdown_label) |>
left_join(geo, by = "geo") |>
left_join(colors, by = c("Geo" = "country")) |>
mutate(OBS_VALUE = Median/100) |>
filter(date >= as.Date("2021-10-01")) |>
rename(Ref_area = Geo) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
theme_minimal() + xlab("") + ylab("Inflation expectations over the next 12 months\n% change, Median") +
scale_x_date(breaks = seq.Date(as.Date("2019-12-01"), Sys.Date(), "1 month"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
legend.title = element_blank())
3-year
Mean
All
Code
CES |>
wave_to_date() |>
filter(Breakdown == "Country",
Var == "c1220") |>
rename(geo = Breakdown_label) |>
left_join(geo, by = "geo") |>
left_join(colors, by = c("Geo" = "country")) |>
mutate(OBS_VALUE = Mean/100) |>
rename(Ref_area = Geo) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
theme_minimal() + xlab("") + ylab("Inflation expectations 3 years ahead\n% change, Mean") +
scale_x_date(breaks = seq.Date(as.Date("2019-12-01"), Sys.Date(), "2 months"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
legend.title = element_blank())
October 2021-
Code
CES |>
wave_to_date() |>
filter(Breakdown == "Country",
Var == "c1220",
date >= as.Date("2021-10-01")) |>
rename(geo = Breakdown_label) |>
left_join(geo, by = "geo") |>
left_join(colors, by = c("Geo" = "country")) |>
mutate(OBS_VALUE = Mean/100) |>
rename(Ref_area = Geo) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
theme_minimal() + xlab("") + ylab("Inflation expectations 3 years ahead\n% change, Mean") +
scale_x_date(breaks = seq.Date(as.Date("2019-12-01"), Sys.Date(), "1 month"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
legend.title = element_blank())
Median
All
Code
CES |>
wave_to_date() |>
filter(Breakdown == "Country",
Var == "c1220") |>
rename(geo = Breakdown_label) |>
left_join(geo, by = "geo") |>
left_join(colors, by = c("Geo" = "country")) |>
mutate(OBS_VALUE = Median/100) |>
rename(Ref_area = Geo) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
theme_minimal() + xlab("") + ylab("Inflation expectations 3 years ahead\n% change, Median") +
scale_x_date(breaks = seq.Date(as.Date("2019-12-01"), Sys.Date(), "2 months"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, .2),
labels = percent_format(a = .1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
legend.title = element_blank())
October 2021-
Code
CES |>
wave_to_date() |>
filter(Breakdown == "Country",
Var == "c1220",
date >= as.Date("2021-10-01")) |>
rename(geo = Breakdown_label) |>
left_join(geo, by = "geo") |>
left_join(colors, by = c("Geo" = "country")) |>
mutate(OBS_VALUE = Median/100) |>
rename(Ref_area = Geo) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
theme_minimal() + xlab("") + ylab("Inflation expectations 3 years ahead\n% change, Median") +
scale_x_date(breaks = seq.Date(as.Date("2019-12-01"), Sys.Date(), "1 month"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, .2),
labels = percent_format(a = .1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
legend.title = element_blank())