Price to Rent Ratio for Multiple Regions

Price to Rent Ratio for Multiple Regions

March 7, 2022
analysis
R, real estate, investing

Overview #

A common metric that real estate investors rely on to determine where to invest is the price to rent ratio.

This is a fairly simple formula: \(Price to Rent Ratio = \frac{Median Home Price}{Median Annual Rent}\).

A high price to rent ratio suggests that the demand for rentals is high within a given market.

The general idea is that if real estate prices within a given area are extremely high relative to rent, renting will be far more financially accessible than buying, which would drive up the demand for rentals.

Real estate investors might want a consolidated view of price to rent ratios for multiple areas. Here we’ll put together just that view using publicly available data.

Data #

Zillow makes a lot of useful data available on their Housing Data page. Some of that data can be used to calculate the price to rent ratio for many regions over multiple periods.

The two pieces of data we’re looking at in this case are:

It’s a lot of data. I imagine it’d be a pain to mash the two data sources together using something like a spreadsheet. Fortunately, it’s a breeze with a little bit of R programming.

The ZHVI includes region identifiers, region names, region types, state, and separate monthly columns going back to the year 2000.

Here’s a trimmed down preview of the ZHVI dataset.

RegionID SizeRank RegionName RegionType StateName 2000-01-31 2000-02-29 2000-03-31
102001 0 United States Country NA 127215 127559 127921
394913 1 New York, NY Msa NY 223454 224790 225991
753899 2 Los Angeles-Long Beach-Anaheim, CA Msa CA 231141 231946 233179
394463 3 Chicago, IL Msa IL 169006 169405 169921
394514 4 Dallas-Fort Worth, TX Msa TX 130305 130410 130496
394974 5 Philadelphia, PA Msa PA 129210 129643 129903
394692 6 Houston, TX Msa TX 125299 125376 125258
395209 7 Washington, DC Msa DC 191888 192133 192510

Overall, there are 907 rows and 270 columns.

The ZORI dataset includes region identifiers, region names, and monthly columns going back to 2014. There are 102 rows and 100 columns.

RegionID RegionName SizeRank 2014-01 2014-02 2014-03 2014-04 2014-05
102001 United States 0 1264 1274 1275 1282 1294
394913 New York, NY 1 2208 2236 2243 2249 2280
753899 Los Angeles-Long Beach-Anaheim, CA 2 1797 1826 1814 1822 1845
394463 Chicago, IL 3 1403 1415 1417 1421 1436
394514 Dallas-Fort Worth, TX 4 1097 1123 1128 1144 1139
394974 Philadelphia, PA 5 1309 1276 1296 1300 1308
394692 Houston, TX 6 1142 1171 1159 1167 1191
395209 Washington, DC 7 1737 1776 1764 1764 1776

A few things I noticed when inspecting the data:

  • The RegionID field seems like a unique identifier common across both datasets, which is a good thing – it should make joining the two datasets fairly easy.

  • The months are represented differently. In the ZHVI data, the months are formatted as year-month-date, while the ZORI data is formatted as year-month. That needs to be standardized before the data can be joined, assuming we want to join the data by month and region.

  • The data in both cases is extremely wide. This is a bit clunky to work with and warrants some data restructuring.

The ZHVI dataset once restructured is much bigger with 240,090 rows and goes back further in time. In contrast, the ZORI dataset only has 9,894 rows. We’ll treat the ZHVI dataset as the main one, and enrich that dataset with the ZORI dataset.

After all the data manipulation and joining, we now have price to rent ratios calculated going back to January 2014. The latest period we have complete data for is January 2022.

Note that all region names we’re using here are based on the naming convention used in the Zillow source data.

Latest Period #

Here’s what the price to rent ratio looks like for multiple regions in the latest available period of Zillow data.

We’ve ordered the regions by descending ratio order.

## Warning: Using the `size` aesthetic with geom_segment was deprecated in ggplot2 3.4.0.
## ℹ Please use the `linewidth` aesthetic instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

We can examine the underlying median price and median rent data more directly as a scatter plot, with some trending applied.

Some labels are dropped to avoid cluttering the plot too much.

The same underlying data, but with some additional details in tabular form (feel free the poke around. This table is interactive.):

According to Property Onion, a ratio over 21 is deemed high, between 16 and 20 is deemed medium, and 15 and below is low.

The medium range suggests that a region is fairly balanced between average home value and average monthly rent.

Over Time #

Here’s how the price to rent ratio has changed over the last several years for multiple regions. This gives us a sense of how the market has shifted.

Conclusion #

The price to rent ratio is an extreme simplification, but it’s a useful quick benchmark for real estate investing. It should really only be considered one piece of information in the larger analysis for real estate investing.

If you’re looking into real estate investing, I hope you find this information helpful.

If there’s any other way you’d like to see this data sliced or presented, feel free to shoot me a message or drop a comment below.

If you want to grab the data that I’ve cleaned up and joined, you can download it here.

Resources #

This section contains affiliate links.

There’s a lot more to consider when considering where to invest in real estate. A good resource to start with is the Long-Distance Real Estate Investing book by David Greene.