Previously working at a real estate investment marketplace, I’ve been lucky enough to get exposure to industry trends and data. Living in the Bay Area, I’ve also been lucky enough to get exposure to local real estate news.

Over the last 5–7 years, a major factor in the real estate market has been rapid home price appreciation. Historically low interest rates and low unemployment coupled with a recovery from the 2008 crash has driven home prices up every year. In the single family rental world, because of this rapid appreciation and lagging rent growth, there’s been yield compression in many markets.

To better visualize this appreciation, I looked at home value data from the top 20 markets in the US from Zillow (ZHVI Single Family Homes Time Series by Metro & US). I used Python packages pandas and matplotlib to create the following graphic tracking home prices in markets since 2007 up until April 2019:

If you would like to replicate or make modifications, here is the code:

import pandas as pd
import matplotlib as plot
import matplotlib.pyplot
#load csv into dataframe
zdata = pd.read_csv(
#select dates starting from January 2007
z2 = zdata.loc[:,'2007-01':'2019-04']
for i in range(0,len(z2)):
z = z2.iloc[:,i]
z = z.sort_values(ascending = False)
z = z[:20] #select top 20 cities
plot.pyplot.ylabel('region', labelpad = 60)
ax = z.plot(kind='barh',width = .925, color = 'k')
for i, v in enumerate(z):
ax.text(v - 250000, i+.25, '${:,.0f}'.format(v), color = 'w')
ax = ax.invert_yaxis()
#plot.pyplot.figure(figsize =(13.00, 5.25))
plot.pyplot.savefig('%s.png', dpi = 150, bbox_inches = 'tight')

I had to scrub the raw CSV file downloaded from Zillow data due to one of the region names containing a symbol that was fidgeting with my import.

The above code produced a bar chart image for each time series contained in the identified range. I then combined the images using a gif maker I found via Google.