Global Supply Chain Pressure Index (GSCPI) - gscpi_data

Données - INSEE

L’indice GSCPI de la Fed de New York (Benigno et al.) synthétise 27 indicateurs (frets Baltic Dry et Harpex, délais de livraison et stocks des enquêtes PMI/ISM) en un écart à la moyenne, exprimé en écarts-types : 0 correspond à des tensions moyennes sur les chaînes d’approvisionnement mondiales.

Évolution depuis 1998

Code
pic <- gscpi_data |> filter(gscpi == max(gscpi))
gscpi_data |>
  ggplot(aes(x = date, y = gscpi)) +
  geom_hline(yintercept = 0, color = "grey50") +
  geom_area(aes(y = pmax(gscpi, 0)), fill = "#E8737A", alpha = 0.35) +
  geom_area(aes(y = pmin(gscpi, 0)), fill = "#1B3F8B", alpha = 0.25) +
  geom_line(color = "grey20", linewidth = 0.5) +
  geom_point(data = pic, color = "#E8737A", size = 2.5) +
  geom_text(data = pic, aes(label = paste0(format(date, "%m/%Y"), " : ", round(gscpi, 1))),
            hjust = 1.1, vjust = 0.2, fontface = "bold", color = "#E8737A") +
  scale_x_date(date_breaks = "2 years", date_labels = "%Y") +
  theme_minimal(base_size = 12) +
  theme(panel.grid.minor = element_blank(), plot.title = element_text(face = "bold"),
        plot.title.position = "plot") +
  labs(x = NULL, y = "Écarts-types", title = "Les tensions de 2021-2022 : un record depuis 1998",
       subtitle = "GSCPI mensuel, New York Fed")

Zoom 2019-2024

Code
gscpi_data |>
  filter(date >= "2019-01-01") |>
  ggplot(aes(x = date, y = gscpi)) +
  geom_hline(yintercept = 0, color = "grey50") +
  geom_line(color = "#1B3F8B", linewidth = 1) +
  geom_point(color = "#1B3F8B", size = 1.2) +
  scale_x_date(date_breaks = "6 months", date_labels = "%m/%y") +
  theme_minimal(base_size = 12) +
  theme(panel.grid.minor = element_blank(), plot.title = element_text(face = "bold"),
        plot.title.position = "plot", axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(x = NULL, y = "Écarts-types", title = "Pandémie, reprise puis normalisation",
       subtitle = "GSCPI mensuel depuis janvier 2019")

Distribution et périodes de tension

Code
gscpi_data |>
  mutate(annee = year(date)) |>
  group_by(annee) |>
  summarise(moyenne = mean(gscpi), .groups = "drop") |>
  ggplot(aes(x = annee, y = moyenne, fill = moyenne > 0)) +
  geom_col(show.legend = FALSE) +
  scale_fill_manual(values = c(`TRUE` = "#E8737A", `FALSE` = "#1B3F8B")) +
  scale_x_continuous(breaks = seq(1998, 2024, 2)) +
  theme_minimal(base_size = 12) +
  theme(panel.grid.minor = element_blank(), plot.title = element_text(face = "bold"),
        plot.title.position = "plot") +
  labs(x = NULL, y = "Écarts-types", title = "Moyenne annuelle du GSCPI",
       subtitle = "rouge : tensions supérieures à la moyenne")

Données

Code
gscpi_data |> arrange(desc(date)) |> mutate(date = format(date, "%Y-%m"), gscpi = round(gscpi, 2)) |>
  print_table_conditional()