Revenu, pouvoir d’achat et comptes des ménages - Valeurs aux prix courants

Data - Insee

Info

source dataset .html .RData
insee t_men_val 2024-10-29 2024-09-02

Données sur le pouvoir d’achat

source dataset .html .RData
insee CNA-2014-RDB 2024-11-05 2024-11-05
insee CNT-2014-CSI 2024-11-05 2024-11-05
insee conso-eff-fonction 2024-11-05 2022-06-14
insee econ-gen-revenu-dispo-pouv-achat-2 2024-11-05 2024-07-05
insee reve-conso-evo-dep-pa 2024-11-05 2024-09-05
insee reve-niv-vie-individu-activite 2024-11-05 NA
insee reve-niv-vie-pouv-achat-trim 2024-11-05 2024-09-05
insee T_7401 2024-10-18 2024-10-18
insee t_men_val 2024-10-29 2024-09-02
insee t_pouvachat_val 2024-10-29 2024-09-04
insee t_recapAgent_val 2024-10-29 2024-09-02
insee t_salaire_val 2024-11-03 2024-09-02
oecd HH_DASH 2024-09-15 2023-09-09

Données sur l’épargne

source dataset .html .RData
bdf CFT 2024-09-30 2024-07-01
insee bdf2017 2024-11-05 2023-11-21
insee ip1815 2024-09-06 2023-10-05
insee T_7401 2024-10-18 2024-10-18
insee t_men_val 2024-10-29 2024-09-02
insee t_pouvachat_val 2024-10-29 2024-09-04
insee t_recapAgent_val 2024-10-29 2024-09-02

LAST_COMPILE

LAST_COMPILE
2024-11-05

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
scales::percent(1-356.6/439.2, acc = 0.01)
# [1] "18.81%"

Données

  • Comptes nationaux trimestriels au 3ème trimestre 2023. html / xls

  • Comptes nationaux trimestriels au 2ème trimestre 2023. html / xls

  • Comptes nationaux trimestriels au 4ème trimestre 2022. html / xls

  • Comptes nationaux trimestriels au 4ème trimestre 2021. html

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 302
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 302
B2_S14A Revenu mixte 302
B2_S14B Excédent brut d'exploitation des ménages purs 302
B6 Revenu disponible brut 302
B7 Revenu disponible brut ajusté 302
D11 Salaires et traitements bruts 302
D4 Intérêts et dividendes nets reçus 302
D5 Impôts sur le revenu et le patrimoine 302
D5 + D613 + D614 + D61SC NA 302
D613 + D614 + D61SC NA 302
D62 Prestations sociales en espèces 302
D63 Transferts sociaux en nature 302
D7 Autres ressources nettes 302

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 2024-04-01 % change change (Mds€)
D4 Intérêts et dividendes nets reçus 20.696 37.263 80.05 16.57
D7 Autres ressources nettes -2.857 -4.176 46.17 -1.32
B2_S14B Excédent brut d'exploitation des ménages purs 50.849 71.579 40.77 20.73
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 77.724 104.675 34.68 26.95
B6 Revenu disponible brut 346.045 462.610 33.68 116.56
B7 Revenu disponible brut ajusté 447.826 592.035 32.20 144.21
B2 + D11 + D4 + D62 + D7 Total des ressources 438.975 575.654 31.14 136.68
D11 Salaires et traitements bruts 219.549 281.472 28.20 61.92
D63 Transferts sociaux en nature 101.781 129.425 27.16 27.64
D62 Prestations sociales en espèces 123.864 156.420 26.28 32.56
D5 Impôts sur le revenu et le patrimoine 56.369 70.390 24.87 14.02
B2_S14A Revenu mixte 26.874 33.096 23.15 6.22
D5 + D613 + D614 + D61SC NA 92.930 113.044 21.64 20.11
D613 + D614 + D61SC NA 36.561 42.654 16.67 6.09

€ 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 2024-04-01 % change change (Mds€)
B7 Revenu disponible brut ajusté 447.826 592.035 32.20 144.21
B2 + D11 + D4 + D62 + D7 Total des ressources 438.975 575.654 31.14 136.68
B6 Revenu disponible brut 346.045 462.610 33.68 116.56
D11 Salaires et traitements bruts 219.549 281.472 28.20 61.92
D62 Prestations sociales en espèces 123.864 156.420 26.28 32.56
D63 Transferts sociaux en nature 101.781 129.425 27.16 27.64
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 77.724 104.675 34.68 26.95
B2_S14B Excédent brut d'exploitation des ménages purs 50.849 71.579 40.77 20.73
D5 + D613 + D614 + D61SC NA 92.930 113.044 21.64 20.11
D4 Intérêts et dividendes nets reçus 20.696 37.263 80.05 16.57
D5 Impôts sur le revenu et le patrimoine 56.369 70.390 24.87 14.02
B2_S14A Revenu mixte 26.874 33.096 23.15 6.22
D613 + D614 + D61SC NA 36.561 42.654 16.67 6.09
D7 Autres ressources nettes -2.857 -4.176 46.17 -1.32

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())

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 2021-04-01 2024-04-01 % change change (Mds€)
D4 Intérêts et dividendes nets reçus 26.048 37.263 43.06 11.21
B2_S14B Excédent brut d'exploitation des ménages purs 55.563 71.579 28.82 16.02
D613 + D614 + D61SC NA 34.456 42.654 23.79 8.20
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 85.447 104.675 22.50 19.23
B6 Revenu disponible brut 387.249 462.610 19.46 75.36
B2 + D11 + D4 + D62 + D7 Total des ressources 484.451 575.654 18.83 91.20
D11 Salaires et traitements bruts 236.958 281.472 18.79 44.51
B7 Revenu disponible brut ajusté 502.898 592.035 17.72 89.14
D5 + D613 + D614 + D61SC NA 97.202 113.044 16.30 15.84
D5 Impôts sur le revenu et le patrimoine 62.745 70.390 12.18 7.65
D63 Transferts sociaux en nature 115.648 129.425 11.91 13.78
D62 Prestations sociales en espèces 140.382 156.420 11.42 16.04
B2_S14A Revenu mixte 29.884 33.096 10.75 3.21
D7 Autres ressources nettes -4.384 -4.176 -4.74 0.21

€ 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 2021-04-01 2024-04-01 % change change (Mds€)
B2 + D11 + D4 + D62 + D7 Total des ressources 484.451 575.654 18.83 91.20
B7 Revenu disponible brut ajusté 502.898 592.035 17.72 89.14
B6 Revenu disponible brut 387.249 462.610 19.46 75.36
D11 Salaires et traitements bruts 236.958 281.472 18.79 44.51
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 85.447 104.675 22.50 19.23
D62 Prestations sociales en espèces 140.382 156.420 11.42 16.04
B2_S14B Excédent brut d'exploitation des ménages purs 55.563 71.579 28.82 16.02
D5 + D613 + D614 + D61SC NA 97.202 113.044 16.30 15.84
D63 Transferts sociaux en nature 115.648 129.425 11.91 13.78
D4 Intérêts et dividendes nets reçus 26.048 37.263 43.06 11.21
D613 + D614 + D61SC NA 34.456 42.654 23.79 8.20
D5 Impôts sur le revenu et le patrimoine 62.745 70.390 12.18 7.65
B2_S14A Revenu mixte 29.884 33.096 10.75 3.21
D7 Autres ressources nettes -4.384 -4.176 -4.74 0.21

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 2022-04-01 2024-04-01 % change change (Mds€)
D4 Intérêts et dividendes nets reçus 28.125 37.263 32.49 9.14
B2_S14B Excédent brut d'exploitation des ménages purs 56.241 71.579 27.27 15.34
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 86.683 104.675 20.76 17.99
B6 Revenu disponible brut 402.138 462.610 15.04 60.47
B7 Revenu disponible brut ajusté 520.917 592.035 13.65 71.12
B2 + D11 + D4 + D62 + D7 Total des ressources 507.557 575.654 13.42 68.10
D62 Prestations sociales en espèces 139.583 156.420 12.06 16.84
D613 + D614 + D61SC NA 38.099 42.654 11.96 4.56
D11 Salaires et traitements bruts 257.156 281.472 9.46 24.32
D63 Transferts sociaux en nature 118.779 129.425 8.96 10.65
B2_S14A Revenu mixte 30.442 33.096 8.72 2.65
D5 + D613 + D614 + D61SC NA 105.419 113.044 7.23 7.62
D7 Autres ressources nettes -3.990 -4.176 4.66 -0.19
D5 Impôts sur le revenu et le patrimoine 67.320 70.390 4.56 3.07

€ 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 2022-04-01 2024-04-01 % change change (Mds€)
B7 Revenu disponible brut ajusté 520.917 592.035 13.65 71.12
B2 + D11 + D4 + D62 + D7 Total des ressources 507.557 575.654 13.42 68.10
B6 Revenu disponible brut 402.138 462.610 15.04 60.47
D11 Salaires et traitements bruts 257.156 281.472 9.46 24.32
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 86.683 104.675 20.76 17.99
D62 Prestations sociales en espèces 139.583 156.420 12.06 16.84
B2_S14B Excédent brut d'exploitation des ménages purs 56.241 71.579 27.27 15.34
D63 Transferts sociaux en nature 118.779 129.425 8.96 10.65
D4 Intérêts et dividendes nets reçus 28.125 37.263 32.49 9.14
D5 + D613 + D614 + D61SC NA 105.419 113.044 7.23 7.62
D613 + D614 + D61SC NA 38.099 42.654 11.96 4.56
D5 Impôts sur le revenu et le patrimoine 67.320 70.390 4.56 3.07
B2_S14A Revenu mixte 30.442 33.096 8.72 2.65
D7 Autres ressources nettes -3.990 -4.176 4.66 -0.19

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 2023-04-01 2024-04-01 % change change (Mds€)
D4 Intérêts et dividendes nets reçus 33.763 37.263 10.37 3.50
B2_S14B Excédent brut d'exploitation des ménages purs 67.433 71.579 6.15 4.15
D62 Prestations sociales en espèces 147.717 156.420 5.89 8.70
D613 + D614 + D61SC NA 40.501 42.654 5.32 2.15
D7 Autres ressources nettes -3.973 -4.176 5.11 -0.20
B6 Revenu disponible brut 441.093 462.610 4.88 21.52
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 99.855 104.675 4.83 4.82
B2 + D11 + D4 + D62 + D7 Total des ressources 549.993 575.654 4.67 25.66
B7 Revenu disponible brut ajusté 565.765 592.035 4.64 26.27
D5 + D613 + D614 + D61SC NA 108.900 113.044 3.81 4.14
D63 Transferts sociaux en nature 124.672 129.425 3.81 4.75
D11 Salaires et traitements bruts 272.631 281.472 3.24 8.84
D5 Impôts sur le revenu et le patrimoine 68.399 70.390 2.91 1.99
B2_S14A Revenu mixte 32.422 33.096 2.08 0.67

€ 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 2023-04-01 2024-04-01 % change change (Mds€)
B7 Revenu disponible brut ajusté 565.765 592.035 4.64 26.27
B2 + D11 + D4 + D62 + D7 Total des ressources 549.993 575.654 4.67 25.66
B6 Revenu disponible brut 441.093 462.610 4.88 21.52
D11 Salaires et traitements bruts 272.631 281.472 3.24 8.84
D62 Prestations sociales en espèces 147.717 156.420 5.89 8.70
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 99.855 104.675 4.83 4.82
D63 Transferts sociaux en nature 124.672 129.425 3.81 4.75
B2_S14B Excédent brut d'exploitation des ménages purs 67.433 71.579 6.15 4.15
D5 + D613 + D614 + D61SC NA 108.900 113.044 3.81 4.14
D4 Intérêts et dividendes nets reçus 33.763 37.263 10.37 3.50
D613 + D614 + D61SC NA 40.501 42.654 5.32 2.15
D5 Impôts sur le revenu et le patrimoine 68.399 70.390 2.91 1.99
B2_S14A Revenu mixte 32.422 33.096 2.08 0.67
D7 Autres ressources nettes -3.973 -4.176 5.11 -0.20

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())