With a designated perennial interest in housing and pricing, I’ve taken an interest into digging a bit deeper into my own hypotheses about San Francisco rental pricing. The data has been pretty easy to first scrape off Craigslist and then stored in an AWS database. After doing some set-it-and-forget-it engineering, it’s proved to now be quite the treasure trove of data for an extensive analysis over a couple of blog posts.

The first thing I wanted to explore was the effect of seasonality on rental pricing. I had always believed that there existed some sort of seasonality effect on the demand-side with hypotheses of families moving in the summer before school starting and college students and new grads scrambling to find leases in August and September. And yet I always had a suspicion that finding apartments in the wintertime, specifically November and December, would unlock more surprising deals in rentals.

Evidently I can look at the data to prove my hypothesis. I aggregated the weekly average and median prices of rent in San Francisco over the course of the past year. A disclaimer would be that it’s hard to definitively make assumptions about the seasonality effect when you only have data for one year.

There’s a dip in the average price starting in November that lifts a bit in February before dropping back down from April to June before steadily rising again in July.

However one thing to note is how the median price doesn’t actually move too much from November to July. This makes me think that there exists possibly a disparity in the actual distribution of rental prices.

I segmented the data into just looking at studios and one-bedrooms to get another deeper dive.

Here we see more of the same thing with a dip in the average price in November-December and then a plateau from there before an almost anomalous spike in August. The median price however dips some more after March while the average price stays the same (note the y-axis is from 2800-3300).

Plotting out the percentage of units at different price levels over time, this helps see the divisions between the mean and median prices over time.

Interesting. There exists a gradual spike in units under 2500 dollars a month where in February the percentage of units < $2500 is around 27% to a percentage peak of 34% in June.

The percentage of units < $3000 instead actually plateaus. This trend is evidence that there is either a specific spike in good rental deals in the beginning of summer or maybe an influx of older apartment units on the market that are just generally cheaper. Without looking more into the data it’s probably impossible to actually tell the effect from the resulting trend.

What about single rooms in existing apartments? I’ve written about this disparity when cheaper housing can be found by looking in existing housing units if you are looking as a single person.

There exists a bit more variance between the weeks from just less data overall but the seasonality trend can still be seen. Interestingly enough it doesn’t seem like there exists any difference in the trends between the percentage of price disparities when segmenting by <$1000, <$1250, and <$1500. While the cheaper studio and one-bedroom units had a gradual spike in the beginning of summer compared to the more expensive ones, there doesn’t exist much of a difference between the percentages of units < $1000 and <$1500.

Conclusion and TLDR: Try to time the housing search between December and June.

I want to dig deeper into this data. Stay tuned for Part 2.

Interviewing for a data science job? Check out a company I’ve founded called Interview Query, a newsletter that emails you data science interview questions a few times a week!