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-11-14 | 2025-11-13 |
| insee | CNT-2014-CSI | Comptes de secteurs institutionnels | 2025-11-14 | 2025-11-13 |
| insee | T_7401 | 7.401 – Compte des ménages (S14) (En milliards d'euros) | 2025-11-14 | 2025-09-29 |
| insee | conso-eff-fonction | Consommation effective des ménages par fonction | 2025-11-14 | 2022-06-14 |
| insee | econ-gen-revenu-dispo-pouv-achat-2 | Revenu disponible brut et pouvoir d’achat - Données annuelles | 2025-11-14 | 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-11-14 | 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-11-14 | 2024-12-11 |
| insee | t_men_val | Revenu, pouvoir d'achat et comptes des ménages - Valeurs aux prix courants | 2025-11-14 | 2025-08-29 |
| insee | t_pouvachat_val | Pouvoir d'achat et ratios des comptes des ménages | 2025-11-14 | 2025-08-29 |
| insee | t_recapAgent_val | Récapitulatif des séries des comptes d'agents | 2025-11-14 | 2025-09-29 |
| insee | t_salaire_val | Salaire moyen par tête - SMPT (données CVS) | 2025-11-14 | 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-11-14 | 2025-09-29 |
| insee | bdf2017 | Budget de famille 2017 | 2025-11-14 | 2023-11-21 |
| insee | ip1815 | Plus d’épargne chez les plus aisés, plus de dépenses contraintes chez les plus modestes - ip1815 | 2025-11-14 | 2023-10-05 |
| insee | t_men_val | Revenu, pouvoir d'achat et comptes des ménages - Valeurs aux prix courants | 2025-11-14 | 2025-08-29 |
| insee | t_pouvachat_val | Pouvoir d'achat et ratios des comptes des ménages | 2025-11-14 | 2025-08-29 |
| insee | t_recapAgent_val | Récapitulatif des séries des comptes d'agents | 2025-11-14 | 2025-09-29 |
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2025-11-16 |
Bibliographie en lien
Français
« Mesurer “le” pouvoir d’achat », F. Geerolf, Document de travail, 9 juillet 2024. [ html] [ pdf] [ handouts] [ pdf] [ html] [ github]
« La taxe inflationniste, le pouvoir d’achat, le taux d’épargne et le déficit public », F. Geerolf, Document de travail, 9 juillet 2024. [ html] [ pdf] [ handouts] [ pdf] [ html] [ github]
« Inflation en France : IPC ou IPCH ? », F. Geerolf, Document de travail, 9 juillet 2024. [ html] [ pdf] [ handouts] [ pdf] [ html] [ github]
Exemple
- 2023T2: consommation Totale = 356,6 Mds€; revenu disponible brut = 439,2 Mds€:
Code
scales::percent(1-356.6/439.2, acc = 0.01)# [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_conditionalEvolution
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]) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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 = "-"))) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() + xlab("") + ylab("Index 100 = 2019T4") +
zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
scale_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 = "-"))) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() + xlab("") + ylab("Indice 100 = 2021T2") +
zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
scale_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")) %>%
ggplot + geom_line(aes(x = date, y = ga, color = Variable)) +
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") %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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") %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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]) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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") %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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") %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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")) %>%
ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
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())