Residential Property Price Indices (RPPIs) and related housing indicators - HOUSING

Data - OECD

Info

Last observation: Q: 2019-Q4 (N = 408) · M: 2019-12 (N = 408) · A: 2019 (N = 431)

First observation: Q: 1914-Q2 (N = 1) · A: 1915 (N = 1) · M: 1948-01 (N = 1)

Last data update: 02 aoû 2026, 08:59. Last compile: 18 aoû 2026, 00:20

Structure

France, United States, Germany, Japan

CPI: 04.1 - Actual rentals for housing - CP040100

Code
HOUSING |>
  filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
         SUBJECT == "CP040100",
         FREQUENCY == "Q",
         MEASURE == "IXOB") |>
  quarter_to_enddate() |>
  left_join(HOUSING_var$LOCATION |>
              setNames(c("LOCATION", "Location")), by = "LOCATION") |>
  ggplot() + geom_line() + 
  aes(x = date, y = obsValue, color = Location, linetype = Location) +
  theme_minimal() + xlab("") + ylab("CPI: 04.1 - Actual rentals") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 200, 10)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  theme(legend.position = c(0.8, 0.20),
        legend.title = element_blank())

CPI: 04.2 - Imputed rentals for housing - CP040200

Code
HOUSING |>
  filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
         SUBJECT == "CP040200",
         FREQUENCY == "Q",
         MEASURE == "IXOB") |>
  quarter_to_enddate() |>
  left_join(HOUSING_var$LOCATION |>
              setNames(c("LOCATION", "Location")), by = "LOCATION") |>
  ggplot() + geom_line() + 
  aes(x = date, y = obsValue, color = Location, linetype = Location) +
  theme_minimal() + xlab("") + ylab("CPI: 04.2 - Imputed rentals") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 200, 10)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  theme(legend.position = c(0.8, 0.20),
        legend.title = element_blank())

CPI: Housing (04.1, 04.2, 04.3) - CPGRHO01

Code
HOUSING |>
  filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
         SUBJECT == "CPGRHO01",
         FREQUENCY == "Q",
         MEASURE == "IXOB") |>
  quarter_to_enddate() |>
  left_join(HOUSING_var$LOCATION |>
              setNames(c("LOCATION", "Location")), by = "LOCATION") |>
  ggplot() + geom_line() + 
  aes(x = date, y = obsValue, color = Location, linetype = Location) +
  theme_minimal() + xlab("") + ylab("CPI: Housing (04.1, 04.2, 04.3)") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 200, 10)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  theme(legend.position = c(0.8, 0.20),
        legend.title = element_blank())

CPI: Housing excluding imputed rentals for housing (04.1, 04.3) - CPGRHO02

Code
HOUSING |>
  filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
         SUBJECT == "CPGRHO02",
         FREQUENCY == "Q",
         MEASURE == "IXOB") |>
  quarter_to_enddate() |>
  left_join(HOUSING_var$LOCATION |>
              setNames(c("LOCATION", "Location")), by = "LOCATION") |>
  ggplot() + geom_line() + 
  aes(x = date, y = obsValue, color = Location, linetype = Location) +
  theme_minimal() + xlab("") + ylab("CPI: Housing (04.1, 04.2, 04.3)") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 200, 10)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  theme(legend.position = c(0.8, 0.20),
        legend.title = element_blank())

Canada, United Kingdom, Norway, Denmark

CPI: 04.1 - Actual rentals for housing - CP040100

Code
HOUSING |>
  filter(LOCATION %in% c("CAN", "GBR", "DNK", "NOR"),
         SUBJECT == "CP040100",
         FREQUENCY == "Q",
         MEASURE == "IXOB") |>
  quarter_to_enddate() |>
  left_join(HOUSING_var$LOCATION |>
              setNames(c("LOCATION", "Location")), by = "LOCATION") |>
  ggplot() + geom_line() + 
  aes(x = date, y = obsValue, color = Location, linetype = Location) +
  theme_minimal() + xlab("") + ylab("CPI: 04.1 - Actual rentals") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 200, 10)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  theme(legend.position = c(0.8, 0.20),
        legend.title = element_blank())

CPI: 04.2 - Imputed rentals for housing - CP040200

Code
HOUSING |>
  filter(LOCATION %in% c("CAN", "GBR", "DNK", "NOR"),
         SUBJECT == "CP040200",
         FREQUENCY == "Q",
         MEASURE == "IXOB") |>
  quarter_to_enddate() |>
  left_join(HOUSING_var$LOCATION |>
              setNames(c("LOCATION", "Location")), by = "LOCATION") |>
  ggplot() + geom_line() + 
  aes(x = date, y = obsValue, color = Location, linetype = Location) +
  theme_minimal() + xlab("") + ylab("CPI: 04.2 - Imputed rentals") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 200, 10)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  theme(legend.position = c(0.8, 0.20),
        legend.title = element_blank())

CPI: Housing (04.1, 04.2, 04.3) - CPGRHO01

Code
HOUSING |>
  filter(LOCATION %in% c("CAN", "GBR", "DNK", "NOR"),
         SUBJECT == "CPGRHO01",
         FREQUENCY == "Q",
         MEASURE == "IXOB") |>
  quarter_to_enddate() |>
  left_join(HOUSING_var$LOCATION |>
              setNames(c("LOCATION", "Location")), by = "LOCATION") |>
  ggplot() + geom_line() + 
  aes(x = date, y = obsValue, color = Location, linetype = Location) +
  theme_minimal() + xlab("") + ylab("CPI: Housing (04.1, 04.2, 04.3)") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 200, 10)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  theme(legend.position = c(0.8, 0.20),
        legend.title = element_blank())

CPI: Housing excluding imputed rentals for housing (04.1, 04.3) - CPGRHO02

Code
HOUSING |>
  filter(LOCATION %in% c("CAN", "GBR", "DNK", "NOR"),
         SUBJECT == "CPGRHO02",
         FREQUENCY == "Q",
         MEASURE == "IXOB") |>
  quarter_to_enddate() |>
  left_join(HOUSING_var$LOCATION |>
              setNames(c("LOCATION", "Location")), by = "LOCATION") |>
  ggplot() + geom_line() + 
  aes(x = date, y = obsValue, color = Location, linetype = Location) +
  theme_minimal() + xlab("") + ylab("CPI: Housing (04.1, 04.2, 04.3)") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 200, 10)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  theme(legend.position = c(0.8, 0.20),
        legend.title = element_blank())