Indices de prix de production et d’importation dans l’industrie

Données - INSEE

Info

Last observation: 2023-09

First observation: 1980-01

Number of observations: 375 078

Last data update: 13 aoû 2026, 05:20. Last compile: 13 aoû 2026, 06:28

Structure

NULL

Données sur l’inflation en France

source dataset Title .html .rData
insee ILC-ILAT-ICC Indices pour la révision d’un bail commercial ou professionnel 2026-08-12 2026-08-11
insee INDICES_LOYERS Indices des loyers d'habitation (ILH) 2026-08-12 2026-08-11
insee IPC-1970-1980 Indice des prix à la consommation - Base 1970, 1980 2026-08-12 2026-08-11
insee IPC-1990 Indices des prix à la consommation - Base 1990 2026-08-12 2026-08-11
insee IPC-2015 Indice des prix à la consommation - Base 2015 2026-08-12 2026-08-11
insee IPC-PM-2015 Prix moyens de vente de détail 2026-08-12 2026-08-11
insee IPCH-2015 Indices des prix à la consommation harmonisés 2026-08-12 2026-08-11
insee IPCH-IPC-2015-ensemble Indices des prix à la consommation harmonisés 2026-08-12 2026-08-02
insee IPGD-2015 Indice des prix dans la grande distribution 2026-08-12 2026-07-23
insee IPLA-IPLNA-2015 Indices des prix des logements neufs et Indices Notaires-Insee des prix des logements anciens 2026-08-12 2026-08-11
insee IPPI-2015 Indices de prix de production et d'importation dans l'industrie 2026-08-12 2026-08-12
insee IRL Indice pour la révision d’un loyer d’habitation 2026-08-12 2026-08-11
insee SERIES_LOYERS Variation des loyers 2026-08-12 2026-08-11
insee T_CONSO_EFF_FONCTION Consommation effective des ménages par fonction 2026-08-12 2026-08-02
insee bdf2017 Budget de famille 2017 2026-08-12 2026-08-02
insee echantillon-agglomerations-IPC-2024 Échantillon d’agglomérations enquêtées de l’IPC en 2024 2026-08-12 2026-08-02
insee echantillon-agglomerations-IPC-2025 Échantillon d’agglomérations enquêtées de l’IPC en 2025 2026-08-12 2026-08-02
insee liste-varietes-IPC-2024 Liste des variétés pour la mesure de l'IPC en 2024 2026-08-12 2026-08-02
insee liste-varietes-IPC-2025 Liste des variétés pour la mesure de l'IPC en 2025 2026-08-12 2026-08-02
insee ponderations-elementaires-IPC-2024 Pondérations élémentaires 2024 intervenant dans le calcul de l’IPC 2026-08-12 2026-08-02
insee ponderations-elementaires-IPC-2025 Pondérations élémentaires 2025 intervenant dans le calcul de l’IPC 2026-08-12 2026-08-02
insee table_conso_moyenne_par_categorie_menages Montants de consommation selon différentes catégories de ménages 2026-08-12 2026-08-02
insee table_poste_au_sein_sous_classe_ecoicopv2_france_entiere_ Ventilation de chaque sous-classe (niveau 4 de la COICOP v2) en postes et leurs pondérations 2026-08-12 2026-08-02
insee tranches_unitesurbaines Poids de chaque tranche d’unités urbaines dans la consommation 2026-08-12 2026-08-02

Info

LAST_COMPILE

LAST_COMPILE
2026-08-13

Last

Code
`IPPI-2015` |>
  group_by(TIME_PERIOD) |>
  summarise(Nobs = n()) |>
  arrange(desc(TIME_PERIOD)) |>
  head(1) |>
  print_table_conditional()
TIME_PERIOD Nobs
2023-09 1810

CPF 10.12 − Viandes de volailles

Prix de production

Tous

Code
`IPPI-2015` |>
  filter(INDICATEUR %in% c("ENS_IPP", "EXT_IPP", "EXT_ZE_IPP", "EXT_HZE_IPP", "FR_PB_IPP", "FR_PM_IPP"),
         PRODUIT_IPPI == "CPF_10-12",
         PRODUIT_DETAILLE_IPPI == "SO") |>
  
  month_to_date() |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = INDICATEUR)) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.5, 0.8),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y"))

2017-

Code
`IPPI-2015` |>
  filter(INDICATEUR %in% c("ENS_IPP", "EXT_IPP", "EXT_ZE_IPP", "EXT_HZE_IPP", "FR_PB_IPP", "FR_PM_IPP"),
         PRODUIT_IPPI == "CPF_10-12",
         PRODUIT_DETAILLE_IPPI == "SO") |>
  
  month_to_date() |>
  filter(date >= as.Date("2017-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = INDICATEUR)) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.5, 0.8),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = seq(1920, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y"))

Prix d’importation

Tous

Code
`IPPI-2015` |>
  filter(!(INDICATEUR %in% c("ENS_IPP", "EXT_IPP", "EXT_ZE_IPP", "EXT_HZE_IPP", "FR_PB_IPP", "FR_PM_IPP")),
         PRODUIT_IPPI == "CPF_10-12",
         PRODUIT_DETAILLE_IPPI == "SO") |>
  
  month_to_date() |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = INDICATEUR)) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.5, 0.8),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y"))

2017-

Code
`IPPI-2015` |>
  filter(!(INDICATEUR %in% c("ENS_IPP", "EXT_IPP", "EXT_ZE_IPP", "EXT_HZE_IPP", "FR_PB_IPP", "FR_PM_IPP")),
         PRODUIT_IPPI == "CPF_10-12",
         PRODUIT_DETAILLE_IPPI == "SO") |>
  
  month_to_date() |>
  filter(date >= as.Date("2017-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = INDICATEUR)) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.5, 0.8),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = seq(1920, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y"))

Energie

2017-

Code
`IPPI-2015` |>
  filter(!(INDICATEUR %in% c("ENS_IPP", "EXT_IPP", "EXT_ZE_IPP", "EXT_HZE_IPP", "FR_PB_IPP", "FR_PM_IPP")),
         PRODUIT_IPPI == "MIG_NRG",
         PRODUIT_DETAILLE_IPPI == "SO") |>
  
  month_to_date() |>
  filter(date >= as.Date("2017-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = INDICATEUR)) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.5, 0.8),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = seq(1920, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y"))

MDD, 1er prix, MN

MDD VS marques nationales

2 years

Code
PRODUIT_DETAILLE_IPPI <- read_parquet("PRODUIT_DETAILLE_IPPI.parquet")
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("105158", "105157", "101309", "101307", "107204", "107203")) |>
  
  mutate(produit = case_when(PRODUIT_DETAILLE_IPPI %in% c("105158", "105157") ~ "Pâtes molles",
                             PRODUIT_DETAILLE_IPPI %in% c("101309", "101307") ~ "Jambons cuits supérieurs",
                             PRODUIT_DETAILLE_IPPI %in% c("107204", "107203") ~ "Biscuits et gâteaux de conservation"),
         qualite = case_when(PRODUIT_DETAILLE_IPPI %in% c("105157", "101309", "107204") ~ "Marques Nationales",
                             PRODUIT_DETAILLE_IPPI %in% c("105158", "101307", "107203") ~ "Marques de Distributeur (MDD)")) |>
  left_join(PRODUIT_DETAILLE_IPPI, by = "PRODUIT_DETAILLE_IPPI") |>
  month_to_date() |>
  group_by(Produit_detaille_ippi) |>
  filter(date >= max(date)-years(2)) |>
  arrange(date) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = produit, linetype = qualite)) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.2, 0.75),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y"))

2 years

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
graphique6 <- `IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("105158", "105157", "101309", "101307", "107204", "107203")) |>
  
  mutate(produit = case_when(PRODUIT_DETAILLE_IPPI %in% c("105158", "105157") ~ "Pâtes molles",
                             PRODUIT_DETAILLE_IPPI %in% c("101309", "101307") ~ "Jambons cuits supérieurs",
                             PRODUIT_DETAILLE_IPPI %in% c("107204", "107203") ~ "Biscuits et gâteaux de conservation"),
         qualite = case_when(PRODUIT_DETAILLE_IPPI %in% c("105157", "101309", "107204") ~ "Marques Nationales (MN)",
                             PRODUIT_DETAILLE_IPPI %in% c("105158", "101307", "107203") ~ "Marques de Distributeur (MDD)")) |>
  left_join(PRODUIT_DETAILLE_IPPI, by = "PRODUIT_DETAILLE_IPPI") |>
  month_to_date() |>
  group_by(Produit_detaille_ippi) |>
  filter(date >= max(date)-years(2)) |>
  arrange(date) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
  mutate(produit = factor(produit, levels = c("Pâtes molles", "Biscuits et gâteaux de conservation", "Jambons cuits supérieurs"))) |>
  ungroup() |>
  select(qualite, produit, date, OBS_VALUE) |>
  arrange(produit, qualite, date)

write.csv(graphique6, file = "~/Desktop/graphique6.csv")

graphique6 |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = qualite), size = 1) +
  theme_minimal() + xlab("") + ylab("Indice 100 = Octobre 2021") +
  theme(legend.position = "bottom",
        legend.title = element_blank(),
        legend.margin=margin(t=-3),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = seq.Date(from = as.Date("2021-10-01"), to = Sys.Date(), by = "3 months"),
               labels = date_format("%b %Y")) +
  scale_color_manual(values = c("#005DA4", "#F59C00")) +
  facet_wrap(~ produit)

2 years - inverted

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("105158", "105157", "101309", "101307", "107204", "107203")) |>
  
  mutate(produit = case_when(PRODUIT_DETAILLE_IPPI %in% c("105158", "105157") ~ "Pâtes molles",
                             PRODUIT_DETAILLE_IPPI %in% c("101309", "101307") ~ "Jambons cuits supérieurs",
                             PRODUIT_DETAILLE_IPPI %in% c("107204", "107203") ~ "Biscuits et gâteaux de conservation"),
         qualite = case_when(PRODUIT_DETAILLE_IPPI %in% c("105157", "101309", "107204") ~ "Marques Nationales (MN)",
                             PRODUIT_DETAILLE_IPPI %in% c("105158", "101307", "107203") ~ "Marques de Distributeur (MDD)")) |>
  left_join(PRODUIT_DETAILLE_IPPI, by = "PRODUIT_DETAILLE_IPPI") |>
  month_to_date() |>
  group_by(Produit_detaille_ippi) |>
  filter(date >= max(date)-years(2)) |>
  arrange(date) |>
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[1]-1) |>
  mutate(produit = factor(produit, levels = c("Jambons cuits supérieurs", "Biscuits et gâteaux de conservation", "Pâtes molles"))) |>
  ungroup() |>
  select(qualite, produit, date, OBS_VALUE) |>
  arrange(produit, qualite, date) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = qualite), size = 1) +
  theme_minimal() + xlab("") + ylab("Inflation vs. Novembre 2021") +
  theme(legend.position = "bottom",
        legend.title = element_blank(),
        legend.margin=margin(t=-3),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5),
                     labels = percent_format(pre = "+")) +
  scale_x_date(breaks = seq.Date(from = as.Date("2021-11-01"), to = Sys.Date(), by = "3 months"),
               labels = date_format("%b %Y")) +
  scale_color_manual(values = c("#005DA4", "#F59C00")) +
  facet_wrap(~ produit)

Aout 2021

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`IPPI-2015` |>
left_join(PRODUIT_DETAILLE_IPPI, by = "PRODUIT_DETAILLE_IPPI") |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("105158", "105157", "101309", "101307", "107204", "107203")) |>
  
  mutate(produit = case_when(PRODUIT_DETAILLE_IPPI %in% c("105158", "105157") ~ "Pâtes molles",
                             PRODUIT_DETAILLE_IPPI %in% c("101309", "101307") ~ "Jambons cuits supérieurs",
                             PRODUIT_DETAILLE_IPPI %in% c("107204", "107203") ~ "Biscuits et gâteaux de conservation"),
         qualite = case_when(PRODUIT_DETAILLE_IPPI %in% c("105157", "101309", "107204") ~ "Marques Nationales",
                             PRODUIT_DETAILLE_IPPI %in% c("105158", "101307", "107203") ~ "Marques de Distributeur (MDD)")) |>
  month_to_date() |>
  group_by(Produit_detaille_ippi) |>
  filter(date >= as.Date("2021-08-01")) |>
  arrange(date) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = produit, linetype = qualite)) +
  theme_minimal() + xlab("") + ylab("Base 100 = Août 2021") +
  theme(legend.position = c(0.2, 0.75),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y"))

Pâtes: MN vs. MDD et 1er prix

Tous

Code
`IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("105128", "105157", "105158")) |>
  
  month_to_date() |>
  #filter(date >= as.Date("2017-01-01")) %>%
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = PRODUIT_DETAILLE_IPPI)) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = seq(1920, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y"))

2 years

Code
`IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("105128", "105157", "105158")) |>
  
  month_to_date() |>
  filter(date >= max(date)-years(2)) |>
  group_by(PRODUIT_DETAILLE_IPPI) |>
  arrange(date) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = paste0(PRODUIT_DETAILLE_IPPI, " (", PRODUIT_DETAILLE_IPPI, ")"))) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y"))

2022-

Code
`IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("105128", "105157", "105158")) |>
  
  month_to_date() |>
  filter(date >= as.Date("2022-01-01")) |>
  group_by(PRODUIT_DETAILLE_IPPI) |>
  arrange(date) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = PRODUIT_DETAILLE_IPPI)) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y"))

Jambons cuits supérieurs

2 years

Code
`IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("101307", "101309", "101310", "101311")) |>
  
  month_to_date() |>
  filter(date >= max(date)-years(2)) |>
  group_by(PRODUIT_DETAILLE_IPPI) |>
  arrange(date) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = paste0(PRODUIT_DETAILLE_IPPI, " (", PRODUIT_DETAILLE_IPPI, ")"))) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y"))

2022-

Code
`IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("101307", "101309", "101310", "101311")) |>
  
  month_to_date() |>
  filter(date >= as.Date("2022-01-01")) |>
  group_by(PRODUIT_DETAILLE_IPPI) |>
  arrange(date) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = paste0(PRODUIT_DETAILLE_IPPI, " (", PRODUIT_DETAILLE_IPPI, ")"))) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y"))

Yaourts et laits fermentés

2 years

Code
`IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("105110", "105121")) |>
  
  month_to_date() |>
  filter(date >= max(date)-years(2)) |>
  group_by(PRODUIT_DETAILLE_IPPI) |>
  arrange(date) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = paste0(PRODUIT_DETAILLE_IPPI, " (", PRODUIT_DETAILLE_IPPI, ")"))) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y"))

2022-

Code
`IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("105110", "105121")) |>
  
  month_to_date() |>
  filter(date >= as.Date("2022-01-01")) |>
  group_by(PRODUIT_DETAILLE_IPPI) |>
  arrange(date) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = paste0(PRODUIT_DETAILLE_IPPI, " (", PRODUIT_DETAILLE_IPPI, ")"))) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y"))

Beurre conditionné

2 years

Code
`IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("105122", "105123", "105124")) |>
  
  month_to_date() |>
  filter(date >= max(date)-years(2)) |>
  group_by(PRODUIT_DETAILLE_IPPI) |>
  arrange(date) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = paste0(PRODUIT_DETAILLE_IPPI, " (", PRODUIT_DETAILLE_IPPI, ")"))) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.2, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y"))

2022-

Code
`IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("105122", "105123", "105124")) |>
  
  month_to_date() |>
  filter(date >= as.Date("2022-01-01")) |>
  group_by(PRODUIT_DETAILLE_IPPI) |>
  arrange(date) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = paste0(PRODUIT_DETAILLE_IPPI, " (", PRODUIT_DETAILLE_IPPI, ")"))) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.2, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y"))

Biscuits et gâteaux de conservation

2 years

Code
`IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("107203", "107204")) |>
  
  month_to_date() |>
  filter(date >= max(date)-years(2)) |>
  group_by(PRODUIT_DETAILLE_IPPI) |>
  arrange(date) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = paste0(PRODUIT_DETAILLE_IPPI, " (", PRODUIT_DETAILLE_IPPI, ")"))) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.35, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y"))

2022-

Code
`IPPI-2015` |>
  filter(PRODUIT_DETAILLE_IPPI %in% c("107203", "107204")) |>
  
  month_to_date() |>
  filter(date >= as.Date("2022-01-01")) |>
  group_by(PRODUIT_DETAILLE_IPPI) |>
  arrange(date) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = paste0(PRODUIT_DETAILLE_IPPI, " (", PRODUIT_DETAILLE_IPPI, ")"))) +
  theme_minimal() + xlab("") + ylab("") +
  theme(legend.position = c(0.35, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)) +
  scale_y_continuous(breaks = seq(-100, 500, 5)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y"))