Équilibre du produit intérieur brut
Données - INSEE
Info
Last observation: Annuelle: 2025 (N = 1) · Trimestrielle: 2026-Q2 (N = 61)
First observation: Annuelle: 1950 (N = 1) · Trimestrielle: 1949-Q1 (N = 48)
Number of observations: 20 630
Last data update: 14 aoû 2026, 20:42. Last compile: 15 aoû 2026, 03:18
Structure
Info
Données sur la macroéconomie en France
| source | dataset | Title | Updated |
|---|---|---|---|
| bdf | CFT | Comptes Financiers Trimestriels | 2026-08-10 |
| insee | CNA-2014-CONSO-SI | Dépenses de consommation finale par secteur institutionnel | 2026-08-13 |
| insee | CNA-2014-CSI | Comptes des secteurs institutionnels | 2026-08-13 |
| insee | CNA-2014-FBCF-BRANCHE | Formation brute de capital fixe (FBCF) par branche | 2026-08-13 |
| insee | CNA-2014-FBCF-SI | Formation brute de capital fixe (FBCF) par secteur institutionnel | 2026-08-13 |
| insee | CNA-2014-RDB | Revenu et pouvoir d’achat des ménages | 2026-08-13 |
| insee | CNA-2020-CONSO-MEN | Consommation des ménages | 2026-08-13 |
| insee | CNA-2020-PIB | Produit intérieur brut (PIB) et ses composantes | 2026-08-13 |
| insee | CNT-2014-CB | Comptes des branches | 2026-08-13 |
| insee | CNT-2014-CSI | Comptes de secteurs institutionnels | 2026-08-13 |
| insee | CNT-2014-OPERATIONS | Opérations sur biens et services | 2026-08-13 |
| insee | CNT-2014-PIB-EQB-RF | Équilibre du produit intérieur brut | 2026-08-13 |
| insee | CONSO-MENAGES-2020 | Consommation des ménages en biens | 2026-08-13 |
| insee | ICA-2015-IND-CONS | Indices de chiffre d'affaires dans l'industrie et la construction | 2026-08-13 |
| insee | conso-mensuelle | Consommation de biens, données mensuelles | 2026-08-02 |
| insee | t_1101 | 1.101 – Le produit intérieur brut et ses composantes à prix courants (En milliards d'euros) | 2026-08-02 |
| insee | t_1102 | 1.102 – Le produit intérieur brut et ses composantes en volume aux prix de l'année précédente chaînés (En milliards d'euros 2014) | 2026-08-02 |
| insee | t_1105 | 1.105 – Produit intérieur brut - les trois approches à prix courants (En milliards d'euros) - t_1105 | 2026-08-02 |
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2026-08-15 |
Last
Code
`CNT-2020-PIB-EQB-RF` |>
filter(TIME_PERIOD == max(TIME_PERIOD)) |>
select(TIME_PERIOD, TITLE_FR, OBS_VALUE) |>
print_table_conditional()Last - 2022-Q1
Tous
Code
`CNT-2020-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-2020-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()| SECT-INST | OPERATION | CNA_PRODUIT | TITLE_FR | OBS_VALUE | OBS_REV | Sect-Inst | Operation | Cna_produit | Obs_rev | % of GDP |
|---|---|---|---|---|---|---|---|---|---|---|
| SO | DINTF | SO | Demande intérieure totale finale - Valeur aux prix courants - Série CVS-CJO | 659570 | 1 | Sans objet | Demande intérieure totale finale | Sans objet | Révision | 101.6 |
| SO | DINTFHS | SO | Demande intérieure totale finale hors stocks - Valeur aux prix courants - Série CVS-CJO | 657974 | 1 | Sans objet | Demande intérieure totale finale hors stocks | Sans objet | Révision | 101.4 |
| SO | PIB | SO | Produit intérieur brut total - Valeur aux prix courants - Série CVS-CJO | 649106 | 1 | Sans objet | PIB - Produit intérieur brut | Sans objet | Révision | 100.0 |
| SO | P4 | D-CNT | Dépenses de consommation totales - Valeur aux prix courants - Série CVS-CJO | 507212 | 1 | Sans objet | P4 - Consommation finale effective | Ensemble des biens et services | Révision | 78.1 |
| S14 | P3 | D-CNT | Dépenses de consommation des ménages - Total - Valeur aux prix courants - Série CVS-CJO | 331900 | 1 | S14 - Ménages y compris entreprises individuelles | P3 - Dépense de consommation finale | Ensemble des biens et services | Révision | 51.1 |
| SO | P7 | D-CNT | Importations - Total - Valeur aux prix courants - Série CVS-CJO | 240472 | 1 | Sans objet | P7 - Importations de biens et services | Ensemble des biens et services | Révision | 37.0 |
| SO | P6 | D-CNT | Exportations - Total - Valeur aux prix courants - Série CVS-CJO | 230008 | 1 | Sans objet | P6 - Exportations de biens et services | Ensemble des biens et services | Révision | 35.4 |
| SO | P3 | SO | Dépenses de consommation des APU - Total - Valeur aux prix courants - Série CVS-CJO | 160480 | 1 | Sans objet | P3 - Dépense de consommation finale | Sans objet | Révision | 24.7 |
| S0 | P51 | D-CNT | FBCF de l'ensemble des secteurs institutionnels - Total - Valeur aux prix courants - Série CVS-CJO | 150762 | 1 | S0 - Ensemble des secteurs institutionnels | P51 - Formation brute de capital fixe | Ensemble des biens et services | Révision | 23.2 |
| SO | P31 | D-CNT | Dépenses de consommation individualisable des APU - Total - Valeur aux prix courants - Série CVS-CJO | 104633 | 1 | Sans objet | P31 - Dépense de consommation finale individuelle | Ensemble des biens et services | Révision | 16.1 |
| S11 | P51S | D-CNT | Investissement des entreprises non financières - Total - Valeur aux prix courants - Série CVS-CJO | 78225 | 1 | S11 - Sociétés non financières | P51S - FBCF des entreprises non financières (y compris entreprises individuelles) | Ensemble des biens et services | Révision | 12.1 |
| SO | P32 | D-CNT | Dépenses de consommation collective des APU - Total - Valeur aux prix courants - Série CVS-CJO | 55848 | 1 | Sans objet | P32 - Dépense de consommation finale collective | Ensemble des biens et services | Révision | 8.6 |
| SO | D211 | D-CNT | TVA - Total - Valeur aux prix courants - Série CVS-CJO | 48212 | 1 | Sans objet | D211 - Impôts de type 'Taxe à la Valeur Ajoutée' (TVA) | Ensemble des biens et services | Révision | 7.4 |
| S14 | P51M | D-CNT | FBCF des ménages - Total - Valeur aux prix courants - Série CVS-CJO | 38037 | 1 | S14 - Ménages y compris entreprises individuelles | P51M - FBCF des ménages (hors entreprises individuelles) | Ensemble des biens et services | Révision | 5.9 |
| SO | D214 | D-CNT | Autres impôts sur les produits - Total - Valeur aux prix courants - Série CVS-CJO | 30002 | 1 | Sans objet | D214 - Autres impôts sur les produits | Ensemble des biens et services | Révision | 4.6 |
| S13 | P51G | D-CNT | FBCF des administrations publiques - Total - Valeur aux prix courants - Série CVS-CJO | 26551 | 1 | S13 - Administrations publiques (APU) | P51G - Formation brute de capital fixe | Ensemble des biens et services | Révision | 4.1 |
| S15 | P3 | D-CNT | Dépenses de consommation des ISBLSM - Total - Valeur aux prix courants - Série CVS-CJO | 14833 | NA | S15 - Institutions sans but lucratif au service des ménages | P3 - Dépense de consommation finale | Ensemble des biens et services | NA | 2.3 |
| S12 | P51B | D-CNT | FBCF des sociétés financières - Total - Valeur aux prix courants - Série CVS-CJO | 6577 | 1 | S12 - Sociétés financières | P51B - FBCF des entreprises financières (y compris entreprises individuelles) | Ensemble des biens et services | Révision | 1.0 |
| SO | P54 | D-CNT | Stocks et acquisitions moins cessions d'objets de valeur - Total - Valeur aux prix courants - Série CVS-CJO | 1596 | 1 | Sans objet | P54 - Stocks et acquisitions moins cession d'objets de valeur | Ensemble des biens et services | Révision | 0.2 |
| S15 | P51P | D-CNT | FBCF des ISBLSM - Total - Valeur aux prix courants - Série CVS-CJO | 1372 | NA | S15 - Institutions sans but lucratif au service des ménages | P51P - FBCF des ISBLSM | Ensemble des biens et services | NA | 0.2 |
| SO | P52 | D-CNT | Variation des stocks - Total - Valeur aux prix courants - Série CVS-CJO | 1343 | 1 | Sans objet | P52 - Variation de stocks | Ensemble des biens et services | Révision | 0.2 |
| SO | D212 | D-CNT | Impôts sur importations - Total - Valeur aux prix courants - Série CVS-CJO | 829 | NA | Sans objet | D212 - Impôts sur les importations autres que la taxe à la valeur ajoutée | Ensemble des biens et services | NA | 0.1 |
| SO | P53 | D-CNT | Acquisitions moins cessions d'objets de valeur - Total - Valeur aux prix courants - Série CVS-CJO | 253 | NA | Sans objet | P53 - Acquisitions moins cession d'objets de valeur | Ensemble des biens et services | NA | 0.0 |
| SO | D319 | D-CNT | Subventions - Total - Valeur aux prix courants - Série CVS-CJO | -5903 | NA | Sans objet | D319 - Autres subventions sur les produits | Ensemble des biens et services | NA | -0.9 |
| SO | SOLDE | SO | Solde extérieur total - Valeur aux prix courants - Série CVS-CJO | -10464 | 1 | Sans objet | SOLDE - Solde extérieur total | Sans objet | Révision | -1.6 |
Deflators
All
Code
`CNT-2020-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())
1999-
Code
`CNT-2020-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(OBS_VALUE = 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`)) |>
filter(date >= as.Date("1999-01-01")) |>
group_by(variable) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE , color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1999, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(100, 200, 5)) +
theme(legend.position = c(0.5, 0.8),
legend.title = element_blank())+
geom_label_repel(data = . %>%
filter(date == max(date)), aes(date, y = OBS_VALUE, label = round(OBS_VALUE, 1),color = variable))
2014-
Code
`CNT-2020-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(OBS_VALUE = 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`)) |>
group_by(variable) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE , 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-2020-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())
2017T2-
Code
`CNT-2020-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(OBS_VALUE = 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`)) |>
filter(date >= as.Date("2017-04-01")) |>
group_by(variable) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE , color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1999, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(100, 200, 5)) +
theme(legend.position = c(0.5, 0.8),
legend.title = element_blank())+
geom_label_repel(data = . %>%
filter(date == max(date)), aes(date, y = OBS_VALUE, label = round(OBS_VALUE, 1),color = variable))
2019T4-
Code
`CNT-2020-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(OBS_VALUE = 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`)) |>
filter(date >= as.Date("2019-10-01")) |>
group_by(variable) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE , color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1999, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(100, 200, 5)) +
theme(legend.position = c(0.5, 0.8),
legend.title = element_blank())+
geom_label_repel(data = . %>%
filter(date == max(date)), aes(date, y = OBS_VALUE, label = round(OBS_VALUE, 1),color = variable))
2020-
Code
`CNT-2020-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-2020-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-2020-PIB-EQB-RF` |>
filter(FREQ == "T",
VALORISATION == "V",
OPERATION %in% c("P3", "PIB")) |>
quarter_to_date() |>
filter(date >= as.Date("2021-10-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, 1) |> 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-2020-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-2020-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-2020-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-2020-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))
All
Code
`CNT-2020-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-2020-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-2020-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-2020-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-2020-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-2020-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-2020-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-2020-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-2020-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
Tous
Code
`CNT-2020-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))
Tous sauf un
Code
`CNT-2020-PIB-EQB-RF` |>
filter(FREQ == "T",
VALORISATION == "V",
OPERATION %in% c("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-2020-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-2020-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-2020-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 |
|---|---|
| 2025-06-30 | 745.214 |
| 2025-09-30 | 750.755 |
| 2025-12-31 | 755.823 |
| 2026-03-31 | 756.905 |
| 2026-06-30 | 760.179 |
gdp_quarterly3
Code
gdp_quarterly <- `CNT-2020-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 |
|---|---|
| 2025-04-01 | 745.214 |
| 2025-07-01 | 750.755 |
| 2025-10-01 | 755.823 |
| 2026-01-01 | 756.905 |
| 2026-04-01 | 760.179 |
gdp_quarterly4: IDBANK 010565707
Code
gdp_quarterly <- `CNT-2020-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 |
|---|---|
| 2025-04-01 | 745214 |
| 2025-07-01 | 750755 |
| 2025-10-01 | 755823 |
| 2026-01-01 | 756905 |
| 2026-04-01 | 760179 |
Depuis le Covid-19
PIB valeur
Code
`CNT-2020-PIB-EQB-RF` |>
filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
FREQ == "T",
VALORISATION == "V",
NATURE == "VALEUR_ABSOLUE",
`SECT-INST` == "SO") |>
mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) |>
filter(date >= zoo::as.yearqtr("2019 Q4")) %>%
select_if(~ n_distinct(.) > 1) |>
arrange(date) |>
group_by(OPERATION) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == zoo::as.yearqtr("2019 Q4")]) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = OPERATION)) +
xlab("") + ylab("") + theme_minimal() +
zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
breaks = expand.grid(2017:2100, c(2, 4)) |>
mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) |>
pull(breaks)) +
scale_y_log10(breaks = seq(0, 200, 5)) +
theme(legend.position = c(0.7, 0.2),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
PIB volume
2019-Q4
Code
`CNT-2020-PIB-EQB-RF` |>
filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
FREQ == "T",
VALORISATION == "L",
NATURE == "VALEUR_ABSOLUE",
`SECT-INST` == "SO") |>
mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) |>
filter(date >= zoo::as.yearqtr("2019 Q4")) %>%
select_if(~ n_distinct(.) > 1) |>
arrange(date) |>
group_by(OPERATION) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == zoo::as.yearqtr("2019 Q4")]) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = OPERATION)) +
xlab("") + ylab("") + theme_minimal() +
zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
breaks = expand.grid(2017:2100, c(2, 4)) |>
mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) |>
pull(breaks)) +
scale_y_log10(breaks = seq(0, 200, 5)) +
theme(legend.position = c(0.7, 0.2),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
Demande, Demande hors stocks
Code
`CNT-2020-PIB-EQB-RF` |>
filter(OPERATION %in% c("PIB", "DINTF", "DINTFHS"),
FREQ == "T",
VALORISATION == "L",
NATURE == "VALEUR_ABSOLUE",
`SECT-INST` == "SO") |>
mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) |>
filter(date >= zoo::as.yearqtr("2019 Q4")) %>%
select_if(~ n_distinct(.) > 1) |>
arrange(date) |>
group_by(OPERATION) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == zoo::as.yearqtr("2019 Q4")]) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = OPERATION)) +
xlab("") + ylab("") + theme_minimal() +
zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
breaks = expand.grid(2017:2100, c(2, 4)) |>
mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) |>
pull(breaks)) +
scale_y_log10(breaks = seq(0, 200, 5)) +
theme(legend.position = c(0.7, 0.2),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
2017-Q2 -
PIB valeur
Code
`CNT-2020-PIB-EQB-RF` |>
filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
FREQ == "T",
VALORISATION == "V",
NATURE == "VALEUR_ABSOLUE",
`SECT-INST` == "SO") |>
mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) |>
filter(date >= zoo::as.yearqtr("2017 Q2")) %>%
select_if(~ n_distinct(.) > 1) |>
arrange(date) |>
group_by(OPERATION) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == zoo::as.yearqtr("2017 Q2")]) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = OPERATION)) +
xlab("") + ylab("") + theme_minimal() +
zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
breaks = expand.grid(2017:2100, c(2, 4)) |>
mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) |>
pull(breaks)) +
scale_y_log10(breaks = seq(0, 200, 5)) +
theme(legend.position = c(0.7, 0.2),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
PIB volume
Code
`CNT-2020-PIB-EQB-RF` |>
filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
FREQ == "T",
VALORISATION == "L",
NATURE == "VALEUR_ABSOLUE",
`SECT-INST` == "SO") |>
mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) |>
filter(date >= zoo::as.yearqtr("2017 Q2")) %>%
select_if(~ n_distinct(.) > 1) |>
arrange(date) |>
group_by(OPERATION) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == zoo::as.yearqtr("2017 Q2")]) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = OPERATION)) +
xlab("") + ylab("") + theme_minimal() +
zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
breaks = expand.grid(2017:2100, c(2, 4)) |>
mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) |>
pull(breaks)) +
scale_y_log10(breaks = seq(0, 200, 5)) +
theme(legend.position = c(0.7, 0.2),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
Demande, Demande hors stocks
Code
`CNT-2020-PIB-EQB-RF` |>
filter(OPERATION %in% c("PIB", "DINTF", "DINTFHS"),
FREQ == "T",
VALORISATION == "L",
NATURE == "VALEUR_ABSOLUE",
`SECT-INST` == "SO") |>
mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) |>
filter(date >= zoo::as.yearqtr("2017 Q2")) %>%
select_if(~ n_distinct(.) > 1) |>
arrange(date) |>
group_by(OPERATION) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == zoo::as.yearqtr("2017 Q2")]) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = OPERATION)) +
xlab("") + ylab("") + theme_minimal() +
zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
breaks = expand.grid(2017:2100, c(2, 4)) |>
mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) |>
pull(breaks)) +
scale_y_log10(breaks = seq(0, 200, 2)) +
theme(legend.position = c(0.7, 0.2),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
2011-Q1
PIB valeur
Code
`CNT-2020-PIB-EQB-RF` |>
filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
FREQ == "T",
VALORISATION == "V",
NATURE == "VALEUR_ABSOLUE",
`SECT-INST` == "SO") |>
mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) |>
filter(date >= zoo::as.yearqtr("2011 Q1")) %>%
select_if(~ n_distinct(.) > 1) |>
arrange(date) |>
group_by(OPERATION) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == zoo::as.yearqtr("2011 Q1")]) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = OPERATION)) +
xlab("") + ylab("") + theme_minimal() +
zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
breaks = expand.grid(2011:2100, c(2, 4)) |>
mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) |>
pull(breaks)) +
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(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
PIB volume
Code
`CNT-2020-PIB-EQB-RF` |>
filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
FREQ == "T",
VALORISATION == "L",
NATURE == "VALEUR_ABSOLUE",
`SECT-INST` == "SO") |>
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())
2010-2014
Code
`CNT-2020-PIB-EQB-RF` |>
filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
FREQ == "T",
VALORISATION == "L",
NATURE == "VALEUR_ABSOLUE",
`SECT-INST` == "SO") |>
quarter_to_date() |>
filter(date >= as.Date("2010-01-01")) |>
filter(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("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(100, 180, 1), 106, 107)) +
theme(legend.position = c(0.3, 0.8),
legend.title = element_blank())
2011-2014
Code
`CNT-2020-PIB-EQB-RF` |>
filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
FREQ == "T",
VALORISATION == "L",
NATURE == "VALEUR_ABSOLUE",
`SECT-INST` == "SO") |>
quarter_to_date() |>
filter(date >= as.Date("2011-01-01")) |>
filter(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(100, 180, 1), 106, 107)) +
theme(legend.position = c(0.3, 0.8),
legend.title = element_blank())
2011-14
PIB valeur
Code
`CNT-2020-PIB-EQB-RF` |>
filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
FREQ == "T",
VALORISATION == "V",
NATURE == "VALEUR_ABSOLUE",
`SECT-INST` == "SO") |>
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-2020-PIB-EQB-RF` |>
filter(OPERATION %in% c("PIB", "P3", "P31", "P32", "P4"),
FREQ == "T",
VALORISATION == "L",
NATURE == "VALEUR_ABSOLUE",
`SECT-INST` == "SO") |>
mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) |>
filter(date >= zoo::as.yearqtr("2011 Q1"),
date <= zoo::as.yearqtr("2014 Q1")) %>%
select_if(~ n_distinct(.) > 1) |>
arrange(date) |>
group_by(OPERATION) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == zoo::as.yearqtr("2011 Q1")]) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = OPERATION)) +
xlab("") + ylab("") + theme_minimal() +
zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
breaks = expand.grid(2011:2100, c(1, 2, 3, 4)) |>
mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) |>
pull(breaks)) +
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(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))