source | dataset | Title | .html | .rData |
---|---|---|---|---|
insee | t_pouvachat_val | Pouvoir d'achat et ratios des comptes des ménages | 2025-10-10 | 2025-08-29 |
Pouvoir d’achat et ratios des comptes des ménages
Data - INSEE
Info
Données
Données sur le pouvoir d’achat
source | dataset | Title | .html | .rData |
---|---|---|---|---|
insee | CNA-2014-RDB | Revenu et pouvoir d’achat des ménages | 2025-10-10 | 2025-10-09 |
insee | CNT-2014-CSI | Comptes de secteurs institutionnels | 2025-10-10 | 2025-10-09 |
insee | T_7401 | 7.401 – Compte des ménages (S14) (En milliards d'euros) | 2025-10-10 | 2025-09-29 |
insee | conso-eff-fonction | Consommation effective des ménages par fonction | 2025-10-10 | 2022-06-14 |
insee | econ-gen-revenu-dispo-pouv-achat-2 | Revenu disponible brut et pouvoir d’achat - Données annuelles | 2025-10-10 | 2024-07-05 |
insee | reve-conso-evo-dep-pa | Évolution de la dépense et du pouvoir d’achat des ménages - Données annuelles de 1960 à 2023 | 2025-10-10 | 2024-12-11 |
insee | reve-niv-vie-individu-activite | NA | NA | NA |
insee | reve-niv-vie-pouv-achat-trim | Évolution du revenu disponible brut et du pouvoir d’achat - Données trimestrielles | 2025-10-10 | 2024-12-11 |
insee | t_men_val | Revenu, pouvoir d'achat et comptes des ménages - Valeurs aux prix courants | 2025-10-10 | 2025-08-29 |
insee | t_pouvachat_val | Pouvoir d'achat et ratios des comptes des ménages | 2025-10-10 | 2025-08-29 |
insee | t_recapAgent_val | Récapitulatif des séries des comptes d'agents | 2025-10-10 | 2025-09-29 |
insee | t_salaire_val | Salaire moyen par tête - SMPT (données CVS) | 2025-10-10 | 2025-08-29 |
oecd | HH_DASH | Household Dashboard | 2025-09-29 | 2023-09-09 |
Bibliographie en lien
Français
“Mesurer”le” pouvoir d’achat”, F. Geerolf, Document de travail, Juillet 2024. [pdf]
“Inflation en France: IPC ou IPCH ?”, F. Geerolf, Document de travail, Juillet 2024. [pdf]
“La taxe inflationniste, le pouvoir d’achat, le taux d’épargne et le déficit public”, F. Geerolf, Document de travail, Juillet 2024. [pdf]
Données sur l’épargne
source | dataset | Title | .html | .rData |
---|---|---|---|---|
bdf | CFT | Comptes Financiers Trimestriels | 2025-08-28 | 2025-03-09 |
insee | T_7401 | 7.401 – Compte des ménages (S14) (En milliards d'euros) | 2025-10-10 | 2025-09-29 |
insee | bdf2017 | Budget de famille 2017 | 2025-10-10 | 2023-11-21 |
insee | ip1815 | Plus d’épargne chez les plus aisés, plus de dépenses contraintes chez les plus modestes - ip1815 | 2025-10-10 | 2023-10-05 |
insee | t_men_val | Revenu, pouvoir d'achat et comptes des ménages - Valeurs aux prix courants | 2025-10-10 | 2025-08-29 |
insee | t_pouvachat_val | Pouvoir d'achat et ratios des comptes des ménages | 2025-10-10 | 2025-08-29 |
insee | t_recapAgent_val | Récapitulatif des séries des comptes d'agents | 2025-10-10 | 2025-09-29 |
LAST_COMPILE
LAST_COMPILE |
---|
2025-10-11 |
date
Code
%>%
t_pouvachat_val group_by(date) %>%
summarise(Nobs = n()) %>%
arrange(desc(date)) %>%
print_table_conditional
variable
Code
%>%
t_pouvachat_val left_join(variable, by = "variable") %>%
group_by(variable, Variable) %>%
summarise(Nobs = n()) %>%
print_table_conditional(.)
variable | Variable | Nobs |
---|---|---|
(B6/P3prix)/UC | Pouvoir d'achat du RDB par unité de consommation | 305 |
(B7/P4prix)/UC | Pouvoir d'achat du RDB ajusté par unité de consommation | 305 |
B6 | RDB | 305 |
B6 / P3prix | Pouvoir d'achat du RDB | 305 |
B6/UC | RDB par unité de consommation (UC) | 305 |
B7 | RDB ajusté | 305 |
B7/P4prix | Pouvoir d'achat du RDB ajusté | 305 |
B7/UC | RDB ajusté par unité de consommation | 305 |
B8/(B6+D8) | Taux d'épargne | 305 |
B9NF | Épargne financière | 305 |
B9NF/(B6+D8) | Taux d'épargne financière | 305 |
P3prix | Prix de la dépense de consommation finale | 305 |
2017T2-
Table
Code
%>%
t_pouvachat_val left_join(variable, by = "variable") %>%
filter(date %in% c(as.Date("2017-04-01"), max(date))) %>%
spread(date, value) %>%
print_table_conditional(.)
variable | Variable | 2017-04-01 | 2025-04-01 |
---|---|---|---|
(B6/P3prix)/UC | Pouvoir d'achat du RDB par unité de consommation | 0.4733370 | 0.2417344 |
(B7/P4prix)/UC | Pouvoir d'achat du RDB ajusté par unité de consommation | 0.4169396 | 0.2261537 |
B6 | RDB | 0.6489953 | 0.2994608 |
B6 / P3prix | Pouvoir d'achat du RDB | 0.6139967 | 0.3620690 |
B6/UC | RDB par unité de consommation (UC) | 0.5082867 | 0.1792014 |
B7 | RDB ajusté | 0.6828347 | 0.3800779 |
B7/P4prix | Pouvoir d'achat du RDB ajusté | 0.5575204 | 0.3464695 |
B7/UC | RDB ajusté par unité de consommation | 0.5420788 | 0.2597218 |
B8/(B6+D8) | Taux d'épargne | 14.1667286 | 18.9251650 |
B9NF | Épargne financière | -1.0785392 | 3.4058296 |
B9NF/(B6+D8) | Taux d'épargne financière | 4.1537965 | 9.8052658 |
P3prix | Prix de la dépense de consommation finale | 0.0347850 | -0.0623822 |
Pouvoir d’achat du RDB - (B6/P3prix)/UC
Tous
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "B6 / P3prix")) %>%
left_join(variable, by = "variable") %>%
group_by(variable, Variable) %>%
arrange(date) %>%
mutate(index = c(100, 100*cumprod(1 + value[-1]/100))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Variable)) +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1940, 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, 3000, 100))
1980-
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "B6 / P3prix")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("1980-01-01")) %>%
group_by(variable, Variable) %>%
arrange(date) %>%
mutate(index = c(100, 100*cumprod(1 + value[-1]/100))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Variable)) +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1980, 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))
1990-
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "B6 / P3prix")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("1990-01-01")) %>%
group_by(variable, Variable) %>%
arrange(date) %>%
mutate(index = c(100, 100*cumprod(1 + value[-1]/100))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Variable)) +
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))
1999-
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "B6 / P3prix")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("1999-01-01")) %>%
group_by(variable, Variable) %>%
arrange(date) %>%
mutate(index = c(100, 100*cumprod(1 + value[-1]/100))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Variable)) +
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, 150, 5))
2017T2-
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "B6 / P3prix")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("2017-04-01")) %>%
group_by(variable, Variable) %>%
arrange(date) %>%
mutate(index = c(100, 100*cumprod(1 + value[-1]/100))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Variable)) +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1999, 2100, 1), "-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, 1))
2021T2-
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "B6 / P3prix")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("2021-04-01")) %>%
group_by(variable, Variable) %>%
arrange(date) %>%
mutate(index = c(100, 100*cumprod(1 + value[-1]/100))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Variable)) +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1999, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(1, 150, 1))
Prix de la dépense de consommation finale - P3prix
Tous
Code
%>%
t_pouvachat_val filter(variable %in% c("P3prix", "B6", "B7")) %>%
left_join(variable, by = "variable") %>%
group_by(variable, Variable) %>%
arrange(date) %>%
mutate(index = c(100, 100*cumprod(1 + value[-1]/100))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Variable)) +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1940, 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, 100000, 100))
1999-
Code
%>%
t_pouvachat_val filter(variable %in% c("P3prix", "B6", "B7")) %>%
left_join(variable, by = "variable") %>%
group_by(variable, Variable) %>%
arrange(date) %>%
filter(date >= as.Date("1999-01-01")) %>%
mutate(index = c(100, 100*cumprod(1 + value[-1]/100))) %>%
ggplot() + geom_line(aes(x = date, y = index, color = Variable)) +
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, 100000, 10)) +
geom_label_repel(data = . %>% filter(date == max(date)),
aes(x = date, y = index, color = Variable, label = round(index, 1)))
Evolution Prix de la dépense de consommation finale - P3prix
Tous
Code
%>%
t_pouvachat_val filter(variable %in% c("P3prix", "B6", "B7")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit + geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "5 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
Glissement sur 1 an
Tous
Code
%>%
t_pouvachat_val filter(variable %in% c("P3prix", "B6", "B7")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit group_by(variable) %>%
arrange(date) %>%
mutate(value = value/100,
ga = (1+value)*(1+lag(value,1))*(1+lag(value,2))*(1+lag(value,3))-1) %>%
+ geom_line(aes(x = date, y = ga, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "5 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
1990-
Code
%>%
t_pouvachat_val filter(variable %in% c("P3prix", "B6", "B7")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit group_by(variable) %>%
arrange(date) %>%
mutate(value = value/100,
ga = (1+value)*(1+lag(value,1))*(1+lag(value,2))*(1+lag(value,3))-1) %>%
filter(date >= as.Date("1990-01-01")) %>%
+ geom_line(aes(x = date, y = ga, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "5 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
1999-
Code
%>%
t_pouvachat_val filter(variable %in% c("P3prix", "B6", "B7")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit group_by(variable) %>%
arrange(date) %>%
mutate(value = value/100,
ga = (1+value)*(1+lag(value,1))*(1+lag(value,2))*(1+lag(value,3))-1) %>%
filter(date >= as.Date("1999-01-01")) %>%
+ geom_line(aes(x = date, y = ga, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "2 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
2010-
Code
%>%
t_pouvachat_val filter(variable %in% c("P3prix", "B6", "B7")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit group_by(variable) %>%
arrange(date) %>%
mutate(value = value/100,
ga = (1+value)*(1+lag(value,1))*(1+lag(value,2))*(1+lag(value,3))-1) %>%
filter(date >= as.Date("2010-01-01")) %>%
+ geom_line(aes(x = date, y = ga, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "2 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
2015-
Code
%>%
t_pouvachat_val filter(variable %in% c("P3prix", "B6", "B7")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit group_by(variable) %>%
arrange(date) %>%
mutate(value = value/100,
ga = (1+value)*(1+lag(value,1))*(1+lag(value,2))*(1+lag(value,3))-1) %>%
filter(date >= as.Date("2015-01-01")) %>%
+ geom_line(aes(x = date, y = ga, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "1 year"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
Glissement sur 2 ans
B6, B7
Code
%>%
t_pouvachat_val filter(variable %in% c("P3prix", "B6", "B7")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit group_by(variable) %>%
arrange(date) %>%
mutate(value = value/100,
ga = ((1+value)*(1+lag(value,1))*(1+lag(value,2))*(1+lag(value,3))*(1+lag(value,4))*(1+lag(value,5))*(1+lag(value,6))*(1+lag(value,7)))^(1/2)-1) %>%
+ geom_line(aes(x = date, y = ga, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "5 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
B6, B7, B6/UC
Code
%>%
t_pouvachat_val filter(variable %in% c("P3prix", "B6", "B7", "B6/UC")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit group_by(variable) %>%
arrange(date) %>%
mutate(value = value/100,
ga = ((1+value)*(1+lag(value,1))*(1+lag(value,2))*(1+lag(value,3))*(1+lag(value,4))*(1+lag(value,5))*(1+lag(value,6))*(1+lag(value,7)))^(1/2)-1) %>%
+ geom_line(aes(x = date, y = ga, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "5 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
Pouvoir d’achat
Tous
Trimestriel
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "(B7/P4prix)/UC")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit + geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "5 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
Glissement sur 1 an
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "(B7/P4prix)/UC")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit group_by(variable) %>%
arrange(date) %>%
mutate(value = value/100,
ga = (1+value)*(1+lag(value,1))*(1+lag(value,2))*(1+lag(value,3))-1) %>%
+ geom_line(aes(x = date, y = ga, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "5 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
Glissement sur 2 ans
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "(B7/P4prix)/UC")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit group_by(variable) %>%
arrange(date) %>%
mutate(value = value/100,
ga = ((1+value)*(1+lag(value,1))*(1+lag(value,2))*(1+lag(value,3))*(1+lag(value,4))*(1+lag(value,5))*(1+lag(value,6))*(1+lag(value,7)))^(1/2)-1) %>%
+ geom_line(aes(x = date, y = ga, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "5 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
Glissement sur 3 ans
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "(B7/P4prix)/UC")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit group_by(variable) %>%
arrange(date) %>%
mutate(value = value/100,
ga = ((1+value)*(1+lag(value,1))*(1+lag(value,2))*(1+lag(value,3))*(1+lag(value,4))*(1+lag(value,5))*(1+lag(value,6))*(1+lag(value,7))*(1+lag(value,8))*(1+lag(value,9))*(1+lag(value,10))*(1+lag(value,11)))^(1/3)-1) %>%
+ geom_line(aes(x = date, y = ga, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "5 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
Glissement sur 4 ans
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "(B7/P4prix)/UC")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit group_by(variable) %>%
arrange(date) %>%
mutate(value = value/100,
ga = ((1+value)*(1+lag(value,1))*(1+lag(value,2))*(1+lag(value,3))*(1+lag(value,4))*(1+lag(value,5))*(1+lag(value,6))*(1+lag(value,7))*(1+lag(value,8))*(1+lag(value,9))*(1+lag(value,10))*(1+lag(value,11))*(1+lag(value,12))*(1+lag(value,13))*(1+lag(value,14))*(1+lag(value,15)))^(1/4)-1) %>%
+ geom_line(aes(x = date, y = ga, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "5 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
Glissement sur 5 ans
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "(B7/P4prix)/UC")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit group_by(variable) %>%
arrange(date) %>%
mutate(value = value/100,
ga = ((1+value)*(1+lag(value,1))*(1+lag(value,2))*(1+lag(value,3))*(1+lag(value,4))*(1+lag(value,5))*(1+lag(value,6))*(1+lag(value,7))*(1+lag(value,8))*(1+lag(value,9))*(1+lag(value,10))*(1+lag(value,11))*(1+lag(value,12))*(1+lag(value,13))*(1+lag(value,14))*(1+lag(value,15))*(1+lag(value,16))*(1+lag(value,17))*(1+lag(value,18))*(1+lag(value,19)))^(1/5)-1) %>%
+ geom_line(aes(x = date, y = ga, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "5 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
2017T2-
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "(B7/P4prix)/UC", "B6 / P3prix", "B7/P4prix"),
>= as.Date("2017-04-01")) %>%
date mutate(date = zoo::as.yearqtr(date)) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit + geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
::scale_x_yearqtr(labels = date_format("%YT%q"),
zoobreaks = expand.grid(2017:2100, c(2, 4)) %>%
mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
pull(breaks)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.8),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
3 years
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "(B7/P4prix)/UC", "B6 / P3prix", "B7/P4prix"),
>= max(date) - years(3)) %>%
date mutate(date = zoo::as.yearqtr(date)) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit + geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
::scale_x_yearqtr(labels = date_format("%YT%q"),
zoobreaks = expand.grid(2017:2100, 1:4) %>%
mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
pull(breaks)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.8),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
2 years
Trimestriel
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "(B7/P4prix)/UC", "B6 / P3prix", "B7/P4prix"),
>= max(date) - years(2)) %>%
date mutate(date = zoo::as.yearqtr(date)) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit + geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
::scale_x_yearqtr(labels = date_format("%YT%q"),
zoobreaks = expand.grid(2017:2100, 1:4) %>%
mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
pull(breaks)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.4, 0.8),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
Glissement sur 1 an
Code
%>%
t_pouvachat_val filter(variable %in% c("(B6/P3prix)/UC", "(B7/P4prix)/UC", "B6 / P3prix", "B7/P4prix")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit group_by(variable) %>%
arrange(date) %>%
mutate(value = value/100,
ga = (1+value)*(1+lag(value,1))*(1+lag(value,2))*(1+lag(value,3))-1) %>%
filter(date >= max(date) - years(2)) %>%
+ geom_line(aes(x = date, y = ga, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1990-01-01"), to = as.Date("2100-10-01"), by = "3 months"),
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.7, 0.85),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
Taux d’épargne vs. d’épargne financière
Tous
Code
%>%
t_pouvachat_val filter(variable %in% c("B9NF/(B6+D8)", "B8/(B6+D8)")) %>%
left_join(variable, by = "variable") %>%
%>%
na.omit + geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "5 years"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
1995-
Code
%>%
t_pouvachat_val filter(variable %in% c("B9NF/(B6+D8)", "B8/(B6+D8)"),
>= as.Date("1995-01-01")) %>%
date left_join(variable, by = "variable") %>%
%>%
na.omit mutate(date = zoo::as.yearqtr(date, format = "%YT%q")) %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_yearqtr() +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
2005-
Code
%>%
t_pouvachat_val filter(variable %in% c("B9NF/(B6+D8)", "B8/(B6+D8)"),
>= as.Date("2005-01-01")) %>%
date left_join(variable, by = "variable") %>%
%>%
na.omit mutate(date = zoo::as.yearqtr(date, format = "%YT%q")) %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_yearqtr() +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
2012-
Code
%>%
t_pouvachat_val filter(variable %in% c("B9NF/(B6+D8)", "B8/(B6+D8)"),
>= as.Date("2012-01-01")) %>%
date left_join(variable, by = "variable") %>%
%>%
na.omit mutate(date = zoo::as.yearqtr(date, format = "%YT%q")) %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_yearqtr() +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")
2017T2-
Code
%>%
t_pouvachat_val filter(variable %in% c("B9NF/(B6+D8)", "B8/(B6+D8)"),
>= as.Date("2017-04-01")) %>%
date left_join(variable, by = "variable") %>%
%>%
na.omit mutate(date = zoo::as.yearqtr(date, format = "%YT%q")) %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot xlab("") + ylab("") + theme_minimal() +
scale_x_yearqtr(labels = date_format("%Y-T%q"),
breaks = expand.grid(2017:2100, c(2, 4)) %>%
mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
pull(breaks)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
Taux d’épargne
2012-
Code
%>%
t_pouvachat_val filter(variable %in% c("B8/(B6+D8)"),
>= as.Date("2014-01-01")) %>%
date left_join(variable, by = "variable") %>%
%>%
na.omit + geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot xlab("") + ylab("Taux d'épargne (%)") + theme_minimal() +
scale_x_date(breaks = seq.Date(from = as.Date("1995-01-01"), to = as.Date("2100-10-01"), by = "1 year"),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")