The rebound in the housing market since the financial crisis has been quite substantial, especially since 2011. This has consequently caused rental rates to rise across the country. In the major cities, such as New York and San Francisco, this is extremely noticeable. In second tier cities, such as Cleveland or even Chicago, rents have not been on the rise to the same extent.
One of the most interesting trends is looking at the New York City housing market as compared to San Jose and San Francisco, CA. According to Zillow 1-bedroom rental data, New York City rental prices were the highest in the country just last year. Since then, San Jose and San Francisco, CA have surpassed NYC. Could the tech boom in Silicon Valley be leading to a housing bubble there? Maybe not in the near term, but if the 'bubble' were to pop, it would like be caused by "a lot of these [tech] companies failing and not needing real estate," according to Hessam Nadji, managing director at real estate investment services firm Marcus & Millichap. And if the tech companies don't need real estate, it is likely they won't need as many employees either. Who knows whether this will actually occur in the coming years but the excessive rental price escalation in the San Francisco Bay area has not been seen in any other city across the country since the recovery.
Have a look at the data and see for yourself! Utilizing Zillow Research data, we have displayed 1-bedroom rental rate trends across the US in the visualizations below.
Source: Zillow Research
Text about 3rd viz here
Source: Zillow Research
Methods and Experiences
Even before building the visualizations, we realized our historical rental price data from Zillow did not have latitude and longitude coordinates for the major US cities. Of course, we needed this data to plot the cities as points on the map. We solved this by using the ggmaps library within R to query the Google API with each city name for the coordinates.
We have already constructed maps, line charts, and scatter plots in class. Improving the functionality and adding features to the charts is what took most of our time. For example, adding the dropdown menu within the first two visualizations, allowing the user to choose exactly which city to investigate further, was a struggle. It first needed to be populated with the various city names. We also created a unique identifier for each city (different from the city name). Attaching a class to the points and lines in the charts equal to this identifier allowed us to highlight those points and lines when the dropdown selection was changed. A smaller struggle was setting the number of ticks on the x-axis in the line chart. Since the labels are considered categorical, we can't simply set the number of ticks. Instead we had to use a workaround using a filter statement.
Another struggle was getting the tooltip to work properly in an iframe. If the tooltip was displayed outside of the svg (e.g. for a city on the right side of the map), normally it would just run over the side of the svg. Since the iframe is like a separate page within the current page, we could not have the tooltip display outside the iframe. Our temporary solution was to simply to give the tooltip the same position (at the top of the visualization) no matter what was selected.