1.104 - Contributions à l’évolution du produit intérieur brut aux prix de l’année précédente (En points de PIB) - T_1104

Données - INSEE

Structure

Contributions à la croissance du PIB

Par poste de demande

Code
lev <- c("Consommation finale", "FBCF", "Stocks + objets de valeur",
         "Solde extérieur")
`T_1104` |>
  filter(code %in% c("CONTRIB_PIB_P3", "CONTRIB_PIB_P51G", "CONTRIB_PIB_P52",
                     "CONTRIB_PIB_P53", "CONTRIB_PIB_B11")) |>
  mutate(poste = case_when(
    code == "CONTRIB_PIB_P3"   ~ "Consommation finale",
    code == "CONTRIB_PIB_P51G" ~ "FBCF",
    code == "CONTRIB_PIB_B11"  ~ "Solde extérieur",
    TRUE                       ~ "Stocks + objets de valeur")) |>
  group_by(year, poste) |>
  summarise(value = sum(value), .groups = "drop") |>
  mutate(poste = factor(poste, levels = lev)) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Contribution (points de PIB)") +
  geom_hline(yintercept = 0, color = "grey60") +
  geom_col(aes(x = year, y = value / 100, fill = poste)) +
  geom_point(data = filter(`T_1104`, code == "CONTRIB_PIB_B1GQ"),
             aes(x = year, y = value / 100), size = 0.9) +
  scale_x_continuous(breaks = seq(1950, 2030, 10)) +
  scale_y_continuous(labels = percent_format(accuracy = 1)) +
  scale_fill_manual(values = viridis(5)[1:4]) +
  theme(legend.title = element_blank(), legend.position = "bottom") +
  guides(fill = guide_legend(nrow = 2)) +
  labs(caption = "Points = variation du PIB en volume")

Depuis 2010

Code
`T_1104` |>
  filter(year >= 2010,
         code %in% c("CONTRIB_PIB_P3", "CONTRIB_PIB_P51G", "CONTRIB_PIB_P52",
                     "CONTRIB_PIB_P53", "CONTRIB_PIB_B11")) |>
  mutate(poste = case_when(
    code == "CONTRIB_PIB_P3"   ~ "Consommation finale",
    code == "CONTRIB_PIB_P51G" ~ "FBCF",
    code == "CONTRIB_PIB_B11"  ~ "Solde extérieur",
    TRUE                       ~ "Stocks + objets de valeur")) |>
  group_by(year, poste) |>
  summarise(value = sum(value), .groups = "drop") |>
  mutate(poste = factor(poste, levels = lev)) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Contribution (points de PIB)") +
  geom_hline(yintercept = 0, color = "grey60") +
  geom_col(aes(x = year, y = value / 100, fill = poste)) +
  geom_point(data = filter(`T_1104`, code == "CONTRIB_PIB_B1GQ", year >= 2010),
             aes(x = year, y = value / 100), size = 1.4) +
  scale_x_continuous(breaks = seq(2010, 2030, 2)) +
  scale_y_continuous(labels = percent_format(accuracy = 1)) +
  scale_fill_manual(values = viridis(5)[1:4]) +
  theme(legend.title = element_blank(), legend.position = "bottom") +
  guides(fill = guide_legend(nrow = 2))

Exportations et importations séparément

Code
`T_1104` |>
  filter(code %in% c("CONTRIB_PIB_P6", "CONTRIB_PIB_P7", "CONTRIB_PIB_B11")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Contribution (points de PIB)") +
  geom_hline(yintercept = 0, color = "grey60") +
  geom_line(aes(x = year, y = value / 100, color = label)) +
  scale_x_continuous(breaks = seq(1950, 2030, 10)) +
  scale_y_continuous(labels = percent_format(accuracy = 1)) +
  theme(legend.title = element_blank(), legend.position = "bottom") +
  guides(color = guide_legend(nrow = 3))

Contributions par secteur institutionnel

Somme des contributions de la consommation finale et de la FBCF de chaque secteur (ménages, administrations publiques, sociétés non financières…).

Code
`T_1104` |>
  filter(line %in% 2:10, code %in% c("S14B", "S13", "S15", "S11X14AA", "S12X14AF")) |>
  mutate(secteur = recode(code,
    S14B = "Ménages", S13 = "Administrations publiques",
    S15 = "ISBLSM", S11X14AA = "Sociétés non financières",
    S12X14AF = "Sociétés financières")) |>
  group_by(year, secteur) |>
  summarise(value = sum(value), .groups = "drop") |>
  ggplot() + theme_minimal() + xlab("") + ylab("Contribution (points de PIB)") +
  geom_hline(yintercept = 0, color = "grey60") +
  geom_col(aes(x = year, y = value / 100, fill = secteur)) +
  scale_x_continuous(breaks = seq(1950, 2030, 10)) +
  scale_y_continuous(labels = percent_format(accuracy = 1)) +
  scale_fill_manual(values = viridis(6)[1:5]) +
  theme(legend.title = element_blank(), legend.position = "bottom") +
  guides(fill = guide_legend(nrow = 2))

Table (2025)

Code
`T_1104` |>
  filter(year == last_y) |>
  transmute(Ligne = line, Poste = label, Code = code,
            `Points de PIB` = round(value, 2)) |>
  print_table_conditional()
Ligne Poste Code Points de PIB
1 Contribution à l’évolution du PIB de la dépense de consommation finale CONTRIB_PIB_P3 0.34
2 Ménages hors entrepreneurs individuels S14B 0.20
3 Administrations publiques S13 0.15
4 Institutions sans but lucratif au services des ménages S15 0.00
5 Contribution à l’évolution du PIB de la FBCF CONTRIB_PIB_P51G 0.11
6 Sociétés et entreprises individuelles non financières S11X14AA 0.05
7 Sociétés et entreprises individuelles financières S12X14AF -0.05
8 Administrations publiques S13 0.12
9 Ménages hors entrepreneurs individuels S14B -0.01
10 Institutions sans but lucratif au services des ménages S15 0.00
11 Contribution à l’évolution du PIB du solde des échanges extérieurs CONTRIB_PIB_B11 -0.17
12 Contribution à l’évolution du PIB du solde des exportations CONTRIB_PIB_P6 0.79
13 Contribution à l’évolution du PIB du solde des importations CONTRIB_PIB_P7 -0.96
14 Contribution à l’évolution du PIB des acquisitions moins cessions d’objets de valeur CONTRIB_PIB_P53 0.00
15 Contribution à l’évolution du PIB de la variation des stocks CONTRIB_PIB_P52 0.53
16 Variation du PIB CONTRIB_PIB_B1GQ 0.80