Équilibre du produit intérieur brut

Data - Insee

Info

source dataset .html .RData
insee CNT-2014-PIB-EQB-RF 2024-10-29 2024-11-05

Info

  • Méthodologie des comptes trimestriels, Base 2005. Insee Méthodes n° 126 - mai 2012. html / pdf

Données sur la macroéconomie en France

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

LAST_UPDATE

Code
`CNT-2014-PIB-EQB-RF` %>%
  group_by(LAST_UPDATE) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(LAST_UPDATE)) %>%
  print_table_conditional()
LAST_UPDATE Nobs
2024-04-30 20236

LAST_COMPILE

LAST_COMPILE
2024-11-05

Last

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(TIME_PERIOD == max(TIME_PERIOD)) %>%
  select(TIME_PERIOD, TITLE_FR, OBS_VALUE) %>%
  print_table_conditional()

Nobs

Code
`CNT-2014-PIB-EQB-RF` %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  group_by(OPERATION, Operation, CNA_PRODUIT) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

TITLE_FR

Code
`CNT-2014-PIB-EQB-RF` %>%
  group_by(IDBANK, TITLE_FR) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

VALORISATION

Code
`CNT-2014-PIB-EQB-RF` %>%
  left_join(VALORISATION,  by = "VALORISATION") %>%
  group_by(VALORISATION, Valorisation) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
VALORISATION Valorisation Nobs
L Volumes aux prix de l'année précédente chaînés 10911
V Valeurs aux prix courants 7525
SO Sans objet 1800

OPERATION

All

Code
`CNT-2014-PIB-EQB-RF` %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  group_by(OPERATION, Operation) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
OPERATION Operation Nobs
P3 P3 - Dépense de consommation finale 2408
PIB PIB - Produit intérieur brut 978
DINTF Demande intérieure totale finale 903
DINTFHS Demande intérieure totale finale hors stocks 903
P31 P31 - Dépense de consommation finale individuelle 903
P32 P32 - Dépense de consommation finale collective 903
P4 P4 - Consommation finale effective 903
P51 P51 - Formation brute de capital fixe 903
P51B P51B - FBCF des entreprises financières (y compris entreprises individuelles) 903
P51G P51G - Formation brute de capital fixe 903
P51M P51M - FBCF des ménages (hors entreprises individuelles) 903
P51P P51P - FBCF des ISBLSM 903
P51S P51S - FBCF des entreprises non financières (y compris entreprises individuelles) 903
P6 P6 - Exportations de biens et services 903
P7 P7 - Importations de biens et services 903
P52 P52 - Variation de stocks 602
P54 P54 - Stocks et acquisitions moins cession d'objets de valeur 602
SOLDE SOLDE - Solde extérieur total 602
D211 D211 - Impôts de type 'Taxe à la Valeur Ajoutée' (TVA) 301
D212 D212 - Impôts sur les importations autres que la taxe à la valeur ajoutée 301
D214 D214 - Autres impôts sur les produits 301
D319 D319 - Autres subventions sur les produits 301
P53 P53 - Acquisitions moins cession d'objets de valeur 301
D11 D11 - Salaires et traitements bruts 300
D121 D121 - Cotisations sociales effectives à la charge des employeurs 300
D122 D122 - Cotisations sociales imputées à la charge des employeurs 300
D291 D291 - Impôts sur les salaires et la main-d'oeuvre 300
D292 D292 - Impôts divers sur la production 300
D39 D39 - Subventions d'exploitation 300

Volume

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "L",
         NATURE == "VALEUR_ABSOLUE",
         `SECT-INST` == "SO") %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  group_by(OPERATION, Operation) %>%
  summarise(Nobs = n(),
            Last = last(OBS_VALUE)) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
OPERATION Operation Nobs Last
DINTF Demande intérieure totale finale 301 68028
DINTFHS Demande intérieure totale finale hors stocks 301 66093
P3 P3 - Dépense de consommation finale 301 NaN
P31 P31 - Dépense de consommation finale individuelle 301 8150
P32 P32 - Dépense de consommation finale collective 301 8718
P4 P4 - Consommation finale effective 301 54746
P52 P52 - Variation de stocks 301 NaN
P6 P6 - Exportations de biens et services 301 3612
P7 P7 - Importations de biens et services 301 3846
PIB PIB - Produit intérieur brut 301 66592

Valeur

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         NATURE == "VALEUR_ABSOLUE",
         `SECT-INST` == "SO") %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  group_by(OPERATION, Operation) %>%
  summarise(Nobs = n(),
            Last = last(OBS_VALUE)) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
OPERATION Operation Nobs Last
D211 D211 - Impôts de type 'Taxe à la Valeur Ajoutée' (TVA) 301 231
D212 D212 - Impôts sur les importations autres que la taxe à la valeur ajoutée 301 5
D214 D214 - Autres impôts sur les produits 301 155
D319 D319 - Autres subventions sur les produits 301 -28
DINTF Demande intérieure totale finale 301 3185
DINTFHS Demande intérieure totale finale hors stocks 301 3062
P3 P3 - Dépense de consommation finale 301 NaN
P31 P31 - Dépense de consommation finale individuelle 301 247
P32 P32 - Dépense de consommation finale collective 301 230
P4 P4 - Consommation finale effective 301 2449
P52 P52 - Variation de stocks 301 121
P53 P53 - Acquisitions moins cession d'objets de valeur 301 2
P54 P54 - Stocks et acquisitions moins cession d'objets de valeur 301 123
P6 P6 - Exportations de biens et services 301 437
P7 P7 - Importations de biens et services 301 420
PIB PIB - Produit intérieur brut 301 3201
SOLDE SOLDE - Solde extérieur total 301 17

NATURE

Code
`CNT-2014-PIB-EQB-RF` %>%
  left_join(NATURE, by = "NATURE") %>%
  group_by(NATURE, Nature) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
NATURE Nature Nobs
VALEUR_ABSOLUE Valeur absolue 14743
RATIO Ratio 5117
TAUX Taux 376

FREQ

Code
`CNT-2014-PIB-EQB-RF` %>%
  left_join(FREQ, by = "FREQ") %>%
  group_by(FREQ, Freq) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
FREQ Freq Nobs
T NA 20161
A Annual 75

UNIT_MEASURE

Code
`CNT-2014-PIB-EQB-RF` %>%
  group_by(UNIT_MEASURE) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
UNIT_MEASURE Nobs
EUROS 14442
POURCENT 376
SO 5418

CNA_PRODUIT

Code
`CNT-2014-PIB-EQB-RF` %>%
  left_join(CNA_PRODUIT, by = "CNA_PRODUIT") %>%
  group_by(CNA_PRODUIT, Cna_produit) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
CNA_PRODUIT Cna_produit Nobs
D-CNT Ensemble des biens et services 11733
SO Sans objet 8503

TIME_PERIOD

Code
`CNT-2014-PIB-EQB-RF` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  print_table_conditional()

Last - 2022-Q1

Tous

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(TIME_PERIOD == "2022-Q1") %>%
  select_if(~ n_distinct(.) > 1) %>%
  select(-IDBANK, -TITLE_EN) %>%
  arrange(-OBS_VALUE) %>%
  print_table_conditional

% du PIB

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         TIME_PERIOD == "2022-Q1") %>%
  select_if(~ n_distinct(.) > 1) %>%
  select(-IDBANK, -TITLE_EN) %>%
  arrange(-OBS_VALUE) %>%
  mutate(`% of GDP` = round(100*OBS_VALUE/OBS_VALUE[OPERATION == "PIB"], 1)) %>%
  print_table_conditional
OPERATION SECT-INST CNA_PRODUIT TITLE_FR OBS_VALUE OBS_REV % of GDP
DINTF SO SO Demande intérieure totale finale - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 664069 1 103.0
DINTFHS SO SO Demande intérieure totale finale hors stocks - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 656929 1 101.9
PIB SO SO Produit intérieur brut total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 644543 1 100.0
P4 SO D-CNT Dépenses de consommation totales - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 497031 1 77.1
P3 S14 D-CNT Dépenses de consommation des ménages - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 326685 1 50.7
P7 SO D-CNT Importations - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 236170 1 36.6
P6 SO D-CNT Exportations - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 216644 1 33.6
P51 S0 D-CNT FBCF de l'ensemble des secteurs institutionnels - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 159898 1 24.8
P3 SO SO Dépenses de consommation des APU - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 156513 1 24.3
P31 SO D-CNT Dépenses de consommation individualisable des APU - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 103457 1 16.1
P51S S11 D-CNT Investissement des entreprises non financières - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 88982 1 13.8
P32 SO D-CNT Dépenses de consommation collective des APU - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 53056 1 8.2
D211 SO D-CNT TVA - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 48828 1 7.6
P51M S14 D-CNT FBCF des ménages - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 38523 1 6.0
D214 SO D-CNT Autres impôts sur les produits - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 29146 1 4.5
P51G S13 D-CNT FBCF des administrations publiques - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 23749 1 3.7
P3 S15 D-CNT Dépenses de consommation des ISBLSM - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 13833 NA 2.1
P51B S12 D-CNT FBCF des sociétés financières - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 7292 1 1.1
P54 SO D-CNT Stocks et acquisitions moins cessions d'objets de valeur - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 7139 1 1.1
P52 SO D-CNT Variation des stocks - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 6789 1 1.1
P51P S15 D-CNT FBCF des ISBLSM - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 1352 NA 0.2
D212 SO D-CNT Impôts sur importations - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 915 1 0.1
P53 SO D-CNT Acquisitions moins cessions d'objets de valeur - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée 351 NA 0.1
D319 SO D-CNT Subventions - Total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée -7753 NA -1.2
SOLDE SO SO Solde extérieur total - Valeur aux prix courants - Série CVS-CJO - Série arrêtée -19526 1 -3.0

Deflators

All

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "P3", "P4"),
         VALORISATION %in% c("V", "L"),
         NATURE == "VALEUR_ABSOLUE") %>%
  select_if(~ n_distinct(.) > 1) %>%
  select(-IDBANK, -TITLE_EN) %>%
  rowwise() %>%
  mutate(date = TIME_PERIOD_to_date(TIME_PERIOD)) %>%
  arrange(desc(date)) %>%
  group_by(OPERATION, `SECT-INST`, date) %>%
  summarise(deflator = 100*OBS_VALUE[VALORISATION == "V"]/OBS_VALUE[VALORISATION == "L"]) %>%
  ungroup %>%
  left_join(OPERATION, by = "OPERATION") %>%
  left_join(`SECT-INST`, by = "SECT-INST") %>%
  mutate(variable = paste0(OPERATION, " - ", `Sect-Inst`)) %>%
  ggplot + geom_line(aes(x = date, y = deflator, color = variable)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10() +
  theme(legend.position = c(0.5, 0.8),
        legend.title = element_blank())

2014-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "P3", "P4"),
         VALORISATION %in% c("V", "L"),
         NATURE == "VALEUR_ABSOLUE") %>%
  select_if(~ n_distinct(.) > 1) %>%
  select(-IDBANK, -TITLE_EN) %>%
  rowwise() %>%
  mutate(date = TIME_PERIOD_to_date(TIME_PERIOD)) %>%
  arrange(desc(date)) %>%
  group_by(OPERATION, `SECT-INST`, date) %>%
  summarise(deflator = 100*OBS_VALUE[VALORISATION == "V"]/OBS_VALUE[VALORISATION == "L"]) %>%
  ungroup %>%
  left_join(OPERATION, by = "OPERATION") %>%
  left_join(`SECT-INST`, by = "SECT-INST") %>%
  filter(date >= as.Date("2014-01-01")) %>%
  mutate(variable = paste0(OPERATION, " - ", `Sect-Inst`)) %>%
  ggplot + geom_line(aes(x = date, y = deflator, color = variable)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10() +
  theme(legend.position = c(0.5, 0.8),
        legend.title = element_blank())

2019-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "P3", "P4"),
         VALORISATION %in% c("V", "L"),
         NATURE == "VALEUR_ABSOLUE") %>%
  select_if(~ n_distinct(.) > 1) %>%
  select(-IDBANK, -TITLE_EN) %>%
  rowwise() %>%
  mutate(date = TIME_PERIOD_to_date(TIME_PERIOD)) %>%
  arrange(desc(date)) %>%
  group_by(OPERATION, `SECT-INST`, date) %>%
  summarise(deflator = 100*OBS_VALUE[VALORISATION == "V"]/OBS_VALUE[VALORISATION == "L"]) %>%
  ungroup %>%
  left_join(OPERATION, by = "OPERATION") %>%
  left_join(`SECT-INST`, by = "SECT-INST") %>%
  filter(date >= as.Date("2019-01-01")) %>%
  mutate(variable = paste0(OPERATION, " - ", `Sect-Inst`)) %>%
  ggplot + geom_line(aes(x = date, y = deflator, color = variable)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10() +
  theme(legend.position = c(0.5, 0.8),
        legend.title = element_blank())

2020-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "P3", "P4"),
         VALORISATION %in% c("V", "L"),
         NATURE == "VALEUR_ABSOLUE") %>%
  select_if(~ n_distinct(.) > 1) %>%
  select(-IDBANK, -TITLE_EN) %>%
  rowwise() %>%
  mutate(date = TIME_PERIOD_to_date(TIME_PERIOD)) %>%
  arrange(desc(date)) %>%
  group_by(OPERATION, `SECT-INST`, date) %>%
  summarise(deflator = 100*OBS_VALUE[VALORISATION == "V"]/OBS_VALUE[VALORISATION == "L"]) %>%
  ungroup %>%
  left_join(OPERATION, by = "OPERATION") %>%
  left_join(`SECT-INST`, by = "SECT-INST") %>%
  filter(date >= as.Date("2020-01-01")) %>%
  mutate(variable = paste0(OPERATION, " - ", `Sect-Inst`)) %>%
  ggplot + geom_line(aes(x = date, y = deflator, color = variable)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10() +
  theme(legend.position = c(0.5, 0.8),
        legend.title = element_blank())

2021-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "P3", "P4"),
         VALORISATION %in% c("V", "L"),
         NATURE == "VALEUR_ABSOLUE") %>%
  select_if(~ n_distinct(.) > 1) %>%
  select(-IDBANK, -TITLE_EN) %>%
  rowwise() %>%
  mutate(date = TIME_PERIOD_to_date(TIME_PERIOD)) %>%
  arrange(desc(date)) %>%
  group_by(OPERATION, `SECT-INST`, date) %>%
  summarise(deflator = 100*OBS_VALUE[VALORISATION == "V"]/OBS_VALUE[VALORISATION == "L"]) %>%
  ungroup %>%
  left_join(OPERATION, by = "OPERATION") %>%
  left_join(`SECT-INST`, by = "SECT-INST") %>%
  filter(date >= as.Date("2021-01-01")) %>%
  mutate(variable = paste0(OPERATION, " - ", `Sect-Inst`)) %>%
  group_by(OPERATION, `SECT-INST`) %>%
  mutate(deflator = 100*deflator/deflator[1]) %>%
  ggplot + geom_line(aes(x = date, y = deflator, color = variable)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10() +
  theme(legend.position = c(0.5, 0.8),
        legend.title = element_blank())

Agrégats

consommation nominale

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P3", "PIB")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2022-01-01")) %>%
  group_by(OPERATION, `SECT-INST`) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[1]) %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.4),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 5),
                     labels = percent_format(accuracy = 1))

Consommation: P4, P3

All

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P4", "P3", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.4),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 5),
                     labels = percent_format(accuracy = 1))

1980-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P4", "P3", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  filter(date >= as.Date("1980-01-01")) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.4),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 5),
                     labels = percent_format(accuracy = 1))

1995-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P4", "P3", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  filter(date >= as.Date("1995-01-01")) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.4),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 5),
                     labels = percent_format(accuracy = 1))

2000-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P4", "P3", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  filter(date >= as.Date("2000-01-01")) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.4),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 5),
                     labels = percent_format(accuracy = 1))

Consommation P3: individualisable P31 vs. collective P32

All

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P31", "P32", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 1),
                     labels = percent_format(accuracy = 1))

1980-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P31", "P32", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  filter(date >= as.Date("1980-01-01")) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 1),
                     labels = percent_format(accuracy = 1))

1995-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P31", "P32", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  filter(date >= as.Date("1995-01-01")) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 1),
                     labels = percent_format(accuracy = 1))

Exports, Imports

All

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P6", "P7", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 2),
                     labels = percent_format(accuracy = 1))

1980-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P6", "P7", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  filter(date >= as.Date("1980-01-01")) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 2),
                     labels = percent_format(accuracy = 1))

1995-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P6", "P7", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  filter(date >= as.Date("1995-01-01")) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 2),
                     labels = percent_format(accuracy = 1))

Solde Extérieur

All

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("SOLDE", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  na.omit %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(-100, 300, 1),
                     labels = percent_format(accuracy = 1))

1980-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("SOLDE", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  na.omit %>%
  filter(date >= as.Date("1980-01-01")) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(-100, 300, 1),
                     labels = percent_format(accuracy = 1))

1995-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("SOLDE", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  na.omit %>%
  filter(date >= as.Date("1995-01-01")) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(-100, 300, 1),
                     labels = percent_format(accuracy = 1))

Investissement

All

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P51", "P51B", "P51G", "P51M", "P51P", "P51S", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = paste(OPERATION, "-", TITLE_FR))) +
  #
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.78),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 2),
                     labels = percent_format(accuracy = 1))

1980-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P51", "P51B", "P51G", "P51M", "P51P", "P51S", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  filter(date >= as.Date("1980-01-01")) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  #
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 2),
                     labels = percent_format(accuracy = 1))

1995-

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(FREQ == "T",
         VALORISATION == "V",
         OPERATION %in% c("P51", "P51B", "P51G", "P51M", "P51P", "P51S", "PIB")) %>%
  quarter_to_date %>%
  group_by(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[OPERATION == "PIB"]) %>%
  filter(OPERATION != "PIB") %>%
  mutate(TITLE_FR = gsub("- Valeur aux prix courants - Série CVS-CJO", "", TITLE_FR)) %>%
  filter(date >= as.Date("1995-01-01")) %>%
  ggplot() + ylab("% du PIB") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  #
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, 2),
                     labels = percent_format(accuracy = 1))

GDP Updates

gdp_quarterly2

Code
gdp_quarterly <- `CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION == "PIB",
         FREQ == "T",
         VALORISATION == "V") %>%
  quarter_to_date %>%
  arrange(date) %>%
  mutate(date = date + months(3) - days(1)) %>%
  select(date, gdp = OBS_VALUE) %>%
  mutate(gdp = gdp/1000)

save(gdp_quarterly, file = "gdp_quarterly2.RData")

gdp_quarterly %>%
  tail(5) %>%
  print_table_conditional()
date gdp
2023-03-31 685.694
2023-06-30 701.202
2023-09-30 706.297
2023-12-31 712.478
2024-03-31 719.086

gdp_quarterly3

Code
gdp_quarterly <- `CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION == "PIB",
         FREQ == "T",
         VALORISATION == "V") %>%
  quarter_to_date %>%
  arrange(date) %>%
  select(date, gdp = OBS_VALUE) %>%
  mutate(gdp = gdp/1000)

save(gdp_quarterly, file = "gdp_quarterly3.RData")

gdp_quarterly %>%
  tail(5) %>%
  print_table_conditional()
date gdp
2023-01-01 685.694
2023-04-01 701.202
2023-07-01 706.297
2023-10-01 712.478
2024-01-01 719.086

gdp_quarterly4: IDBANK 010565707

Code
gdp_quarterly <- `CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION == "PIB",
         FREQ == "T",
         VALORISATION == "V") %>%
  quarter_to_date %>%
  arrange(date) %>%
  select(date, gdp = OBS_VALUE)

save(gdp_quarterly, file = "gdp_quarterly4.RData")

gdp_quarterly %>%
  tail(5) %>%
  print_table_conditional()
date gdp
2023-01-01 685694
2023-04-01 701202
2023-07-01 706297
2023-10-01 712478
2024-01-01 719086

Depuis le Covid-19

PIB valeur

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
         FREQ == "T",
         VALORISATION == "V",
         NATURE == "VALEUR_ABSOLUE",
         `SECT-INST` == "SO") %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  quarter_to_date %>%
  filter(date >= as.Date("2019-10-01")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  arrange(date) %>%
  group_by(OPERATION) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2019-10-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Operation)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = seq.Date(from = as.Date("2019-10-01"), to = as.Date("2023-10-01"), by = "quarter"),
               labels = date_format("%b %y")) +
  scale_y_log10(breaks = seq(0, 120, 5)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank())

PIB volume

2019-Q4

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
         FREQ == "T",
         VALORISATION == "L",
         NATURE == "VALEUR_ABSOLUE",
         `SECT-INST` == "SO") %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  quarter_to_date %>%
  filter(date >= as.Date("2019-10-01")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  arrange(date) %>%
  group_by(OPERATION) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2019-10-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Operation)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = seq.Date(from = as.Date("2019-10-01"), to = as.Date("2023-10-01"), by = "quarter"),
               labels = date_format("%b %y")) +
  scale_y_log10(breaks = seq(0, 120, 5)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank())

Demande, Demande hors stocks

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "DINTF", "DINTFHS"),
         FREQ == "T",
         VALORISATION == "L",
         NATURE == "VALEUR_ABSOLUE",
         `SECT-INST` == "SO") %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  quarter_to_date %>%
  filter(date >= as.Date("2019-10-01")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  arrange(date) %>%
  group_by(OPERATION) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2019-10-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Operation)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = seq.Date(from = as.Date("2019-10-01"), to = as.Date("2023-10-01"), by = "quarter"),
               labels = date_format("%b %y")) +
  scale_y_log10(breaks = seq(0, 120, 5)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank())

2017-Q2 -

PIB valeur

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
         FREQ == "T",
         VALORISATION == "V",
         NATURE == "VALEUR_ABSOLUE",
         `SECT-INST` == "SO") %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  quarter_to_date %>%
  filter(date >= as.Date("2017-04-01")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  arrange(date) %>%
  group_by(OPERATION) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2017-04-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Operation)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = seq.Date(from = as.Date("2017-04-01"), to = as.Date("2023-10-01"), by = "6 months"),
               labels = date_format("%b %y")) +
  scale_y_log10(breaks = c(seq(0, 120, 5), 106, 107, 111, 112, 113)) +
  theme(legend.position = c(0.3, 0.2),
        legend.title = element_blank())

PIB volume

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
         FREQ == "T",
         VALORISATION == "L",
         NATURE == "VALEUR_ABSOLUE",
         `SECT-INST` == "SO") %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  quarter_to_date %>%
  filter(date >= as.Date("2017-04-01")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  arrange(date) %>%
  group_by(OPERATION) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2017-04-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Operation)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = seq.Date(from = as.Date("2017-04-01"), to = as.Date("2023-10-01"), by = "6 months"),
               labels = date_format("%b %y")) +
  scale_y_log10(breaks = c(seq(0, 120, 5), 106, 107)) +
  theme(legend.position = c(0.3, 0.2),
        legend.title = element_blank())

Demande, Demande hors stocks

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "DINTF", "DINTFHS"),
         FREQ == "T",
         VALORISATION == "L",
         NATURE == "VALEUR_ABSOLUE",
         `SECT-INST` == "SO") %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  quarter_to_date %>%
  filter(date >= as.Date("2017-04-01")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  arrange(date) %>%
  group_by(OPERATION) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2017-04-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Operation)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = seq.Date(from = as.Date("2017-04-01"), to = as.Date("2023-10-01"), by = "6 months"),
               labels = date_format("%b %y")) +
  scale_y_log10(breaks = seq(0, 120, 5)) +
  theme(legend.position = c(0.3, 0.2),
        legend.title = element_blank())

2011-Q1

PIB valeur

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
         FREQ == "T",
         VALORISATION == "V",
         NATURE == "VALEUR_ABSOLUE",
         `SECT-INST` == "SO") %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  quarter_to_date %>%
  filter(date >= as.Date("2011-01-01")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  arrange(date) %>%
  group_by(OPERATION) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2011-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Operation)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_log10(breaks = c(seq(0, 170, 5), 106, 107, 111, 112, 113)) +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank())

PIB volume

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
         FREQ == "T",
         VALORISATION == "L",
         NATURE == "VALEUR_ABSOLUE",
         `SECT-INST` == "SO") %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  quarter_to_date %>%
  filter(date >= as.Date("2010-01-01")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  arrange(date) %>%
  group_by(OPERATION) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2010-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Operation)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_log10(breaks = c(seq(0, 180, 5), 106, 107)) +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank())

2011-14

PIB valeur

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
         FREQ == "T",
         VALORISATION == "V",
         NATURE == "VALEUR_ABSOLUE",
         `SECT-INST` == "SO") %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  quarter_to_date %>%
  filter(date >= as.Date("2011-01-01"),
         date <= as.Date("2014-01-01")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  arrange(date) %>%
  group_by(OPERATION) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2011-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Operation)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_log10(breaks = c(seq(0, 170, 1), 106, 107, 111, 112, 113)) +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank())

PIB volume

Code
`CNT-2014-PIB-EQB-RF` %>%
  filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
         FREQ == "T",
         VALORISATION == "L",
         NATURE == "VALEUR_ABSOLUE",
         `SECT-INST` == "SO") %>%
  left_join(OPERATION,  by = "OPERATION") %>%
  quarter_to_date %>%
  filter(date >= as.Date("2011-01-01"),
         date <= as.Date("2014-01-01")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  arrange(date) %>%
  group_by(OPERATION) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2011-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Operation)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_log10(breaks = c(seq(0, 180, 1), 106, 107)) +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank())