Revenu et pouvoir d’achat des ménages
Données - INSEE
Info
Last observation: 2022
First observation: 1959
Number of observations: 758
Last data update: 23 jul 2026, 22:45. Last compile: 24 jul 2026, 05:30
Structure
RDB arbitrable, RDB
Linear
Code
`CNA-2014-RDB` %>%
filter(INDICATEUR %in% c("CNA_B6", "CNA_B6ARBITR")) %>%
year_to_date %>%
select(INDICATEUR, Indicateur, date, OBS_VALUE) %>%
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Indicateur)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2020, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.35, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 7000, 100),
labels = dollar_format(suffix = " Mds€", prefix = "", accuracy = 1))
Log
Code
`CNA-2014-RDB` %>%
filter(INDICATEUR %in% c("CNA_B6", "CNA_B6ARBITR")) %>%
year_to_date %>%
select(INDICATEUR, Indicateur, date, OBS_VALUE) %>%
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Indicateur)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2020, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.35, 0.9),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 7000, 100),
labels = dollar_format(suffix = " Mds€", prefix = "", accuracy = 1))
Index
1990-
Code
`CNA-2014-RDB` %>%
filter(INDICATEUR %in% c("CNA_B6", "CNA_B6ARBITR")) %>%
year_to_date %>%
filter(date >= as.Date("1990-01-01")) %>%
group_by(INDICATEUR) %>%
arrange(date) %>%
mutate(index = 100*OBS_VALUE/OBS_VALUE[1]) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Indicateur)) +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1990, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(100, 300, 5)) +
geom_label(data = . %>% filter(date == max(date)),
aes(x = date, y = index, color = Indicateur, label = round(index, 1)))
1999-
Code
`CNA-2014-RDB` %>%
filter(INDICATEUR %in% c("CNA_B6", "CNA_B6ARBITR")) %>%
year_to_date %>%
filter(date >= as.Date("1999-01-01")) %>%
group_by(INDICATEUR) %>%
arrange(date) %>%
mutate(index = 100*OBS_VALUE/OBS_VALUE[1]) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Indicateur)) +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1999, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(100, 300, 5)) +
geom_label(data = . %>% filter(date == max(date)),
aes(x = date, y = index, color = Indicateur, label = round(index, 1)))
Evolution du pouvoir d’achat
Nominal VS Réel
Evolution
Code
`CNA-2014-RDB` %>%
filter(INDICATEUR %in% c("CNA_B6EVOL", "CNA_B6ARBITREVOL",
"CNA_EVOPA", "CNA_EVOPAAR")) %>%
year_to_date %>%
mutate(OBS_VALUE = OBS_VALUE / 100) %>%
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Indicateur)) +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2020, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.7, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-2, 90, 2),
labels = scales::percent_format(accuracy = 1)) +
geom_hline(yintercept = 0, linetype = "dashed")
Pouvoir d’achat - Par ménage, par personne, par unité de consommation
Evolution
Code
`CNA-2014-RDB` %>%
filter(INDICATEUR %in% c("CNA_EVOPAMEN", "CNA_EVOPAPP",
"CNA_EVOPAUC")) %>%
year_to_date %>%
mutate(OBS_VALUE = OBS_VALUE / 100) %>%
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Indicateur)) +
xlab("") + ylab("Evolution du pouvoir d'achat (%)") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2020, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.7, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-5, 90, 1),
labels = scales::percent_format(accuracy = 1)) +
geom_hline(yintercept = 0, linetype = "dashed")
Pouvoir d’achat arbitrable - Par ménage, par personne, par unité de consommation
Evolution
Code
`CNA-2014-RDB` %>%
filter(INDICATEUR %in% c("CNA_EVOPAARMEN", "CNA_EVOPAARPP",
"CNA_EVOPAARUC")) %>%
year_to_date %>%
mutate(OBS_VALUE = OBS_VALUE / 100) %>%
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Indicateur)) +
xlab("") + ylab("Evolution du pouvoir d'achat arbitrable (%)") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2020, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.7, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-5, 90, 1),
labels = scales::percent_format(accuracy = 1)) +
geom_hline(yintercept = 0, linetype = "dashed")
1990-
Code
`CNA-2014-RDB` %>%
filter(INDICATEUR %in% c("CNA_EVOPAARMEN", "CNA_EVOPAARPP",
"CNA_EVOPAARUC")) %>%
year_to_date %>%
mutate(OBS_VALUE = OBS_VALUE / 100) %>%
filter(date >= as.Date("1990-01-01")) %>%
select(date, INDICATEUR, Indicateur, OBS_VALUE) %>%
group_by(INDICATEUR) %>%
arrange(date) %>%
mutate(index = c(100, 100*cumprod(1+OBS_VALUE[-1]))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Indicateur)) +
xlab("") + ylab("Evolution du pouvoir d'achat arbitrable (%)") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2020, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(100, 150, 5)) +
geom_label(data = . %>% filter(date == max(date)),
aes(x = date, y = index, color = Indicateur, label = round(index, 1)))
1996-
Code
`CNA-2014-RDB` %>%
filter(INDICATEUR %in% c("CNA_EVOPAARMEN", "CNA_EVOPAARPP",
"CNA_EVOPAARUC")) %>%
year_to_date %>%
mutate(OBS_VALUE = OBS_VALUE / 100) %>%
filter(date >= as.Date("1996-01-01")) %>%
select(date, INDICATEUR, Indicateur, OBS_VALUE) %>%
group_by(INDICATEUR) %>%
arrange(date) %>%
mutate(index = c(100, 100*cumprod(1+OBS_VALUE[-1]))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Indicateur)) +
xlab("") + ylab("Evolution du pouvoir d'achat arbitrable (%)") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1996, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(100, 150, 5)) +
geom_label(data = . %>% filter(date == max(date)),
aes(x = date, y = index, color = Indicateur, label = round(index, 1)))
1999-
Code
`CNA-2014-RDB` %>%
filter(INDICATEUR %in% c("CNA_EVOPAARMEN", "CNA_EVOPAARPP",
"CNA_EVOPAARUC")) %>%
year_to_date %>%
mutate(OBS_VALUE = OBS_VALUE / 100) %>%
filter(date >= as.Date("1999-01-01")) %>%
select(date, INDICATEUR, Indicateur, OBS_VALUE) %>%
group_by(INDICATEUR) %>%
arrange(date) %>%
mutate(index = c(100, 100*cumprod(1 + OBS_VALUE[-1]))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Indicateur)) +
xlab("") + ylab("Evolution du pouvoir d'achat arbitrable (%)") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1999, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(100, 150, 5)) +
geom_label(data = . %>% filter(date == max(date)),
aes(x = date, y = index, color = Indicateur, label = round(index, 1)))
Revenu disponible brut nominal
1990-
Code
`CNA-2014-RDB` %>%
filter(INDICATEUR %in% c("CNA_EVOPA", "CNA_EVOPAMEN",
"CNA_EVOPAUC", "CNA_EVOPAPP")) %>%
year_to_date %>%
mutate(OBS_VALUE = OBS_VALUE / 100) %>%
filter(date >= as.Date("1990-01-01")) %>%
select(date, INDICATEUR, Indicateur, OBS_VALUE) %>%
group_by(INDICATEUR) %>%
arrange(date) %>%
mutate(index = c(100, 100*cumprod(1+OBS_VALUE[-1]))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Indicateur)) +
xlab("") + ylab("Evolution du pouvoir d'achat arbitrable (%)") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2020, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(100, 300, 5)) +
geom_label(data = . %>% filter(date == max(date)),
aes(x = date, y = index, color = Indicateur, label = round(index, 1)))
1996-
Code
`CNA-2014-RDB` %>%
filter(INDICATEUR %in% c("CNA_EVOPA", "CNA_EVOPAMEN",
"CNA_EVOPAUC", "CNA_EVOPAPP")) %>%
year_to_date %>%
mutate(OBS_VALUE = OBS_VALUE / 100) %>%
filter(date >= as.Date("1996-01-01")) %>%
select(date, INDICATEUR, Indicateur, OBS_VALUE) %>%
group_by(INDICATEUR) %>%
arrange(date) %>%
mutate(index = c(100, 100*cumprod(1+OBS_VALUE[-1]))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Indicateur)) +
xlab("") + ylab("Evolution du pouvoir d'achat arbitrable (%)") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1996, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(100, 150, 5)) +
geom_label(data = . %>% filter(date == max(date)),
aes(x = date, y = index, color = Indicateur, label = round(index, 1)))
1999-
Code
`CNA-2014-RDB` %>%
filter(INDICATEUR %in% c("CNA_EVOPA", "CNA_EVOPAMEN",
"CNA_EVOPAUC", "CNA_EVOPAPP")) %>%
year_to_date %>%
mutate(OBS_VALUE = OBS_VALUE / 100) %>%
filter(date >= as.Date("1999-01-01")) %>%
select(date, INDICATEUR, Indicateur, OBS_VALUE) %>%
group_by(INDICATEUR) %>%
arrange(date) %>%
mutate(index = c(100, 100*cumprod(1 + OBS_VALUE[-1]))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Indicateur)) +
xlab("") + ylab("Evolution du pouvoir d'achat arbitrable (%)") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1999, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(100, 150, 5)) +
geom_label(data = . %>% filter(date == max(date)),
aes(x = date, y = index, color = Indicateur, label = round(index, 1)))