Revenu, pouvoir d’achat et comptes des ménages - Valeurs aux prix courants
Data - INSEE
Info
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 |
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 |
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]
Example
- 2023T2: consommation Totale = 356,6 Mds€; revenu disponible brut = 439,2 Mds€:
Code
::percent(1-356.6/439.2, acc = 0.01) scales
# [1] "18.81%"
Données
Info
Revenu disponible brut. Il s’agit de la part du revenu qui reste à la disposition du ménage pour consommer et épargner, une fois déduits les prélèvements sociaux et les impôts.
Les ressources comprennent : - les revenus d’activité (salaires, revenus des entrepreneurs individuels…), - les revenus du patrimoine (dividendes, intérêts, loyers), - les prestations sociales (y compris les pensions de retraite et les indemnités de chômage), - les transferts courants (notamment les indemnités d’assurance nette des primes). Les charges comprennent notamment les impôts directs (impôt sur le revenu, taxe d’habitation, CSG…).
Revenu disponible brut ajusté. Il s’agit du RDB augmenté des transferts sociaux en nature, contrepartie des consommations individualisables incluses dans les dépenses des APU et des ISBLSM.
Excédent brut d’exploitation des ménages purs. L’EBE des ménages purs correspond aux revenus fonciers, issus des loyers réels ou des loyers imputés (au titre des services de logement que les ménages propriétaires se rendent à eux mêmes).
variable
Code
%>%
t_men_val left_join(variable, by = "variable") %>%
group_by(variable, Variable) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional
variable | Variable | Nobs |
---|---|---|
B2 + D11 + D4 + D62 + D7 | Total des ressources | 306 |
B2_S14 | Excédent brut d'exploitation (y compris revenu mixte) | 306 |
B2_S14A | Revenu mixte | 306 |
B2_S14B | Excédent brut d'exploitation des ménages purs | 306 |
B6 | Revenu disponible brut | 306 |
B7 | Revenu disponible brut ajusté | 306 |
D11 | Salaires et traitements bruts | 306 |
D4 | Intérêts et dividendes nets reçus | 306 |
D5 | Impôts sur le revenu et le patrimoine | 306 |
D5 + D613 + D614 + D61SC | NA | 306 |
D613 + D614 + D61SC | NA | 306 |
D62 | Prestations sociales en espèces | 306 |
D63 | Transferts sociaux en nature | 306 |
D7 | Autres ressources nettes | 306 |
date
Code
%>%
t_men_val group_by(date) %>%
summarise(Nobs = n()) %>%
arrange(desc(date)) %>%
print_table_conditional
Evolution
2017T2-
% change
Code
%>%
t_men_val filter(date %in% c(max(date), as.Date("2017-04-01"))) %>%
left_join(variable, by = "variable") %>%
spread(date, value) %>%
mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
`change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
arrange(-`% change`) %>%
print_table_conditional(.)
variable | Variable | 2017-04-01 | 2025-04-01 | % change | change (Mds€) |
---|---|---|---|---|---|
D4 | Intérêts et dividendes nets reçus | 20.692 | 38.130 | 84.27 | 17.44 |
B6 | Revenu disponible brut | 346.195 | 471.669 | 36.24 | 125.47 |
B7 | Revenu disponible brut ajusté | 447.971 | 606.194 | 35.32 | 158.22 |
B2_S14B | Excédent brut d'exploitation des ménages purs | 50.859 | 68.436 | 34.56 | 17.58 |
B2 + D11 + D4 + D62 + D7 | Total des ressources | 438.969 | 588.439 | 34.05 | 149.47 |
D63 | Transferts sociaux en nature | 101.776 | 134.525 | 32.18 | 32.75 |
D62 | Prestations sociales en espèces | 123.858 | 162.988 | 31.59 | 39.13 |
B2_S14 | Excédent brut d'exploitation (y compris revenu mixte) | 77.742 | 101.983 | 31.18 | 24.24 |
D11 | Salaires et traitements bruts | 219.533 | 287.736 | 31.07 | 68.20 |
D5 | Impôts sur le revenu et le patrimoine | 56.209 | 72.708 | 29.35 | 16.50 |
D5 + D613 + D614 + D61SC | NA | 92.773 | 116.770 | 25.87 | 24.00 |
B2_S14A | Revenu mixte | 26.883 | 33.547 | 24.79 | 6.66 |
D613 + D614 + D61SC | NA | 36.565 | 44.062 | 20.50 | 7.50 |
D7 | Autres ressources nettes | -2.857 | -2.398 | -16.07 | 0.46 |
€ change
Code
%>%
t_men_val filter(date %in% c(max(date), as.Date("2017-04-01"))) %>%
left_join(variable, by = "variable") %>%
spread(date, value) %>%
mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
`change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
arrange(-`change (Mds€)`) %>%
print_table_conditional(.)
variable | Variable | 2017-04-01 | 2025-04-01 | % change | change (Mds€) |
---|---|---|---|---|---|
B7 | Revenu disponible brut ajusté | 447.971 | 606.194 | 35.32 | 158.22 |
B2 + D11 + D4 + D62 + D7 | Total des ressources | 438.969 | 588.439 | 34.05 | 149.47 |
B6 | Revenu disponible brut | 346.195 | 471.669 | 36.24 | 125.47 |
D11 | Salaires et traitements bruts | 219.533 | 287.736 | 31.07 | 68.20 |
D62 | Prestations sociales en espèces | 123.858 | 162.988 | 31.59 | 39.13 |
D63 | Transferts sociaux en nature | 101.776 | 134.525 | 32.18 | 32.75 |
B2_S14 | Excédent brut d'exploitation (y compris revenu mixte) | 77.742 | 101.983 | 31.18 | 24.24 |
D5 + D613 + D614 + D61SC | NA | 92.773 | 116.770 | 25.87 | 24.00 |
B2_S14B | Excédent brut d'exploitation des ménages purs | 50.859 | 68.436 | 34.56 | 17.58 |
D4 | Intérêts et dividendes nets reçus | 20.692 | 38.130 | 84.27 | 17.44 |
D5 | Impôts sur le revenu et le patrimoine | 56.209 | 72.708 | 29.35 | 16.50 |
D613 + D614 + D61SC | NA | 36.565 | 44.062 | 20.50 | 7.50 |
B2_S14A | Revenu mixte | 26.883 | 33.547 | 24.79 | 6.66 |
D7 | Autres ressources nettes | -2.857 | -2.398 | -16.07 | 0.46 |
2017T2-
Code
%>%
t_men_val filter(variable %in% c("D11", "B6", "D4")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("2017-04-01")) %>%
group_by(variable) %>%
arrange(date) %>%
mutate(value = 100*value/value[1]) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Index 100 = 2017T2") +
scale_x_date(breaks = as.Date(paste0(seq(2008, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 1500, 5)) +
theme(legend.position = c(0.3, 0.8),
legend.title = element_blank())
Memo, inflation période. IPCH: +21.6%.
Code
ig_d("insee", "IPCH-IPC-2015-ensemble", "IPC-IPCH-trimestre-2017T2")
SMPT, rappel:
Code
ig_d("insee", "t_salaire_val", "TOTAL-AZ-C-2017T2")
2019T4-
Code
%>%
t_men_val filter(variable %in% c("D11", "B6", "D4")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("2019-10-01")) %>%
group_by(variable) %>%
arrange(date) %>%
mutate(value = 100*value/value[1]) %>%
mutate(date = zoo::as.yearqtr(paste(year(date), quarter(date), sep = "-"))) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Index 100 = 2019T4") +
::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
zooscale_y_log10(breaks = seq(0, 1500, 5)) +
theme(legend.position = c(0.3, 0.8),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
geom_text(data = . %>%
filter(date == max(date)),
aes(x = date, y = value, color = Variable, label = round(value, 1)))
2021T2-
Code
%>%
t_men_val filter(variable %in% c("B6", "D4", "D11")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("2021-04-01")) %>%
group_by(variable) %>%
arrange(date) %>%
mutate(value = 100*value/value[1]) %>%
mutate(date = zoo::as.yearqtr(paste(year(date), quarter(date), sep = "-"))) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Indice 100 = 2021T2") +
::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
zooscale_y_log10(breaks = seq(0, 1500, 5)) +
theme(legend.position = c(0.3, 0.8),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
geom_text_repel(data = . %>%
filter(date == max(date)),
aes(x = date, y = value, color = Variable, label = round(value, 1)))
3 years
% change
Code
%>%
t_men_val filter(date %in% c(max(date), max(date)-years(3))) %>%
left_join(variable, by = "variable") %>%
spread(date, value) %>%
mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
`change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
arrange(-`% change`) %>%
print_table_conditional(.)
variable | Variable | 2022-04-01 | 2025-04-01 | % change | change (Mds€) |
---|---|---|---|---|---|
D4 | Intérêts et dividendes nets reçus | 28.492 | 38.130 | 33.83 | 9.64 |
B2_S14B | Excédent brut d'exploitation des ménages purs | 56.342 | 68.436 | 21.47 | 12.09 |
B2_S14 | Excédent brut d'exploitation (y compris revenu mixte) | 86.911 | 101.983 | 17.34 | 15.07 |
B6 | Revenu disponible brut | 402.770 | 471.669 | 17.11 | 68.90 |
D62 | Prestations sociales en espèces | 139.333 | 162.988 | 16.98 | 23.66 |
B7 | Revenu disponible brut ajusté | 521.282 | 606.194 | 16.29 | 84.91 |
B2 + D11 + D4 + D62 + D7 | Total des ressources | 508.261 | 588.439 | 15.77 | 80.18 |
D613 + D614 + D61SC | NA | 38.274 | 44.062 | 15.12 | 5.79 |
D63 | Transferts sociaux en nature | 118.513 | 134.525 | 13.51 | 16.01 |
D11 | Salaires et traitements bruts | 257.415 | 287.736 | 11.78 | 30.32 |
D5 + D613 + D614 + D61SC | NA | 105.492 | 116.770 | 10.69 | 11.28 |
B2_S14A | Revenu mixte | 30.568 | 33.547 | 9.75 | 2.98 |
D5 | Impôts sur le revenu et le patrimoine | 67.217 | 72.708 | 8.17 | 5.49 |
D7 | Autres ressources nettes | -3.890 | -2.398 | -38.35 | 1.49 |
€ change
Code
%>%
t_men_val filter(date %in% c(max(date), max(date)-years(3))) %>%
left_join(variable, by = "variable") %>%
spread(date, value) %>%
mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
`change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
arrange(-`change (Mds€)`) %>%
print_table_conditional(.)
variable | Variable | 2022-04-01 | 2025-04-01 | % change | change (Mds€) |
---|---|---|---|---|---|
B7 | Revenu disponible brut ajusté | 521.282 | 606.194 | 16.29 | 84.91 |
B2 + D11 + D4 + D62 + D7 | Total des ressources | 508.261 | 588.439 | 15.77 | 80.18 |
B6 | Revenu disponible brut | 402.770 | 471.669 | 17.11 | 68.90 |
D11 | Salaires et traitements bruts | 257.415 | 287.736 | 11.78 | 30.32 |
D62 | Prestations sociales en espèces | 139.333 | 162.988 | 16.98 | 23.66 |
D63 | Transferts sociaux en nature | 118.513 | 134.525 | 13.51 | 16.01 |
B2_S14 | Excédent brut d'exploitation (y compris revenu mixte) | 86.911 | 101.983 | 17.34 | 15.07 |
B2_S14B | Excédent brut d'exploitation des ménages purs | 56.342 | 68.436 | 21.47 | 12.09 |
D5 + D613 + D614 + D61SC | NA | 105.492 | 116.770 | 10.69 | 11.28 |
D4 | Intérêts et dividendes nets reçus | 28.492 | 38.130 | 33.83 | 9.64 |
D613 + D614 + D61SC | NA | 38.274 | 44.062 | 15.12 | 5.79 |
D5 | Impôts sur le revenu et le patrimoine | 67.217 | 72.708 | 8.17 | 5.49 |
B2_S14A | Revenu mixte | 30.568 | 33.547 | 9.75 | 2.98 |
D7 | Autres ressources nettes | -3.890 | -2.398 | -38.35 | 1.49 |
2 years
% change
Code
%>%
t_men_val filter(date %in% c(max(date), max(date)-years(2))) %>%
left_join(variable, by = "variable") %>%
spread(date, value) %>%
mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
`change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
arrange(-`% change`) %>%
print_table_conditional(.)
variable | Variable | 2023-04-01 | 2025-04-01 | % change | change (Mds€) |
---|---|---|---|---|---|
D4 | Intérêts et dividendes nets reçus | 33.005 | 38.130 | 15.53 | 5.12 |
D62 | Prestations sociales en espèces | 146.922 | 162.988 | 10.94 | 16.07 |
D613 + D614 + D61SC | NA | 39.831 | 44.062 | 10.62 | 4.23 |
D5 + D613 + D614 + D61SC | NA | 108.395 | 116.770 | 7.73 | 8.38 |
D63 | Transferts sociaux en nature | 125.264 | 134.525 | 7.39 | 9.26 |
B2 + D11 + D4 + D62 + D7 | Total des ressources | 549.139 | 588.439 | 7.16 | 39.30 |
B7 | Revenu disponible brut ajusté | 566.008 | 606.194 | 7.10 | 40.19 |
B6 | Revenu disponible brut | 440.744 | 471.669 | 7.02 | 30.92 |
D5 | Impôts sur le revenu et le patrimoine | 68.565 | 72.708 | 6.04 | 4.14 |
D11 | Salaires et traitements bruts | 272.824 | 287.736 | 5.47 | 14.91 |
B2_S14A | Revenu mixte | 31.954 | 33.547 | 4.99 | 1.59 |
B2_S14 | Excédent brut d'exploitation (y compris revenu mixte) | 99.143 | 101.983 | 2.86 | 2.84 |
B2_S14B | Excédent brut d'exploitation des ménages purs | 67.189 | 68.436 | 1.86 | 1.25 |
D7 | Autres ressources nettes | -2.754 | -2.398 | -12.93 | 0.36 |
€ change
Code
%>%
t_men_val filter(date %in% c(max(date), max(date)-years(2))) %>%
left_join(variable, by = "variable") %>%
spread(date, value) %>%
mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
`change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
arrange(-`change (Mds€)`) %>%
print_table_conditional(.)
variable | Variable | 2023-04-01 | 2025-04-01 | % change | change (Mds€) |
---|---|---|---|---|---|
B7 | Revenu disponible brut ajusté | 566.008 | 606.194 | 7.10 | 40.19 |
B2 + D11 + D4 + D62 + D7 | Total des ressources | 549.139 | 588.439 | 7.16 | 39.30 |
B6 | Revenu disponible brut | 440.744 | 471.669 | 7.02 | 30.92 |
D62 | Prestations sociales en espèces | 146.922 | 162.988 | 10.94 | 16.07 |
D11 | Salaires et traitements bruts | 272.824 | 287.736 | 5.47 | 14.91 |
D63 | Transferts sociaux en nature | 125.264 | 134.525 | 7.39 | 9.26 |
D5 + D613 + D614 + D61SC | NA | 108.395 | 116.770 | 7.73 | 8.38 |
D4 | Intérêts et dividendes nets reçus | 33.005 | 38.130 | 15.53 | 5.12 |
D613 + D614 + D61SC | NA | 39.831 | 44.062 | 10.62 | 4.23 |
D5 | Impôts sur le revenu et le patrimoine | 68.565 | 72.708 | 6.04 | 4.14 |
B2_S14 | Excédent brut d'exploitation (y compris revenu mixte) | 99.143 | 101.983 | 2.86 | 2.84 |
B2_S14A | Revenu mixte | 31.954 | 33.547 | 4.99 | 1.59 |
B2_S14B | Excédent brut d'exploitation des ménages purs | 67.189 | 68.436 | 1.86 | 1.25 |
D7 | Autres ressources nettes | -2.754 | -2.398 | -12.93 | 0.36 |
Last year
% change
Code
%>%
t_men_val filter(date %in% c(max(date), max(date)-years(1))) %>%
left_join(variable, by = "variable") %>%
spread(date, value) %>%
mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
`change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
arrange(-`% change`) %>%
print_table_conditional(.)
variable | Variable | 2024-04-01 | 2025-04-01 | % change | change (Mds€) |
---|---|---|---|---|---|
D613 + D614 + D61SC | NA | 42.056 | 44.062 | 4.77 | 2.01 |
D62 | Prestations sociales en espèces | 156.980 | 162.988 | 3.83 | 6.01 |
D5 + D613 + D614 + D61SC | NA | 112.891 | 116.770 | 3.44 | 3.88 |
D4 | Intérêts et dividendes nets reçus | 36.996 | 38.130 | 3.07 | 1.13 |
D63 | Transferts sociaux en nature | 130.562 | 134.525 | 3.04 | 3.96 |
B2_S14A | Revenu mixte | 32.669 | 33.547 | 2.69 | 0.88 |
D5 | Impôts sur le revenu et le patrimoine | 70.835 | 72.708 | 2.64 | 1.87 |
B2 + D11 + D4 + D62 + D7 | Total des ressources | 576.199 | 588.439 | 2.12 | 12.24 |
B7 | Revenu disponible brut ajusté | 593.870 | 606.194 | 2.08 | 12.32 |
B6 | Revenu disponible brut | 463.308 | 471.669 | 1.80 | 8.36 |
D11 | Salaires et traitements bruts | 283.093 | 287.736 | 1.64 | 4.64 |
B2_S14 | Excédent brut d'exploitation (y compris revenu mixte) | 101.659 | 101.983 | 0.32 | 0.32 |
B2_S14B | Excédent brut d'exploitation des ménages purs | 68.990 | 68.436 | -0.80 | -0.55 |
D7 | Autres ressources nettes | -2.529 | -2.398 | -5.18 | 0.13 |
€ change
Code
%>%
t_men_val filter(date %in% c(max(date), max(date)-years(1))) %>%
left_join(variable, by = "variable") %>%
spread(date, value) %>%
mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
`change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
arrange(-`change (Mds€)`) %>%
print_table_conditional(.)
variable | Variable | 2024-04-01 | 2025-04-01 | % change | change (Mds€) |
---|---|---|---|---|---|
B7 | Revenu disponible brut ajusté | 593.870 | 606.194 | 2.08 | 12.32 |
B2 + D11 + D4 + D62 + D7 | Total des ressources | 576.199 | 588.439 | 2.12 | 12.24 |
B6 | Revenu disponible brut | 463.308 | 471.669 | 1.80 | 8.36 |
D62 | Prestations sociales en espèces | 156.980 | 162.988 | 3.83 | 6.01 |
D11 | Salaires et traitements bruts | 283.093 | 287.736 | 1.64 | 4.64 |
D63 | Transferts sociaux en nature | 130.562 | 134.525 | 3.04 | 3.96 |
D5 + D613 + D614 + D61SC | NA | 112.891 | 116.770 | 3.44 | 3.88 |
D613 + D614 + D61SC | NA | 42.056 | 44.062 | 4.77 | 2.01 |
D5 | Impôts sur le revenu et le patrimoine | 70.835 | 72.708 | 2.64 | 1.87 |
D4 | Intérêts et dividendes nets reçus | 36.996 | 38.130 | 3.07 | 1.13 |
B2_S14A | Revenu mixte | 32.669 | 33.547 | 2.69 | 0.88 |
B2_S14 | Excédent brut d'exploitation (y compris revenu mixte) | 101.659 | 101.983 | 0.32 | 0.32 |
D7 | Autres ressources nettes | -2.529 | -2.398 | -5.18 | 0.13 |
B2_S14B | Excédent brut d'exploitation des ménages purs | 68.990 | 68.436 | -0.80 | -0.55 |
Evolution RDB, RDB sans capital
1990-
Code
%>%
t_men_val filter(variable %in% c("B6", "B2_S14B", "D4")) %>%
spread(variable, value) %>%
transmute(date, RDB = B6, `RDB - intérêts et dividendes` = B6-D4, `RDB - intérêts et dividendes - EBE` = B6-D4-B2_S14B) %>%
gather(Variable, value, -date) %>%
group_by(Variable) %>%
arrange(date) %>%
mutate(ga = value/lag(value, 4) - 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")
D11, B6
Montant
All
Linear
Code
%>%
t_men_val filter(variable %in% c("D11", "B6")) %>%
left_join(variable, by = "variable") %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 10000, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
Log
Code
%>%
t_men_val filter(variable %in% c("D11", "B6")) %>%
left_join(variable, by = "variable") %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(1,2,5,8,10,20, 50, 80, 100, 200, 500, 1000, 1200, 2000, 3000, 5000, 10000),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
1995-
Linear
Code
%>%
t_men_val filter(variable %in% c("D11", "B6")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("1995-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 10000, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
Log
Code
%>%
t_men_val filter(variable %in% c("D11", "B6")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("1995-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 1500, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
1999-
Linear
Code
%>%
t_men_val filter(variable %in% c("D11", "B6")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("1999-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1999, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 10000, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
Log
Values
Code
%>%
t_men_val filter(variable %in% c("D11", "B6")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("1999-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1999, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 1500, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
Base 100
Code
%>%
t_men_val filter(variable %in% c("D11", "B6")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("1999-01-01")) %>%
group_by(variable) %>%
arrange(date) %>%
mutate(value = 100*value/value[1]) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Base 100 = 1999") +
scale_x_date(breaks = as.Date(paste0(seq(1999, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 1500, 10)) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
2008-
Linear
Code
%>%
t_men_val filter(variable %in% c("D11", "B6")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("2008-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(2008, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 10000, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
Log
Code
%>%
t_men_val filter(variable %in% c("D11", "B6")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("2008-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(2008, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 1500, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
2017-
Linear
Code
%>%
t_men_val filter(variable %in% c("D11", "B6")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("2017-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(2008, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 10000, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
Log
Code
%>%
t_men_val filter(variable %in% c("D11", "B6")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("2017-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(2008, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 1500, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
Revenus du capital
Montant
All
Linear
Code
%>%
t_men_val filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
left_join(variable, by = "variable") %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 10000, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
Log
Code
%>%
t_men_val filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
left_join(variable, by = "variable") %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(1,2,5,8,10,20, 50, 80, 100, 200, 500, 1000, 1200, 2000, 3000, 5000, 10000),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
1995-
Linear
Code
%>%
t_men_val filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("1995-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 10000, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
Log
Code
%>%
t_men_val filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("1995-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 1500, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
2008-
Linear
Code
%>%
t_men_val filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("2008-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 10000, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
Log
Code
%>%
t_men_val filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("2008-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 1500, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
2017-
Linear
Code
%>%
t_men_val filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("2017-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 10000, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())
Log
Code
%>%
t_men_val filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
left_join(variable, by = "variable") %>%
filter(date >= as.Date("2017-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Milliards d'€") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 1500, 10),
labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank())