Skip to contents

The IQAIW (Índice QuintoAndar ImovelWeb) is a rental index for major Brazilian cities. The index is based on both new rental contracts (managed by QuintoAndar) and online listings from QuintoAndar's listings (including ImovelWeb).

Usage

iqaiw

Format

A data frame with 1,660 observations across 6 cities and multiple time periods:

date

Date of the observation (first day of month)

name_muni

Name of the municipality. One of: Belo Horizonte, Brasília, Curitiba, Porto Alegre, Rio de Janeiro, São Paulo

rooms

Number of rooms in the property, or "Total" for city-level aggregate

index

Rental price index, normalized to 100 at first observation per city

chg

Monthly percent variation of the index (decimal form)

acum12m

12-month accumulated variation of the index (decimal form)

price_m2

Estimated rental price per square meter (R$/m²)

Details

The IQAIW was developed in 2023 and replaced the former IQA index. Given the change in methodology and data sources, the IQAIW is not directly comparable to the IQA index.

Methodology

The index is a hedonic double imputed index. It controls for quality changes using a flexible GAM specification with location variables. The underlying sample mixes new rental contracts with online listings, so the index does not measure either source in isolation.

QuintoAndar acquired the ImovelWeb brand in 2021-22, and the IQAIW name reflects the merger of the two brands.

Examples


# To visualize the dataset
head(iqaiw)
#> # A tibble: 6 × 7
#>   date       name_muni      rooms index      chg acum12m price_m2
#>   <date>     <chr>          <chr> <dbl>    <dbl>   <dbl>    <dbl>
#> 1 2019-05-01 Belo Horizonte Total  100  NA            NA     19.2
#> 2 2019-10-01 Belo Horizonte Total  100.  0.00351      NA     19.2
#> 3 2019-11-01 Belo Horizonte Total  100.  0.00282      NA     19.2
#> 4 2019-12-01 Belo Horizonte Total  101.  0.00145      NA     19.3
#> 5 2020-01-01 Belo Horizonte Total  101.  0.00730      NA     19.4
#> 6 2020-02-01 Belo Horizonte Total  103.  0.0128       NA     19.7
str(iqaiw)
#> tibble [1,660 × 7] (S3: tbl_df/tbl/data.frame)
#>  $ date     : Date[1:1660], format: "2019-05-01" "2019-10-01" ...
#>  $ name_muni: chr [1:1660] "Belo Horizonte" "Belo Horizonte" "Belo Horizonte" "Belo Horizonte" ...
#>  $ rooms    : chr [1:1660] "Total" "Total" "Total" "Total" ...
#>  $ index    : num [1:1660] 100 100 100 101 101 ...
#>  $ chg      : num [1:1660] NA 0.00351 0.00282 0.00145 0.0073 ...
#>  $ acum12m  : num [1:1660] NA NA NA NA NA ...
#>  $ price_m2 : num [1:1660] 19.2 19.2 19.2 19.3 19.4 ...

# Plot index over time for all cities
library(ggplot2)

iqaiw_rooms <- subset(iqaiw, rooms != "Total" & !is.na(acum12m))

ggplot(iqaiw_rooms, aes(x = date, y = acum12m, color = rooms)) +
  geom_line(lwd = 0.5) +
  geom_hline(yintercept = 0) +
  scale_color_benvi_d(pal_name = "qual_6", name = "Rooms") +
  facet_wrap(vars(name_muni), ncol = 3, scales = "free") +
  labs(
    title = "IQAIW: 12-month rental price change",
    x = "Date",
    y = "12-month change (decimal)"
  ) +
  theme_benvi(base_family = "sans")