Produit intérieur brut (PIB) et ses composantes

Data - Insee

Info

source dataset .html .RData
insee CNA-2020-PIB 2024-12-09 2024-09-11

Informations

  • Base = un ensemble fixé de concepts, nomenclatures, et méthodes. (dans le vocabulaire de la Comptabilité Nationale Française (CNF))

  • Création de la CNF dans les années 1950.

  • Changements de base: 1956, 1959, 1962, 1971, 1980, 1995, 2000, 2005, 2010, 2014

  • Les comptes de la nation en 2022. html

Données sur la macroéconomie en France

source dataset .html .RData
bdf CFT 2024-12-22 2024-12-09
insee CNA-2014-CONSO-SI 2024-12-22 2024-12-22
insee CNA-2014-CSI 2024-12-22 2024-12-22
insee CNA-2014-FBCF-BRANCHE 2024-12-22 2024-12-22
insee CNA-2014-FBCF-SI 2024-06-07 2024-12-22
insee CNA-2014-RDB 2024-12-22 2024-12-22
insee CNA-2020-CONSO-MEN 2024-12-22 2024-09-12
insee CNA-2020-PIB 2024-12-09 2024-09-11
insee CNT-2014-CB 2024-12-22 2024-12-22
insee CNT-2014-CSI 2024-12-22 2024-12-22
insee CNT-2014-OPERATIONS 2024-12-16 2024-12-22
insee CNT-2014-PIB-EQB-RF 2024-12-22 2024-12-22
insee CONSO-MENAGES-2020 2024-11-22 2024-12-22
insee conso-mensuelle 2024-06-07 2023-07-04
insee ICA-2015-IND-CONS 2024-12-22 2024-12-22
insee t_1101 2024-11-22 2022-01-02
insee t_1102 2024-11-22 2020-10-30
insee t_1105 2024-11-22 2020-10-30

Données sur l’inflation en France

source dataset .html .RData
insee bdf2017 2024-12-22 2023-11-21
insee ILC-ILAT-ICC 2024-11-22 2024-12-22
insee INDICES_LOYERS 2024-11-22 2024-12-22
insee IPC-1970-1980 2024-11-22 2024-12-22
insee IPC-1990 2024-11-22 2024-12-22
insee IPC-2015 2024-12-22 2024-12-22
insee IPC-PM-2015 2024-12-22 2024-12-22
insee IPCH-2015 2024-12-22 2024-12-22
insee IPGD-2015 2024-12-22 2024-12-22
insee IPLA-IPLNA-2015 2024-11-22 2024-12-22
insee IPPI-2015 2024-12-22 2024-12-22
insee IRL 2024-11-22 2024-12-22
insee SERIES_LOYERS 2024-11-22 2024-12-22
insee T_CONSO_EFF_FONCTION 2024-11-22 2024-07-18

LAST_UPDATE

Code
`CNA-2020-PIB` %>%
  group_by(LAST_UPDATE) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
LAST_UPDATE Nobs
2024-06-21 1559

LAST_COMPILE

LAST_COMPILE
2024-12-22

Dernière

Code
`CNA-2020-PIB` %>%
  filter(TIME_PERIOD == max(TIME_PERIOD)) %>%
  select(TIME_PERIOD, TITLE_FR, OBS_VALUE) %>%
  print_table_conditional()
TIME_PERIOD TITLE_FR OBS_VALUE
2023 Comptes nationaux annuels base 2020 - Exportations de biens et de services - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 0.760
2023 Comptes nationaux annuels base 2020 - Produit intérieur brut - Evolution en volume - Prix chaîné année de base (non équilibré) 0.936
2023 Comptes nationaux annuels base 2020 - Dépense de consommation finale - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 0.624
2023 Comptes nationaux annuels base 2020 - Formation brute de capital fixe - Instituts sans but lucratif au service des ménages - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 0.008
2023 Comptes nationaux annuels base 2020 - Dépense de consommation finale - Instituts sans but lucratif au service des ménages - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 0.025
2023 Comptes nationaux annuels base 2020 - Produit intérieur brut par habitant - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Prix chaîné année de base (non équilibré) 37566.615
2023 Comptes nationaux annuels base 2020 - Formation brute de capital fixe - APU Administrations publiques - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 0.288
2023 Comptes nationaux annuels base 2020 - Formation brute de capital fixe - Sociétés et E.I. financières - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume -0.045
2023 Comptes nationaux annuels base 2020 - Formation brute de capital fixe - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 0.092
2023 Comptes nationaux annuels base 2020 - Formation brute de capital fixe - Ménages hors entrepreneurs individuels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume -0.494
2023 Comptes nationaux annuels base 2020 - Solde des échanges extérieurs de biens et services - Total des sect. institutionnels - Total des produits (nouvelle nomencl.) - Contribution à l'évolution du produit intérieur brut en volume 0.630
2023 Comptes nationaux annuels base 2020 - Dépense de consommation finale - Ménages hors entrepreneurs individuels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 0.427
2023 Comptes nationaux annuels base 2020 - Produit intérieur brut par habitant - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Prix courant 41331.942
2023 Comptes nationaux annuels base 2020 - Importations de biens et de services - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume -0.129
2023 Comptes nationaux annuels base 2020 - Variation des stocks - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume -0.413
2023 Comptes nationaux annuels base 2020 - Formation brute de capital fixe - Sociétés et E.I. non financières - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 0.336
2023 Comptes nationaux annuels base 2020 - Dépense de consommation finale - APU Administrations publiques - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 0.171
2023 Comptes nationaux annuels base 2020 - Acquisitions moins cessions d'objets de valeur - Total des secteurs institutionnels - Total des produits (nouvelle nomencl.) - Contribution à l'évolution du produit intérieur brut en volume 0.003
2023 Comptes nationaux annuels base 2020 - Produit intérieur brut approche produit - Total des secteurs institutionnels - Total des produits - Prix courant 2822455.000
2023 Comptes nationaux annuels base 2020 - Produit intérieur brut approche produit - Total des secteurs institutionnels - Total des produits - Prix chaîné année de base (non équilibré) 2565330.000
2023 Comptes nationaux annuels base 2020 - Produit intérieur brut approche produit - Total des secteurs institutionnels - Total des produits - Indice de prix chaîné année de base (non équilibré) 110.000

INDICATEUR

Code
`CNA-2020-PIB` %>%
  left_join(INDICATEUR,  by = "INDICATEUR") %>%
  group_by(INDICATEUR, Indicateur) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
INDICATEUR Indicateur Nobs
CNA_P51G P51G - Formation brute de capital fixe 444
CNA_PIB PIB - Produit intérieur brut 299
CNA_P3 P3 - Dépense de consommation finale 296
CNA_PIB_H Produit intérieur brut par habitant 150
CNA_B11 B11 - Solde extérieur des biens et services 74
CNA_P52 P52 - Variation de stocks 74
CNA_P53 P53 - Acquisitions moins cession d'objets de valeur 74
CNA_P6 P6 - Exportations de biens et services 74
CNA_P7 P7 - Importations de biens et services 74

OPERATION

Code
`CNA-2020-PIB` %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  group_by(OPERATION, Operation) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
OPERATION Operation Nobs
P51G P51G - Formation brute de capital fixe 444
PIB PIB - Produit intérieur brut 299
P3 P3 - Dépense de consommation finale 296
PIB_H Produit intérieur brut par habitant 150
B11 B11 - Solde extérieur des biens et services 74
P52 P52 - Variation de stocks 74
P53 P53 - Acquisitions moins cession d'objets de valeur 74
P6 P6 - Exportations de biens et services 74
P7 P7 - Importations de biens et services 74

SECT-INST

Code
`CNA-2020-PIB` %>%
  left_join(`SECT-INST`, by = "SECT-INST") %>%
  group_by(`SECT-INST`, `Sect-Inst`) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
SECT-INST Sect-Inst Nobs
S0 S0 - Ensemble des secteurs institutionnels 967
S13 S13 - Administrations publiques (APU) 148
S14B S14B - Ménages hors entrepreneurs individuels 148
S15 S15 - Institutions sans but lucratif au service des ménages 148
S11ES14AA S11ES14AA - Sociétés et entreprises individuelles non financières 74
S12ES14AF S12ES14AF - Sociétés et entreprises individuelles financières 74

NATURE

Code
`CNA-2020-PIB` %>%
  left_join(NATURE,  by = "NATURE") %>%
  group_by(NATURE, Nature) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
NATURE Nature Nobs
PROPORTION_POURCENTAGE Proportion en % 1184
VALEUR_ABSOLUE Valeur absolue 300
INDICE Indice 75

UNIT_MEASURE

Code
`CNA-2020-PIB` %>%
  group_by(UNIT_MEASURE) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional
UNIT_MEASURE Nobs
EUR2020 75
EUROS_COURANTS 75
EUROS_HABITANTS 150
POURCENT 74
SO 1185

Structure

IDBANK = OPERATION, NATURE, SECT-INST, UNIT_MEASURE

Code
`CNA-2020-PIB` %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  left_join(NATURE,  by = "NATURE") %>%
  group_by(OPERATION, NATURE, `SECT-INST`, UNIT_MEASURE) %>%
  summarise(Nobs = n()) %>%
  mutate_at(vars(-Nobs, -OPERATION), funs(as.factor(.))) %>%
  arrange(-Nobs) %>%
  print_table_conditional
OPERATION NATURE SECT-INST UNIT_MEASURE Nobs
PIB_H VALEUR_ABSOLUE S0 EUROS_HABITANTS 150
PIB INDICE S0 SO 75
PIB VALEUR_ABSOLUE S0 EUR2020 75
PIB VALEUR_ABSOLUE S0 EUROS_COURANTS 75
B11 PROPORTION_POURCENTAGE S0 SO 74
P3 PROPORTION_POURCENTAGE S0 SO 74
P3 PROPORTION_POURCENTAGE S13 SO 74
P3 PROPORTION_POURCENTAGE S14B SO 74
P3 PROPORTION_POURCENTAGE S15 SO 74
P51G PROPORTION_POURCENTAGE S0 SO 74
P51G PROPORTION_POURCENTAGE S11ES14AA SO 74
P51G PROPORTION_POURCENTAGE S12ES14AF SO 74
P51G PROPORTION_POURCENTAGE S13 SO 74
P51G PROPORTION_POURCENTAGE S14B SO 74
P51G PROPORTION_POURCENTAGE S15 SO 74
P52 PROPORTION_POURCENTAGE S0 SO 74
P53 PROPORTION_POURCENTAGE S0 SO 74
P6 PROPORTION_POURCENTAGE S0 SO 74
P7 PROPORTION_POURCENTAGE S0 SO 74
PIB PROPORTION_POURCENTAGE S0 POURCENT 74

OPERATION, NATURE

Code
`CNA-2020-PIB` %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  left_join(NATURE,  by = "NATURE") %>%
  group_by(OPERATION,NATURE, Nature) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
OPERATION NATURE Nature Nobs
P51G PROPORTION_POURCENTAGE Proportion en % 444
P3 PROPORTION_POURCENTAGE Proportion en % 296
PIB VALEUR_ABSOLUE Valeur absolue 150
PIB_H VALEUR_ABSOLUE Valeur absolue 150
PIB INDICE Indice 75
B11 PROPORTION_POURCENTAGE Proportion en % 74
P52 PROPORTION_POURCENTAGE Proportion en % 74
P53 PROPORTION_POURCENTAGE Proportion en % 74
P6 PROPORTION_POURCENTAGE Proportion en % 74
P7 PROPORTION_POURCENTAGE Proportion en % 74
PIB PROPORTION_POURCENTAGE Proportion en % 74

TITLE_FR

Code
`CNA-2020-PIB` %>%
  group_by(IDBANK, TITLE_FR) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
IDBANK TITLE_FR Nobs
011779990 Comptes nationaux annuels base 2020 - Produit intérieur brut approche produit - Total des secteurs institutionnels - Total des produits - Indice de prix chaîné année de base (non équilibré) 75
011779991 Comptes nationaux annuels base 2020 - Produit intérieur brut approche produit - Total des secteurs institutionnels - Total des produits - Prix chaîné année de base (non équilibré) 75
011779992 Comptes nationaux annuels base 2020 - Produit intérieur brut approche produit - Total des secteurs institutionnels - Total des produits - Prix courant 75
011779993 Comptes nationaux annuels base 2020 - Produit intérieur brut par habitant - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Prix chaîné année de base (non équilibré) 75
011779998 Comptes nationaux annuels base 2020 - Produit intérieur brut par habitant - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Prix courant 75
011779994 Comptes nationaux annuels base 2020 - Formation brute de capital fixe - Ménages hors entrepreneurs individuels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 74
011779995 Comptes nationaux annuels base 2020 - Produit intérieur brut - Evolution en volume - Prix chaîné année de base (non équilibré) 74
011779996 Comptes nationaux annuels base 2020 - Dépense de consommation finale - APU Administrations publiques - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 74
011779997 Comptes nationaux annuels base 2020 - Dépense de consommation finale - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 74
011779999 Comptes nationaux annuels base 2020 - Formation brute de capital fixe - APU Administrations publiques - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 74
011780000 Comptes nationaux annuels base 2020 - Importations de biens et de services - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 74
011780001 Comptes nationaux annuels base 2020 - Formation brute de capital fixe - Instituts sans but lucratif au service des ménages - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 74
011780002 Comptes nationaux annuels base 2020 - Solde des échanges extérieurs de biens et services - Total des sect. institutionnels - Total des produits (nouvelle nomencl.) - Contribution à l'évolution du produit intérieur brut en volume 74
011780003 Comptes nationaux annuels base 2020 - Variation des stocks - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 74
011780004 Comptes nationaux annuels base 2020 - Exportations de biens et de services - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 74
011780005 Comptes nationaux annuels base 2020 - Dépense de consommation finale - Ménages hors entrepreneurs individuels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 74
011780006 Comptes nationaux annuels base 2020 - Dépense de consommation finale - Instituts sans but lucratif au service des ménages - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 74
011780007 Comptes nationaux annuels base 2020 - Formation brute de capital fixe - Total des secteurs institutionnels - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 74
011780008 Comptes nationaux annuels base 2020 - Acquisitions moins cessions d'objets de valeur - Total des secteurs institutionnels - Total des produits (nouvelle nomencl.) - Contribution à l'évolution du produit intérieur brut en volume 74
011780009 Comptes nationaux annuels base 2020 - Formation brute de capital fixe - Sociétés et E.I. non financières - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 74
011780010 Comptes nationaux annuels base 2020 - Formation brute de capital fixe - Sociétés et E.I. financières - Total des produits (nouvelle nomenclature) - Contribution à l'évolution du produit intérieur brut en volume 74

Parts du PIB

PIB Courants and Constants

Tous

Code
`CNA-2020-PIB` %>%
  year_to_date %>%
  filter(OPERATION == "PIB",
         UNIT_MEASURE %in% c("EUR2020", "EUROS_COURANTS")) %>%
  select(date, UNIT_MEASURE, OBS_VALUE) %>%
  mutate(OBS_VALUE = OBS_VALUE %>% as.numeric,
         UNIT_MEASURE = paste0("PIB_", UNIT_MEASURE)) %>%
  spread(UNIT_MEASURE, OBS_VALUE) %>%
  print_table_conditional()

2017-

Code
`CNA-2020-PIB` %>%
  filter(as.numeric(TIME_PERIOD) >= 2017) %>%
  filter(OPERATION == "PIB",
         UNIT_MEASURE %in% c("EUR2020", "EUROS_COURANTS")) %>%
  select(TIME_PERIOD, UNIT_MEASURE, OBS_VALUE) %>%
  mutate(OBS_VALUE = OBS_VALUE %>% as.numeric,
         UNIT_MEASURE = paste0("PIB_", UNIT_MEASURE)) %>%
  spread(UNIT_MEASURE, OBS_VALUE) %>%
  print_table_conditional
TIME_PERIOD PIB_EUR2020 PIB_EUROS_COURANTS
2017 2415116 2291681
2018 2454866 2355363
2019 2504637 2432207
2020 2318276 2318276
2021 2477828 2508102
2022 2541529 2655435
2023 2565330 2822455

PIB Nominal en France

Français

Step 0

Code
`CNA-2020-PIB` %>%
  filter(OPERATION == "PIB", 
         UNIT_MEASURE == "EUROS_COURANTS") %>%
  select(TIME_PERIOD, `PIB Nominal` = OBS_VALUE) %>%
  year_to_date %>%
  mutate(year = year(date)) %>%
  filter(is.finite(`PIB Nominal`)) %>%
  group_by(date) %>%
  select(-year) %>%
  gather(variable, value, -date) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("PIB nominal de la France (en € courants)") +
  geom_line(aes(x = date, y = value/10^3, color = variable, linetype = variable)) + 
  scale_linetype_manual(values = c("solid", "solid", "dashed", "solid")) +
  theme(legend.title = element_blank(),
        legend.position = c(0.8, 0.2)) +
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(200, 3000, 200),
                labels = scales::dollar_format(a = 1, prefix = "", suffix = "Md€"))

PIB Réel en France

English

Code
fit <- `CNA-2020-PIB` %>%
  filter(OPERATION == "PIB", 
         UNIT_MEASURE == "EUR2020") %>%
  select(TIME_PERIOD, `Real GDP` = OBS_VALUE) %>%
  year_to_date %>%
  mutate(year = year(date)) %>%
  filter(is.finite(`Real GDP`))  %>%
  filter(year <= 1971) %>%
  lm(log(`Real GDP`) ~ year, data = .) %>%
  pluck("coefficients")


fit_2019 <- `CNA-2020-PIB` %>%
  filter(OPERATION == "PIB", 
         UNIT_MEASURE == "EUR2020") %>%
  select(TIME_PERIOD, `Real GDP` = OBS_VALUE) %>%
  year_to_date %>%
  mutate(year = year(date)) %>%
  filter(is.finite(`Real GDP`)) %>%
  lm(log(`Real GDP`) ~ year, data = .) %>%
  pluck("coefficients")

fit
# (Intercept)        year 
# -87.4994240   0.0513393
Code
fit_2019
#  (Intercept)         year 
# -43.34541562   0.02886441
Code
`CNA-2020-PIB` %>%
  filter(OPERATION == "PIB", 
         UNIT_MEASURE == "EUR2020") %>%
  select(TIME_PERIOD, `Real GDP` = OBS_VALUE) %>%
  year_to_date %>%
  mutate(year = year(date)) %>%
  filter(is.finite(`Real GDP`)) %>%
  mutate(`Trend to 2024 (g = 2.9%)` = lm(log(`Real GDP`) ~ year) %>% fitted %>% exp,
         `Trend to 1971, extrapolated` = ifelse(year>=1971, 
                                                (fit[1]+fit[2]*year) %>% exp, 
                                                NA),
         `Trend to 1971 (g = 5.1%)` = ifelse(year<=1971, 
                                             (fit[1]+fit[2]*year) %>% exp, 
                                             NA)) %>%
  group_by(date) %>%
  select(-year) %>%
  gather(variable, value, -date) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("France's GDP") +
  geom_line(aes(x = date, y = value/10^6, color = variable, linetype = variable)) + 
  scale_color_manual(values = viridis(4)[c(3, 1, 1, 2)]) +
  scale_linetype_manual(values = c("solid", "solid", "dashed", "solid")) +
  theme(legend.title = element_blank(),
        legend.position = c(0.8, 0.2)) +
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = 20*2^seq(-7, 1, 1),
                labels = scales::dollar_format(a = .1, prefix = "", suffix = "Tn€"))

Français

Step 0

Linéaire

Code
plot_lineaire <- `CNA-2020-PIB` %>%
  filter(OPERATION %in% c("PIB", "P3"), 
         UNIT_MEASURE == "EUR2020") %>%
  left_join(OPERATION, by = "OPERATION") %>%
  year_to_date %>%
  mutate(year = year(date)) %>%
  group_by(date) %>%
  select(-year) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("PIB réel de la France (en € 2020)") +
  geom_line(aes(x = date, y = OBS_VALUE/10^3, color = Operation)) + 
  scale_linetype_manual(values = c("solid", "solid", "dashed", "solid")) +
  theme(legend.title = element_blank(),
        legend.position = c(0.8, 0.2)) +
  scale_x_date(breaks = seq(1920, 2100, 10) %>% paste0("-01-01") %>% as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(200, 3000, 200),
                labels = scales::dollar_format(a = 1, prefix = "", suffix = "Md€"))

plot_lineaire

Log

Code
plot_log <- plot_lineaire+
  scale_y_log10(breaks = 20000*2^seq(-7, 1, 0.5),
                labels = scales::dollar_format(a = 1, prefix = "", suffix = "Md€"))

plot_log

Both

Code
ggarrange(plot_lineaire, plot_log + ylab(""), common.legend = T)

Step 2

Code
`CNA-2020-PIB` %>%
  filter(OPERATION == "PIB", 
         UNIT_MEASURE == "EUR2020") %>%
  select(TIME_PERIOD, `PIB Réel` = OBS_VALUE) %>%
  year_to_date %>%
  mutate(year = year(date)) %>%
  filter(is.finite(`PIB Réel`)) %>%
  mutate(`Tendance jusque 2024 (g = 2.9%)` = lm(log(`PIB Réel`) ~ year) %>% fitted %>% exp) %>%
  group_by(date) %>%
  select(-year) %>%
  gather(variable, value, -date) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("PIB réel de la France (en € 2020)") +
  geom_line(aes(x = date, y = value/10^3, color = variable, linetype = variable)) + 
  scale_linetype_manual(values = c("solid", "solid", "dashed", "solid")) +
  theme(legend.title = element_blank(),
        legend.position = c(0.8, 0.2)) +
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = 20000*2^seq(-7, 1, 1),
                labels = scales::dollar_format(a = 1, prefix = "", suffix = "Md€"))

Step 3

Code
`CNA-2020-PIB` %>%
  filter(OPERATION == "PIB", 
         UNIT_MEASURE == "EUR2020") %>%
  select(TIME_PERIOD, `PIB Réel` = OBS_VALUE) %>%
  year_to_date %>%
  mutate(year = year(date)) %>%
  filter(is.finite(`PIB Réel`)) %>%
  mutate(`Tendance jusque 1971, extrapolée` = ifelse(year>=1971, 
                                                (fit[1]+fit[2]*year) %>% exp, 
                                                NA),
         `Tendance jusque 1971 (g = 5.1%)` = ifelse(year<=1971, 
                                             (fit[1]+fit[2]*year) %>% exp, 
                                             NA)) %>%
  group_by(date) %>%
  select(-year) %>%
  gather(variable, value, -date) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("PIB réel de la France (en € 2020)") +
  geom_line(aes(x = date, y = value/10^3, color = variable, linetype = variable)) + 
  scale_linetype_manual(values = c("solid", "solid", "dashed", "solid")) +
  theme(legend.title = element_blank(),
        legend.position = c(0.8, 0.2)) +
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = 20000*2^seq(-7, 1, 1),
                labels = scales::dollar_format(a = 1, prefix = "", suffix = "Md€"))

Step 4

Code
`CNA-2020-PIB` %>%
  filter(OPERATION == "PIB", 
         UNIT_MEASURE == "EUR2020") %>%
  select(TIME_PERIOD, `PIB Réel` = OBS_VALUE) %>%
  year_to_date %>%
  mutate(year = year(date)) %>%
  filter(is.finite(`PIB Réel`)) %>%
  mutate(`Tendance jusque 2024 (g = 2.9%)` = lm(log(`PIB Réel`) ~ year) %>% fitted %>% exp,
         `Tendance jusque 1971, extrapolée` = ifelse(year>=1971, 
                                                (fit[1]+fit[2]*year) %>% exp, 
                                                NA),
         `Tendance jusque 1971 (g = 5.1%)` = ifelse(year<=1971, 
                                             (fit[1]+fit[2]*year) %>% exp, 
                                             NA)) %>%
  group_by(date) %>%
  select(-year) %>%
  gather(variable, value, -date) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("PIB réel de la France (en € 2020)") +
  geom_line(aes(x = date, y = value/10^3, color = variable, linetype = variable)) + 
  scale_linetype_manual(values = c("solid", "solid", "dashed", "solid")) +
  theme(legend.title = element_blank(),
        legend.position = c(0.8, 0.2)) +
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = 20000*2^seq(-7, 1, 1),
                labels = scales::dollar_format(a = 1, prefix = "", suffix = "Md€"))

Contributions à la croissance du PIB

Consumption, FBCF, PIB

Code
`CNA-2020-PIB` %>%
  filter(OPERATION %in% c("P3", "P51G"), 
         NATURE == "PROPORTION_POURCENTAGE",
         `SECT-INST` == "S0") %>%
  year_to_date %>%
  select(OPERATION, OBS_VALUE, date) %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Contribution à la croissance du PIB") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = Operation)) + 
  
  theme(legend.title = element_blank(),
        legend.position = c(0.7, 0.9)) +
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-200, 200, 1),
                     labels = scales::percent_format(accuracy = 1)) +
  geom_hline(yintercept = 0, linetype = "dashed")

Exportations, Importations - P6, P7 (%)

Code
`CNA-2020-PIB` %>%
  filter(OPERATION %in% c("P6", "P7"), 
         NATURE == "PROPORTION_POURCENTAGE",
         `SECT-INST` == "S0") %>%
  year_to_date %>%
  select(OPERATION, OBS_VALUE, date) %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = Operation)) + 
  
  theme(legend.title = element_blank(),
        legend.position = c(0.8, 0.2)) +
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-200, 200, 1),
                     labels = scales::percent_format(accuracy = 1)) +
  geom_hline(yintercept = 0, linetype = "dashed")

Solde Net P6-P7

Code
`CNA-2020-PIB` %>%
  filter(OPERATION %in% c("B11", "P6", "P7"), 
         NATURE == "PROPORTION_POURCENTAGE",
         `SECT-INST` == "S0") %>%
  year_to_date %>%
  select(OPERATION, OBS_VALUE, date) %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = Operation)) + 
  
  theme(legend.title = element_blank(),
        legend.position = c(0.7, 0.2)) +
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-200, 200, 1),
                     labels = scales::percent_format(accuracy = 1)) +
  geom_hline(yintercept = 0, linetype = "dashed")