1979 to 2015 — Average rent in San Francisco

I recently started learning R and the graphing package ggplot2 and wanted to explore the rental prices in the city I live in San Francisco. I just moved to a new place in the city and the prices was crazy so I wanted to see how this compared to rental prices in the city over a long time horizon.

This first visualization is a graph of the median monthly rent price for a two bedroom apartment in San Francisco from 1979 to 2015.

Note that these prices are also adjusted for inflation using the Bureau of labor statistics CPI inflation index. For example the price of rent on this chart in 1980 ($1376) is priced in today’s (2015) dollars.


  • The dot com bubble and recent rise up in technology companies had a much bigger effect in SF rental prices vs. the housing crash in 2008–2009.
  • Rental rates are well past the 1999–2001 highs. I wonder how much the next big correction will bring prices down.
  • San Francisco (on average) is prohibitively expensive at this point. Even making $100K per year would make living difficult in San Francisco, especially with a family. I can start to appreciate why people are upset.

This second visualization is a graph of the year over year rate change in median rental prices for a 2 bedroom apartment in San Francisco from 1979 to 2015.

Note that these rates are based on the inflation adjusted prices.


  • In this chart you can clearly see the upwards trend leading up towards the first dot com crash, price stabilization and fall during the housing crash, and the recent sharp rise upwards with our newest startup funding environment.
  • Purely looking at rental rates in SF, it looks like we are in a bubble with a much sharper increase vs. the dot com days. (when looking at just rental rates).
  • The one big difference is this recent run up happened right after the lows of 2008–2009 vs. the dot com era was more of a gradual increase over 20 years.

Data Sources

Rental data came from the sources below. Prices were corroborated from more than one source and when there were differing medians I would average out to the median result.