PIB et ses composants - Equilibre emplois-ressources - valeurs aux prix courants

Données - INSEE

Info

source dataset Title Updated
insee t_pib_val PIB et ses composants - Equilibre emplois-ressources - valeurs aux prix courants 2026-08-02
insee t_pib_vol PIB et ses composantes - Equilibre emplois-ressources - volumes aux prix de l'année précédente chaînés - t_pib_vol 2026-08-02

LAST_COMPILE

LAST_COMPILE
2026-08-15

Last

date Nobs
2025-10-01 15

Info

  • Comptes trimestriels. html

  • PIB et ses composantes. html

  • Secteurs et ses composantes. html

Table 2024T2 - valeur

Code
ig_b("insee", "t_pib_val")

Table 2024T2 - volume

Code
ig_b("insee", "t_pib_vol")

Sources

Code
ig_b("insee", "revpe234", "table1")

variable

Code
t_pib_val |>
  left_join(variable, by = "variable") |>
  group_by(variable, Variable1, Variable2) |>
  summarise(Nobs = n()) |>
  arrange(-Nobs) |>
  print_table_conditional()
variable Variable1 Variable2 Nobs
P3 Dépenses de consommation des : Total 308
P31G Dépenses de consommation des : APU (individual.) 308
P32G Dépenses de consommation des : APU (collectives) 308
P3M Dépenses de consommation des : Ménages 308
P3P Dépenses de consommation des : ISBLSM 308
P51 FBCF des : Total 308
P51B FBCF des : Entreprises financières 308
P51G FBCF des : APU 308
P51M FBCF des : Ménages 308
P51P FBCF des : ISBLSM 308
P51S FBCF des : Entreprises non financières 308
P54 Variations de stocks (*) NA 308
P6 Exportations NA 308
P7 Importations NA 308
PIB Produit intérieur brut NA 308

PIB

Code
t_pib_val |>
  filter(variable == "PIB") |>
  select(-variable) |>
  print_table_conditional()

D’où vient la croissance depuis 2021-T2 ?

Log

Code
t_pib_val |>
  filter(variable %in% c("P3M", "PIB", "P6", "P51", "P31G"),
         date >= as.Date("2021-04-01")) |>
  left_join(variable) |>
  group_by(variable) |>
  arrange(date) |>
  mutate(value = 100*value/value[1]) |>
  mutate(Variable2 = ifelse(is.na(Variable2), "", Variable2)) |>
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = value, color = paste(Variable1,  Variable2))) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.7)) +
  scale_x_date(breaks = seq(1950, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1000, 5))

Consommation

All

Linear

Code
t_pib_val |>
  filter(variable %in% c("P3M", "PIB", "P3")) |>
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = value, color = variable)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.9)) +
  scale_x_date(breaks = seq(1950, 2100, 10) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000, 50))

Log

Code
t_pib_val |>
  filter(variable %in% c("P3M", "PIB", "P3")) |>
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = value, color = variable)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.9)) +
  scale_x_date(breaks = seq(1950, 2100, 10) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1000, 50))

2017-T2

Log

Code
t_pib_val |>
  filter(variable %in% c("P3M", "PIB", "P3"),
         date >= as.Date("2017-04-01")) |>
  group_by(variable) |>
  arrange(date) |>
  mutate(value = 100*value/value[1]) |>
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = value, color = variable)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.9)) +
  scale_x_date(breaks = seq(1950, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1000, 5))

Investissement et taux de marge

All

Code
t_pib_val |>
  filter(variable %in% c("P51", "PIB")) |>
  spread(variable, value) |>
  mutate(date,
         value = P51/PIB,
         Variable = "Investissement (% du PIB)") |>
  bind_rows(t_txmargesnf_val |>
              filter(variable == "taux_marge") |>
              mutate(Variable = "Taux de marge") |>
              mutate(value = value/100)) |>
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = value, color = Variable)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.9)) +
  scale_x_date(breaks = seq(1950, 2100, 10) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_color_manual(values = viridis(3)[1:2]) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                     labels = scales::percent_format(accuracy = 1)) + 
    geom_rect(data = data_frame(start = as.Date("1983-01-01"), 
                                end = as.Date("1992-12-31")), 
              aes(xmin = start, xmax = end, ymin = -Inf, ymax = +Inf), 
              fill = viridis(4)[4], alpha = 0.2)

1960-

Code
t_pib_val |>
  filter(variable %in% c("P51", "PIB")) |>
  spread(variable, value) |>
  mutate(date,
         value = P51/PIB,
         Variable = "Investissement (% du PIB)") |>
  bind_rows(t_txmargesnf_val |>
              filter(variable == "taux_marge") |>
              mutate(Variable = "Taux de marge") |>
              mutate(value = value/100)) |>
  filter(date >= as.Date("1960-01-01")) |>
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = value, color = Variable)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.9)) +
  scale_x_date(breaks = seq(1950, 2100, 10) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_color_manual(values = viridis(3)[1:2]) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                     labels = scales::percent_format(accuracy = 1)) + 
    geom_rect(data = data_frame(start = as.Date("1983-01-01"), 
                                end = as.Date("1992-12-31")), 
              aes(xmin = start, xmax = end, ymin = -Inf, ymax = +Inf), 
              fill = viridis(4)[4], alpha = 0.2)

1980-

Code
t_pib_val |>
  filter(variable %in% c("P51", "PIB")) |>
  spread(variable, value) |>
  mutate(date,
         value = P51/PIB,
         Variable = "Investissement (% du PIB)") |>
  bind_rows(t_txmargesnf_val |>
              filter(variable == "taux_marge") |>
              mutate(Variable = "Taux de marge") |>
              mutate(value = value/100)) |>
  filter(date >= as.Date("1980-01-01")) |>
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = value, color = Variable)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.92)) +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_color_manual(values = viridis(3)[1:2]) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                     labels = scales::percent_format(accuracy = 1)) + 
    geom_rect(data = data_frame(start = as.Date("1983-01-01"), 
                                end = as.Date("1992-12-31")), 
              aes(xmin = start, xmax = end, ymin = -Inf, ymax = +Inf), 
              fill = viridis(4)[4], alpha = 0.2)

2000-

Code
t_pib_val |>
  filter(variable %in% c("P51", "PIB")) |>
  spread(variable, value) |>
  mutate(date,
         value = P51/PIB,
         Variable = "Investissement (% du PIB)") |>
  bind_rows(t_txmargesnf_val |>
              filter(variable == "taux_marge") |>
              mutate(Variable = "Taux de marge") |>
              mutate(value = value/100)) |>
  filter(date >= as.Date("2000-01-01")) |>
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = value, color = Variable)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.9)) +
  scale_x_date(breaks = seq(1950, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_color_manual(values = viridis(3)[1:2]) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                     labels = scales::percent_format(accuracy = 1))