Indice des prix d’entretien-amélioration des bâtiments - Base 2015

Données - INSEE

Info

Last observation: 2023-Q4

First observation: 1999-Q1

Number of observations: 1 720

Last data update: 23 jul 2026, 22:52. Last compile: 24 jul 2026, 06:14

Structure

LAST_COMPILE

LAST_COMPILE
2026-07-24

Last

Code
`IPEA-2015` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  head(1) %>%
  print_table_conditional()
TIME_PERIOD Nobs
2023-Q4 30

43-IPEA

Base = 2015

Code
`IPEA-2015` %>%
  filter(CONSTRUCTION_ACTIVITE %in% c("43-IPEA-C", "43-IPEA-H", "43-IPEA")) %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TYPE_BATIMENT)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(1997:2100, c(1)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(10, 200, 5)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

1999-

Code
`IPEA-2015` %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) %>%
  filter(CONSTRUCTION_ACTIVITE %in% c("43-IPEA-C", "43-IPEA-H", "43-IPEA"),
         date >= zoo::as.yearqtr("1999 Q1")) %>%
  group_by(TYPE_BATIMENT) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TYPE_BATIMENT)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(1999:2100, c(1)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(10, 200, 5)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2008-

Code
`IPEA-2015` %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) %>%
  filter(CONSTRUCTION_ACTIVITE %in% c("43-IPEA-C", "43-IPEA-H", "43-IPEA"),
         date >= zoo::as.yearqtr("2008 Q1")) %>%
  group_by(TYPE_BATIMENT) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TYPE_BATIMENT)) + 
  theme_minimal() + xlab("") + ylab("Indice de prix des travaux d’entretien-amélioration des bâtiments (100 = 2008T1)") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2008:2023, c(1, 3)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(10, 200, 5)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2015-

Code
`IPEA-2015` %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) %>%
  filter(CONSTRUCTION_ACTIVITE %in% c("43-IPEA-C", "43-IPEA-H", "43-IPEA"),
         date >= zoo::as.yearqtr("2015 Q1")) %>%
  
  group_by(TYPE_BATIMENT) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Type_batiment)) + 
  theme_minimal() + xlab("") + ylab("Indice de prix des travaux d’entretien-amélioration des bâtiments (100 = 2017T1)") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2015:2023, c(1, 3)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(10, 200, 5)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2017-

Code
`IPEA-2015` %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) %>%
  filter(CONSTRUCTION_ACTIVITE %in% c("43-IPEA-C", "43-IPEA-H", "43-IPEA"),
         date >= zoo::as.yearqtr("2017 Q1")) %>%
  group_by(TYPE_BATIMENT) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TYPE_BATIMENT)) + 
  theme_minimal() + xlab("") + ylab("Indice de prix des travaux d’entretien-amélioration des bâtiments (100 = 2017T1)") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2017:2023, c(1, 3)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(10, 200, 5)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2020-

Code
`IPEA-2015` %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%Y-Q%q")) %>%
  filter(CONSTRUCTION_ACTIVITE %in% c("43-IPEA-C", "43-IPEA-H", "43-IPEA"),
         date >= zoo::as.yearqtr("2020 Q1")) %>%
  
  group_by(Type_batiment) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Type_batiment)) + 
  theme_minimal() + xlab("") + ylab("Indice de prix des travaux d’entretien-amélioration \ndes bâtiments (100 = 2020T1)") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2020:2023, c(1, 2, 3, 4)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(10, 200, 2)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))