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-12-22 2024-12-21

Données sur le pouvoir d’achat

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

Données sur l’épargne

source dataset .html .RData
bdf CFT 2024-12-22 2024-12-09
insee bdf2017 2024-12-22 2023-11-21
insee ip1815 2024-12-22 2023-10-05
insee T_7401 2024-12-22 2024-10-18
insee t_men_val 2024-12-22 2024-12-21
insee t_pouvachat_val 2024-12-22 2024-12-21
insee t_recapAgent_val 2024-12-21 2024-12-21

LAST_COMPILE

LAST_COMPILE
2024-12-22

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

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-07-01 % change change (Mds€)
D4 Intérêts et dividendes nets reçus 20.693 37.003 78.82 16.31
D7 Autres ressources nettes -2.857 -4.013 40.46 -1.16
B2_S14B Excédent brut d'exploitation des ménages purs 50.836 69.078 35.88 18.24
B6 Revenu disponible brut 345.970 464.802 34.35 118.83
B7 Revenu disponible brut ajusté 447.759 596.317 33.18 148.56
B2 + D11 + D4 + D62 + D7 Total des ressources 438.949 578.072 31.69 139.12
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 77.708 102.214 31.54 24.51
D11 Salaires et traitements bruts 219.552 284.245 29.47 64.69
D63 Transferts sociaux en nature 101.790 131.515 29.20 29.72
D62 Prestations sociales en espèces 123.853 158.623 28.07 34.77
D5 Impôts sur le revenu et le patrimoine 56.416 69.834 23.78 13.42
B2_S14A Revenu mixte 26.872 33.137 23.31 6.27
D5 + D613 + D614 + D61SC NA 92.980 113.270 21.82 20.29
D613 + D614 + D61SC NA 36.563 43.435 18.79 6.87

€ 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-07-01 % change change (Mds€)
B7 Revenu disponible brut ajusté 447.759 596.317 33.18 148.56
B2 + D11 + D4 + D62 + D7 Total des ressources 438.949 578.072 31.69 139.12
B6 Revenu disponible brut 345.970 464.802 34.35 118.83
D11 Salaires et traitements bruts 219.552 284.245 29.47 64.69
D62 Prestations sociales en espèces 123.853 158.623 28.07 34.77
D63 Transferts sociaux en nature 101.790 131.515 29.20 29.72
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 77.708 102.214 31.54 24.51
D5 + D613 + D614 + D61SC NA 92.980 113.270 21.82 20.29
B2_S14B Excédent brut d'exploitation des ménages purs 50.836 69.078 35.88 18.24
D4 Intérêts et dividendes nets reçus 20.693 37.003 78.82 16.31
D5 Impôts sur le revenu et le patrimoine 56.416 69.834 23.78 13.42
D613 + D614 + D61SC NA 36.563 43.435 18.79 6.87
B2_S14A Revenu mixte 26.872 33.137 23.31 6.27
D7 Autres ressources nettes -2.857 -4.013 40.46 -1.16

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-07-01 2024-07-01 % change change (Mds€)
D4 Intérêts et dividendes nets reçus 26.730 37.003 38.43 10.27
B2_S14B Excédent brut d'exploitation des ménages purs 55.197 69.078 25.15 13.88
D613 + D614 + D61SC NA 35.657 43.435 21.81 7.78
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 84.517 102.214 20.94 17.70
B6 Revenu disponible brut 393.287 464.802 18.18 71.52
B2 + D11 + D4 + D62 + D7 Total des ressources 490.191 578.072 17.93 87.88
D5 + D613 + D614 + D61SC NA 96.903 113.270 16.89 16.37
B7 Revenu disponible brut ajusté 510.450 596.317 16.82 85.87
D62 Prestations sociales en espèces 137.039 158.623 15.75 21.58
D11 Salaires et traitements bruts 246.322 284.245 15.40 37.92
D5 Impôts sur le revenu et le patrimoine 61.246 69.834 14.02 8.59
B2_S14A Revenu mixte 29.320 33.137 13.02 3.82
D63 Transferts sociaux en nature 117.162 131.515 12.25 14.35
D7 Autres ressources nettes -4.416 -4.013 -9.13 0.40

€ 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-07-01 2024-07-01 % change change (Mds€)
B2 + D11 + D4 + D62 + D7 Total des ressources 490.191 578.072 17.93 87.88
B7 Revenu disponible brut ajusté 510.450 596.317 16.82 85.87
B6 Revenu disponible brut 393.287 464.802 18.18 71.52
D11 Salaires et traitements bruts 246.322 284.245 15.40 37.92
D62 Prestations sociales en espèces 137.039 158.623 15.75 21.58
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 84.517 102.214 20.94 17.70
D5 + D613 + D614 + D61SC NA 96.903 113.270 16.89 16.37
D63 Transferts sociaux en nature 117.162 131.515 12.25 14.35
B2_S14B Excédent brut d'exploitation des ménages purs 55.197 69.078 25.15 13.88
D4 Intérêts et dividendes nets reçus 26.730 37.003 38.43 10.27
D5 Impôts sur le revenu et le patrimoine 61.246 69.834 14.02 8.59
D613 + D614 + D61SC NA 35.657 43.435 21.81 7.78
B2_S14A Revenu mixte 29.320 33.137 13.02 3.82
D7 Autres ressources nettes -4.416 -4.013 -9.13 0.40

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-07-01 2024-07-01 % change change (Mds€)
D4 Intérêts et dividendes nets reçus 29.021 37.003 27.50 7.98
B2_S14B Excédent brut d'exploitation des ménages purs 57.873 69.078 19.36 11.21
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 89.441 102.214 14.28 12.77
B6 Revenu disponible brut 414.745 464.802 12.07 50.06
D613 + D614 + D61SC NA 38.893 43.435 11.68 4.54
B7 Revenu disponible brut ajusté 536.376 596.317 11.18 59.94
B2 + D11 + D4 + D62 + D7 Total des ressources 521.793 578.072 10.79 56.28
D62 Prestations sociales en espèces 144.154 158.623 10.04 14.47
D63 Transferts sociaux en nature 121.631 131.515 8.13 9.88
D11 Salaires et traitements bruts 263.086 284.245 8.04 21.16
D5 + D613 + D614 + D61SC NA 107.047 113.270 5.81 6.22
B2_S14A Revenu mixte 31.569 33.137 4.97 1.57
D7 Autres ressources nettes -3.910 -4.013 2.63 -0.10
D5 Impôts sur le revenu et le patrimoine 68.154 69.834 2.47 1.68

€ 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-07-01 2024-07-01 % change change (Mds€)
B7 Revenu disponible brut ajusté 536.376 596.317 11.18 59.94
B2 + D11 + D4 + D62 + D7 Total des ressources 521.793 578.072 10.79 56.28
B6 Revenu disponible brut 414.745 464.802 12.07 50.06
D11 Salaires et traitements bruts 263.086 284.245 8.04 21.16
D62 Prestations sociales en espèces 144.154 158.623 10.04 14.47
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 89.441 102.214 14.28 12.77
B2_S14B Excédent brut d'exploitation des ménages purs 57.873 69.078 19.36 11.21
D63 Transferts sociaux en nature 121.631 131.515 8.13 9.88
D4 Intérêts et dividendes nets reçus 29.021 37.003 27.50 7.98
D5 + D613 + D614 + D61SC NA 107.047 113.270 5.81 6.22
D613 + D614 + D61SC NA 38.893 43.435 11.68 4.54
D5 Impôts sur le revenu et le patrimoine 68.154 69.834 2.47 1.68
B2_S14A Revenu mixte 31.569 33.137 4.97 1.57
D7 Autres ressources nettes -3.910 -4.013 2.63 -0.10

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-07-01 2024-07-01 % change change (Mds€)
D62 Prestations sociales en espèces 148.870 158.623 6.55 9.75
D613 + D614 + D61SC NA 41.016 43.435 5.90 2.42
D4 Intérêts et dividendes nets reçus 34.971 37.003 5.81 2.03
D63 Transferts sociaux en nature 126.377 131.515 4.07 5.14
B7 Revenu disponible brut ajusté 573.163 596.317 4.04 23.15
B6 Revenu disponible brut 446.786 464.802 4.03 18.02
B2 + D11 + D4 + D62 + D7 Total des ressources 556.173 578.072 3.94 21.90
D5 + D613 + D614 + D61SC NA 109.387 113.270 3.55 3.88
D11 Salaires et traitements bruts 274.948 284.245 3.38 9.30
D5 Impôts sur le revenu et le patrimoine 68.371 69.834 2.14 1.46
B2_S14A Revenu mixte 32.721 33.137 1.27 0.42
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 101.403 102.214 0.80 0.81
B2_S14B Excédent brut d'exploitation des ménages purs 68.683 69.078 0.58 0.39
D7 Autres ressources nettes -4.020 -4.013 -0.17 0.01

€ 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-07-01 2024-07-01 % change change (Mds€)
B7 Revenu disponible brut ajusté 573.163 596.317 4.04 23.15
B2 + D11 + D4 + D62 + D7 Total des ressources 556.173 578.072 3.94 21.90
B6 Revenu disponible brut 446.786 464.802 4.03 18.02
D62 Prestations sociales en espèces 148.870 158.623 6.55 9.75
D11 Salaires et traitements bruts 274.948 284.245 3.38 9.30
D63 Transferts sociaux en nature 126.377 131.515 4.07 5.14
D5 + D613 + D614 + D61SC NA 109.387 113.270 3.55 3.88
D613 + D614 + D61SC NA 41.016 43.435 5.90 2.42
D4 Intérêts et dividendes nets reçus 34.971 37.003 5.81 2.03
D5 Impôts sur le revenu et le patrimoine 68.371 69.834 2.14 1.46
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 101.403 102.214 0.80 0.81
B2_S14A Revenu mixte 32.721 33.137 1.27 0.42
B2_S14B Excédent brut d'exploitation des ménages purs 68.683 69.078 0.58 0.39
D7 Autres ressources nettes -4.020 -4.013 -0.17 0.01

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