Pondérations élémentaires 2026 intervenant dans le calcul de l’IPC - ponderations-elementaires-IPC-2026

Données - INSEE

Pondérations élémentaires 2026 de l’IPC : 20 414 lignes, pour 3298 variétés et 98 agglomérations, tranches d’agglomérations ou territoires. Le niveau élémentaire d’agrégation est soit la variété seule, soit la variété par agglomération ou par tranche d’agglomérations. Les pondérations sont exprimées dans une unité propre à l’Insee (non normalisée à 100).

Il n’existe pas de base de sondage retraçant l’ensemble de la consommation des ménages par articles et points de vente. La consommation est donc d’abord décomposée par types de produit, appelés « variétés », choisis pour refléter l’hétérogénéité des postes de la nomenclature COICOP ; l’échantillon est mis à jour chaque année. Pour les relevés en points de vente physiques, un sondage à deux degrés tire des agglomérations (en plus de chaque territoire d’outre-mer) puis des produits et des points de vente par quotas ; les relevés Internet et les données de caisse suivent des règles spécifiques. La liste des variétés n’est pas diffusée au niveau fin dans l’IPC.

Niveaux d’agrégation

Code
pond |>
  count(niveau) |>
  ggplot(aes(x = n, y = fct_reorder(niveau, n))) +
  geom_col(fill = bleu) +
  geom_text(aes(label = format(n, big.mark = " ")), hjust = -0.1) +
  scale_x_continuous(labels = ~ format(.x, big.mark = " "), expand = expansion(mult = c(0, 0.15))) +
  theme_ref() +
  labs(x = "Nombre de pondérations", y = NULL, title = "Niveaux élémentaires d'agrégation")

Distribution des pondérations

Code
pond |>
  ggplot(aes(x = ponderation)) +
  geom_histogram(bins = 60, fill = rose) +
  scale_x_log10(labels = ~ format(.x, big.mark = " ")) +
  theme_ref() +
  labs(x = "Pondération (échelle log)", y = "Nombre de lignes",
       title = "Distribution des pondérations élémentaires",
       subtitle = sprintf("médiane : %.1f ; maximum : %s", median(pond$ponderation), format(round(max(pond$ponderation)), big.mark = " ")))

Variétés les plus pondérées (niveau variété)

Code
pond |>
  filter(niveau == "variété") |>
  slice_max(ponderation, n = 25, with_ties = FALSE) |>
  mutate(lab = str_trunc(str_to_sentence(variete), 50), terr = agglomeration) |>
  ggplot(aes(x = ponderation, y = fct_reorder(paste0(lab, " - ", terr), ponderation))) +
  geom_col(fill = bleu) +
  geom_text(aes(label = format(round(ponderation), big.mark = " ")), hjust = -0.1, size = 3) +
  scale_x_continuous(labels = ~ format(.x, big.mark = " "), expand = expansion(mult = c(0, 0.15))) +
  theme_ref() +
  labs(x = "Pondération", y = NULL, title = "Les 25 pondérations les plus élevées au niveau « variété »")

Lignes par agglomération ou territoire

Code
pond |>
  count(agglomeration) |>
  slice_max(n, n = 25, with_ties = FALSE) |>
  ggplot(aes(x = n, y = fct_reorder(agglomeration, n))) +
  geom_col(fill = vert) +
  geom_text(aes(label = n), hjust = -0.2, size = 3.2) +
  scale_x_continuous(expand = expansion(mult = c(0, 0.1))) +
  theme_ref() +
  labs(x = "Nombre de pondérations", y = NULL, title = "Territoires comptant le plus de pondérations élémentaires")

Top 100

Code
pond |> arrange(desc(ponderation)) |> head(100) |>
  print_table_conditional()

Toutes les pondérations

Code
pond |> arrange(desc(ponderation)) |>
  print_table_conditional()