Household Dashboard - HH_DASH
Data - OECD
Last observation: Q1 2023 (N = 409) · 2022 (N = 417)
First observation: 2007 (N = 315) · Q1 2007 (N = 313)
Last data update: 02 août 2026, 08:59
Last compile: 02 sept. 2026, 23:25
Structure
Nobs - Javascript
Code
HH_DASH |>
left_join(HH_DASH_var$INDICATOR, by = "INDICATOR") |>
group_by(INDICATOR, Indicator, FREQUENCY) |>
summarise(Nobs = n()) |>
arrange(-Nobs) |>
print_table_conditional()| INDICATOR | Indicator | FREQUENCY | Nobs |
|---|---|---|---|
| HHFC_INDEX | Real household final consumption expenditure per capita index | Q | 2730 |
| RGDP_INDEX | GDP per capita index | Q | 2730 |
| UNEMPRATE | Unemployment rate | Q | 2707 |
| HHFINCON | Real household final consumption expenditure per capita, growth rate compared to previous quarter | Q | 2688 |
| RGDP | GDP per capita, growth rate compared to previous quarter | Q | 2688 |
| COCONF | Consumer confidence | Q | 2513 |
| LAB_UR6 | Labour underutilisation rate | Q | 2246 |
| RHHGDI | Real household gross disposable income per capita, growth rate compared to previous quarter | Q | 1684 |
| ENDT | Household indebtedness ratio | Q | 1644 |
| SBF90GDI | Household financial net worth as a percentage of GDI | Q | 1644 |
| RHHGDI_INDEX | Real household gross disposable income per capita | Q | 1611 |
| HHSAV | Household gross savings rate | Q | 1478 |
| HHNT | Net cash transfers to the households | Q | 1475 |
| HHFC_INDEX | Real household final consumption expenditure per capita index | A | 672 |
| RGDP_INDEX | GDP per capita index | A | 672 |
| UNEMPRATE | Unemployment rate | A | 665 |
| HHFINCON | Real household final consumption expenditure per capita, growth rate compared to previous quarter | A | 630 |
| RGDP | GDP per capita, growth rate compared to previous quarter | A | 630 |
| COCONF | Consumer confidence | A | 618 |
| LAB_UR6 | Labour underutilisation rate | A | 552 |
| ENDT | Household indebtedness ratio | A | 406 |
| SBF90GDI | Household financial net worth as a percentage of GDI | A | 406 |
| RHHGDI_INDEX | Real household gross disposable income per capita | A | 397 |
| RHHGDI | Real household gross disposable income per capita, growth rate compared to previous quarter | A | 394 |
| HHNT | Net cash transfers to the households | A | 379 |
| HHSAV | Household gross savings rate | A | 379 |
obsTime
Code
HH_DASH |>
group_by(obsTime) |>
summarise(Nobs = n()) |>
arrange(desc(obsTime)) |>
print_table_conditional()HHFINCON - Real household final consumption expenditure per capita, growth rate compared to previous quarter
Table: 2022-Q2, 2022-Q1
Code
HH_DASH |>
filter(INDICATOR == "HHFINCON",
obsTime %in% c("2022-Q2", "2022-Q1")) %>%
select_if(~ n_distinct(.) > 1) |>
spread(obsTime, obsValue) |>
left_join(HH_DASH_var$LOCATION, by = "LOCATION") |>
select(LOCATION, Location, everything()) |>
mutate(`2022-Q1+Q2` = `2022-Q1` + `2022-Q2`) |>
arrange(`2022-Q1+Q2`) |>
mutate(Flag = gsub(" ", "-", str_to_lower(Location)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}Table: 2022-Q2, 2022-Q1, 2021-Q4
Code
HH_DASH |>
filter(INDICATOR == "HHFINCON",
obsTime %in% c("2022-Q2", "2022-Q1", "2021-Q4")) %>%
select_if(~ n_distinct(.) > 1) |>
spread(obsTime, obsValue) |>
left_join(HH_DASH_var$LOCATION, by = "LOCATION") |>
select(LOCATION, Location, everything()) |>
mutate(`2022-Q1+Q2` = `2022-Q1` + `2022-Q2`) |>
arrange(`2022-Q1+Q2`) |>
mutate(Flag = gsub(" ", "-", str_to_lower(Location)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}RHHGDI_INDEX - Real household gross disposable income per capita
All
Code
HH_DASH |>
filter(INDICATOR == "RHHGDI_INDEX",
FREQUENCY == "Q",
LOCATION %in% c("FRA", "DEU", "ITA", "ESP", "NLD")) |>
quarter_to_date() |>
left_join(HH_DASH_var$LOCATION, by = "LOCATION") |>
group_by(LOCATION) |>
arrange(date) |>
mutate(obsValue = 100*obsValue/obsValue[1]) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + xlab("") + ylab("") + add_5flags +
scale_x_date(breaks = seq.Date(from = as.Date("2007-01-01"), to = Sys.Date(), by = "2 years"),
labels = date_format("%Y")) +
theme(legend.position = c(0.35, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(10, 300, 2))
2015-
Code
HH_DASH |>
filter(INDICATOR == "RHHGDI_INDEX",
FREQUENCY == "Q",
LOCATION %in% c("FRA", "DEU", "ITA", "ESP", "NLD")) |>
quarter_to_date() |>
left_join(HH_DASH_var$LOCATION, by = "LOCATION") |>
filter(date >= as.Date("2015-10-01")) |>
group_by(LOCATION) |>
arrange(date) |>
mutate(obsValue = 100*obsValue/obsValue[1]) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + xlab("") + ylab("") + add_5flags +
scale_x_date(breaks = seq.Date(from = as.Date("2014-10-01"), to = Sys.Date(), by = "6 months"),
labels = date_format("%b %Y")) +
theme(legend.position = c(0.35, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(10, 300, 1))
2017-
Code
HH_DASH |>
filter(INDICATOR == "RHHGDI_INDEX",
FREQUENCY == "Q",
LOCATION %in% c("FRA", "DEU", "ITA", "ESP", "NLD")) |>
quarter_to_date() |>
left_join(HH_DASH_var$LOCATION, by = "LOCATION") |>
filter(date >= as.Date("2017-04-01")) |>
group_by(LOCATION) |>
arrange(date) |>
mutate(obsValue = 100*obsValue/obsValue[1]) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + xlab("") + ylab("") + add_5flags +
scale_x_date(breaks = seq.Date(from = as.Date("2017-04-01"), to = Sys.Date(), by = "6 months"),
labels = date_format("%b %Y")) +
theme(legend.position = c(0.35, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(10, 300, 1))
2019-
Code
HH_DASH |>
filter(INDICATOR == "RHHGDI_INDEX",
FREQUENCY == "Q",
LOCATION %in% c("FRA", "DEU", "ITA", "ESP", "NLD")) |>
quarter_to_date() |>
left_join(HH_DASH_var$LOCATION, by = "LOCATION") |>
filter(date >= as.Date("2019-10-01")) |>
group_by(LOCATION) |>
arrange(date) |>
mutate(obsValue = 100*obsValue/obsValue[1]) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + xlab("") + ylab("") + add_5flags +
scale_x_date(breaks = seq.Date(from = as.Date("2019-10-01"), to = Sys.Date(), by = "3 months"),
labels = date_format("%b %Y")) +
theme(legend.position = c(0.35, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(10, 300, 1))
RHHGDI - Real household gross disposable income per capita, growth rate compared to previous quarter
Table: 2022-Q2, 2022-Q1
Code
HH_DASH |>
filter(INDICATOR == "RHHGDI",
obsTime %in% c("2022-Q2", "2022-Q1")) %>%
select_if(~ n_distinct(.) > 1) |>
spread(obsTime, obsValue) |>
left_join(HH_DASH_var$LOCATION, by = "LOCATION") |>
select(LOCATION, Location, everything()) |>
mutate(`2022-Q1+Q2` = `2022-Q1` + `2022-Q2`) |>
arrange(`2022-Q1+Q2`) |>
mutate(Flag = gsub(" ", "-", str_to_lower(Location)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}Table: 2022-Q2, 2022-Q1, 2021-Q4
Code
HH_DASH |>
filter(INDICATOR == "RHHGDI",
obsTime %in% c("2022-Q2", "2022-Q1", "2021-Q4")) %>%
select_if(~ n_distinct(.) > 1) |>
spread(obsTime, obsValue) |>
left_join(HH_DASH_var$LOCATION, by = "LOCATION") |>
select(LOCATION, Location, everything()) |>
mutate(`2022-Q1+Q2` = `2022-Q1` + `2022-Q2`) |>
arrange(`2022-Q1+Q2`) |>
mutate(Flag = gsub(" ", "-", str_to_lower(Location)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}France, Germany, Italy
2015-
Code
HH_DASH |>
filter(INDICATOR == "RHHGDI",
FREQUENCY == "Q",
LOCATION %in% c("FRA", "DEU", "ITA")) |>
quarter_to_date() |>
filter(date >= as.Date("2015-01-01")) |>
left_join(HH_DASH_var$LOCATION, by = "LOCATION") |>
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) |>
add_flag_color("Location") |>
group_by(Location) |>
mutate(obsValue = obsValue/100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = seq(1920, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-30, 30, 1),
labels = percent_format(a = 1)) +
ylab("Real household gross disposable income per capita\ngrowth rate compared to previous quarter") + xlab("")
2019-
Code
HH_DASH |>
filter(INDICATOR == "RHHGDI",
FREQUENCY == "Q",
LOCATION %in% c("FRA", "DEU", "ITA")) |>
quarter_to_date() |>
filter(date >= as.Date("2019-01-01")) |>
left_join(HH_DASH_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(Location) |>
mutate(obsValue = obsValue/100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = "6 months",
labels = date_format("%Y %b")) +
scale_y_continuous(breaks = 0.01*seq(-30, 30, 1),
labels = percent_format(a = 1)) +
ylab("Real household gross disposable income per capita\ngrowth rate compared to previous quarter") + xlab("")
Spain, Netherlands, Portugal
2015-
Code
HH_DASH |>
filter(INDICATOR == "RHHGDI",
FREQUENCY == "Q",
LOCATION %in% c("ESP", "NLD", "PRT")) |>
quarter_to_date() |>
filter(date >= as.Date("2015-01-01")) |>
left_join(HH_DASH_var$LOCATION, by = "LOCATION") |>
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) |>
add_flag_color("Location") |>
group_by(Location) |>
mutate(obsValue = obsValue/100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = seq(1920, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-30, 30, 1),
labels = percent_format(a = 1)) +
ylab("Real household gross disposable income per capita\ngrowth rate compared to previous quarter") + xlab("")
2019-
Code
HH_DASH |>
filter(INDICATOR == "RHHGDI",
FREQUENCY == "Q",
LOCATION %in% c("ESP", "NLD", "PRT")) |>
quarter_to_date() |>
filter(date >= as.Date("2019-01-01")) |>
left_join(HH_DASH_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(Location) |>
mutate(obsValue = obsValue/100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = "6 months",
labels = date_format("%Y %b")) +
scale_y_continuous(breaks = 0.01*seq(-30, 30, 1),
labels = percent_format(a = 1)) +
ylab("Real household gross disposable income per capita\ngrowth rate compared to previous quarter") + xlab("")


