Indice des prix à la consommation - Base 1970, 1980

Données - INSEE

Info

Last observation: Annuelle: 1992 (N = 375) · Mensuelle: 1992-12 (N = 228)

First observation: Annuelle: 1949 (N = 117) · Mensuelle: 1949-01 (N = 105)

Number of observations: 143 261

Last data update: 14 aoû 2026, 01:53. Last compile: 14 aoû 2026, 05:56

Structure

Données sur l’inflation en France

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

Last TIME_PERIOD

Code
`IPC-1970-1980` |>
  group_by(TIME_PERIOD) |>
  summarise(Nobs = n()) |>
  arrange(desc(TIME_PERIOD)) |>
  head(1) |>
  print_table_conditional()
TIME_PERIOD Nobs
1992-12 228

Info

  • Indice des prix des 295 postes.
Code
i_g("bib/insee/series-longues-macroeconomiques-1949-1979/historique.png")

Pondération

1979, 1989, 1992

Code
`IPC-1970-1980` |>
  filter(TIME_PERIOD %in% c("1949", "1969", "1992", "1979", "1989"),
         CORRECTION == "BRUT",
         NATURE == "POND",
         REF_AREA == "FM") |>
  select_if(function(col) length(unique(col)) > 1) |>
  select(-IDBANK, -TITLE_FR, -TITLE_EN, -DECIMALS) |>
  
  
  spread(TIME_PERIOD, OBS_VALUE) |>
  print_table_conditional()

Services de Santé

Code
`IPC-1970-1980` |>
  filter(NATURE == "POND",
         PRODUITS_IPC_1970_1980 == "760") |>
  year_to_date() |>
  mutate(OBS_VALUE = OBS_VALUE/10000) |>
  ggplot() + ylab("Poids des services de santé") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE)) +
  scale_color_manual(values = viridis(3)[1:2]) +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
                     labels = percent_format(accuracy = .1))

Produits pharmaceutiques

Code
`IPC-1970-1980` |>
  filter(NATURE == "POND",
         PRODUITS_IPC_1970_1980 == "587") |>
  year_to_date() |>
  mutate(OBS_VALUE = OBS_VALUE/10000) |>
  ggplot() + ylab("Poids des produits pharmaceutiques") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE)) +
  scale_color_manual(values = viridis(3)[1:2]) +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
                     labels = percent_format(accuracy = .1))

Table

1949, 1969

Code
`IPC-1970-1980` |>
  filter(TIME_PERIOD %in% c("1949", "1969"),
         CORRECTION == "BRUT",
         NATURE == "INDICE",
         REF_AREA == "FM") |>
  mutate(TITLE_FR = gsub("Indice des prix des 295 postes - Base 100 en 1970 - ", "", TITLE_FR),
         TITLE_FR = gsub("Indice des prix des 295 postes - Base 100 en 1980 - ", "", TITLE_FR)) |>
  select(TITLE_FR, BASIND, PROD = PRODUITS_IPC_1970_1980, REGR = REGROUPEMENTS_IPC_1970_1980, TIME_PERIOD, OBS_VALUE) |>
  spread(TIME_PERIOD, OBS_VALUE) |>
  print_table_conditional()

Loyers

Mensuel - Base 1980

Code
`IPC-1970-1980` |>
  filter(INDICATEUR == "IPC",
         REGROUPEMENTS_IPC_1970_1980 == "PARIS11" | PRODUITS_IPC_1970_1980 == "711",
         BASIND == "1980",
         FREQ == "M") |>
  month_to_date() |>
  group_by(REGROUPEMENTS_IPC_1970_1980, PRODUITS_IPC_1970_1980) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("1990-01-01")]) |>
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR, linetype = TITLE_FR)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 200, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

Mensuel - Base 1970

Code
`IPC-1970-1980` |>
  filter(INDICATEUR == "IPC",
         REGROUPEMENTS_IPC_1970_1980 == "PARIS11" | PRODUITS_IPC_1970_1980 == "711",
         BASIND == "1970",
         FREQ == "M") |>
  month_to_date() |>
  group_by(REGROUPEMENTS_IPC_1970_1980, PRODUITS_IPC_1970_1980) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("1983-01-01")]) |>
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR, linetype = TITLE_FR)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 200, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

Mensuel - Base 1970

All

Code
`IPC-1970-1980` |>
  filter(INDICATEUR == "IPC",
         PRODUITS_IPC_1970_1980 %in% c("711", "SO"),
         BASIND == "1970",
         FREQ == "M") |>
  month_to_date() |>
  
  group_by(PRODUITS_IPC_1970_1980) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("1983-01-01")]) |>
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = PRODUITS_IPC_1970_1980, linetype = PRODUITS_IPC_1970_1980)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 200, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

1960

Code
`IPC-1970-1980` |>
  filter(INDICATEUR == "IPC",
         PRODUITS_IPC_1970_1980 %in% c("711", "SO"),
         BASIND == "1970",
         FREQ == "M") |>
  month_to_date() |>
  filter(date >=as.Date("1960-01-01")) |>
  
  group_by(PRODUITS_IPC_1970_1980) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("1960-01-01")]) |>
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = PRODUITS_IPC_1970_1980, linetype = PRODUITS_IPC_1970_1980)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 1000, 50),
                     labels = dollar_format(accuracy = 1, prefix = ""))

Mensuel - Base 1970

Code
`IPC-1970-1980` |>
  filter(INDICATEUR == "IPC",
         PRODUITS_IPC_1970_1980 %in% c("711", "SO"),
         REGROUPEMENTS_IPC_1970_1980 == "SO",
         BASIND == "1980",
         FREQ == "M") |>
  month_to_date() |>
  
  group_by(PRODUITS_IPC_1970_1980) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("1983-01-01")]) |>
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = PRODUITS_IPC_1970_1980, linetype = PRODUITS_IPC_1970_1980)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 200, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

Annual - Base 1970

Code
`IPC-1970-1980` |>
  filter(INDICATEUR == "IPC",
         REGROUPEMENTS_IPC_1970_1980 == "PARIS11" | PRODUITS_IPC_1970_1980 == "711",
         BASIND == "1970",
         FREQ == "A") |>
  year_to_date() |>
  group_by(REGROUPEMENTS_IPC_1970_1980, PRODUITS_IPC_1970_1980) |>
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("1983-01-01")]) |>
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR, linetype = TITLE_FR)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 200, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))