Finding the best locations in North Carolina’s Research Triangle to buy a home using Zillow data

It’s an odd time for the United States real estate market. On one hand, you have all-time high (or nearly all-time high) housing prices and on the other hand, the 30-year mortgage fixed-rate sits just below 7% at around 6.57% as of June 4.

Following a momentary dip in home prices towards the end of 2022 in many states, there has been a gradual uptick of valuations during the first half of 2023, even as high inflation continued to linger. Crippling mortgage rates haven’t scared off buyers either. In fact, some states such as North Carolina, Pennsylvania, New York, and Ohio didn’t even experience the minor dip in 2022.

Few areas in the country have experienced a greater surge in home prices than the Research Triangle region of North Carolina. Having been touted as the “next Silicon Valley”, this area has attracted several prominent tech companies to the region and experienced a massive influx of people over the past decade or so.

Comprising key cities such as Raleigh, Durham, Chapel Hill, Morrisville and Cary, this area also boasts the presence of top universities such as North Carolina State University (Raleigh), Duke University (Durham) and University of Chapel Hill. Not only has this has attracted top talent from all over the country but also the world.

With the presence of big companies in the area, the graduates from these prestigious schools don’t have to wander too far to pursue a career, whereby ensuring that some of the top talent from the area stay within the state.

For someone who has rented for the past eight years, I decided it might finally be the time to invest in a home. Having moved from Greensboro to Durham in early 2022, I have been monitoring the housing prices in the Research Triangle closely. But to my surprise, the gloomy economic conditions haven’t been able to bring the prices down. In fact, the prices are still increasing, albeit at a slower rate than the last 2-3 years.

Knowing full well the future potential of this area, I am finally leaning towards buying real estate here. However, I have given myself about a year to settle on a property. Here are the reasons for it:

  • Building cash for 20% down payment
    • Currently, most of my money is heavily invested in the stock market and my 401k. I don’t want to tamper with those funds and much prefer to let them do their work.
    • A time period of one year will hopefully give me enough time to accumulate the cash I need for the 20% downpayment before I actively start looking for a place.
  • High interest rates
    • Another major concern of mine is the high interest rate. As long as high inflation persists, the Fed will look to keep raising rates. Once overall consumer spending reduces, the interest rates should come down. Will that happen within a year? No one knows but I am willing to wait and see.
  • High housing prices
    • This one is not a major concern of mine, but it would be nice if the housing prices in NC drop over the next year or so. That way I can take advantage of the dip.
    • However, the US housing market has historically always risen in the long term. Hence, there is a strong possibility that whatever investment I make in a home is likely to appreciate over time.

The aspect of home buying I want to focus on a little bit more is the specific area or ZIP Code in which to purchase a property as some areas tend to see a higher rate of appreciation than others.

This is where this article comes in.

Below are my criteria for buying a property:

  • Condo or Townhouse
  • 2+ Bedrooms
  • 2+ Baths
  • Price < $500,000
  • Located in Durham/Chapel Hill/Morrisville/Cary/Raleigh

Yes, there are many other factors to consider other than the ones described above but these are the high-level ones I am keeping in mind during this initial phase of my home search.

Location is the biggest factor in buying a home

One of the main things to consider when purchasing a property is the ZIP Code in which it is located. The average price appreciation of a given area affects all homes in that area. Hence the popular notion of buying the cheapest home in an expensive neighborhood. Not that that’s my plan but it emphasizes the importance of being in a good location.

What makes a location good? What makes the property value of an area appreciate?

It can be multiple things such as inflow of companies, inflow of people, new properties, development of the region (roads, bridges, parks, bike lanes etc.), options for restaurants, bars, coffee shops, retails stores, educational institutions, parks, gas stations, malls, etc.

As mentioned earlier, the presence of good schools, tech companies, and property development is attracting people from all over the country to this region. With living expenses having gone through the roof in popular cities such as San Francisco, Los Angeles, and New York, many people have chosen to relocate to the Triangle area.

This in turn has increased the demand for further development in terms of entertainment, recreation and convenience for the public. In addition to this, big tech companies like Google, Apple and Microsoft are also investing heavily into the infrastructure of the area to build sophisticated campuses on par with more established tech hubs such as Silicon Valley and Austin.

The more development that takes place in the area, the more people will move in which will inherently increase demand for housing and drive prices up.

Hence, I would expect property valuations to keep increasing for decades in this area, especially given the fact that the Research Triangle is arguably still in an infant stage of development.

Dataset used for analysis

The dataset was extracted from the Zillow website via their extensive database of properties. Here is a direct link to the housing data page. 

Users can choose to segregate the data by different geographical areas or have other constraints. Data is also available for future forecasts, rentals, list and sale prices, sales counts and inventories for other types of analysis.

For this analysis, data from the Zillow Home Value Index (ZHVI) section was used which provides timeseries data averaged across specific geographical areas. In this case, the data was demarcated by ZIP Codes and consisted of only 2-bedroom homes as that was my preference.

Containing 16,551 rows and 290 columns, the dataset’s first few columns represent meta data such as RegionName (ZIP Code), State, City, and CountyName. All other columns consist of average monthly housing price data for each ZIP Code ranging from Jan 2000 to Dec 2022.

A link to the exact CSV dataset can be found here on my Github. This link also contains the code for the analysis.

Analyzing historical housing price trends across cities

If we look at the historical mean/median housing price trends in NC, the real estate market hit rock bottom towards the end of 2012 following which it has only seen an increasing trend.

Therefore, to get a fair estimate of the average yearly home price appreciation, I decided to analyze the 10 years from December 2012 to December 2022 and ignored the housing market crash that started in 2008.

Data indicates that Durham has experienced the greatest housing price appreciation over the past 10 years in terms of percentage of original price. Having seen a ~175% increase in property value, Durham beats the second highest city Cary which recorded ~132%, a value closer to the state average as well as that of Morrisville and Raleigh. Chapel Hill, on the other hand, experienced a distinctly lower price appreciation with a value of just ~85%

Interestingly, Chapel Hill has the highest average housing price today as well as 10 years ago but the rate of increase was lower than the state average. Durham started out as having the lowest average price but has experienced tremendous growth in the past 10 years.

Housing price increase percentage is the most important metric when trying to estimate future returns. This will determine a buyer’s rate of return (ROR) and represents value for your money. Return on investment (ROI) is the absolute return in dollar terms over a given period and heavily depends on the initial purchase price of the property.

This is why Cary sees the highest ROI over the next 10 years due to a combination of high initial purchase price and high yearly price appreciation. Chapel Hill comes in last for this metric while Morrisville, Raleigh and Durham are neck and neck.

ROI mostly depends on the price increase percentage. Therefore, over a long period of time, the total return, even with a smaller initial investment, could yield a great profit. In this case, Durham tops the charts with over a 60% return over the next 10 years.

Forecasting future returns across various ZIP Codes

Next, we look at the same statistics as above but at the ZIP Code level. This level of analysis truly reveals the nature of housing price distributions across a given state. It also provides more manageable geographical areas to consider when buying a property.

If we look at mean housing price on Dec 2022 (the end date of the historical data), three out of the top four ZIP Codes belong to Raleigh while the other falls under Cary. However, as we have previously seen, Chapel Hill had the highest average housing price of any of the cities. We wouldn’t have this kind of insight if we just analyzed the data at the city level.

Hence, despite Chapel Hill demanding higher prices generally, one might be more wary of prices in ZIP Codes 27608, 27607, and 27601, all of which are in Raleigh.

As expected, the reason why Raleigh’s average price is lower than Chapel Hill is due to cheaper codes such as 27610, 27616, 27604, 27606, 27615, and 27609 which represent six out of the seven cheapest locations, the other being 27704 in Durham. The table below shows the 10 cheapest ZIP Codes among selected cities.

If we look at the mean housing price appreciation rate from 2012 to 2022, the 10 highest ZIP Codes are dominated by Durham and Raleigh with the former containing five of those areas.

ZIP Codes 27701, 27704 and 27703, all of which are in Durham, experienced appreciation rates of 236.37%, 196.89% and 193.31% respectively. Fourth in the chart is 27610 from Raleigh at 176.70%, a sizeable drop from the previous value. However, spots 5 (27707) and 6 (27712) are once again occupied by Durham with values of 159.30% and 157.66% respectively.

Based on this data, it is evident that Durham has some of the most lucrative areas in the Research Triangle with regards to the rate of increase in housing price. As discussed earlier, Durham on average has the highest price appreciation rate of all the cities. This is evident from simply looking at the chart above. Notice that all the orange dots are roughly in the top half of the chart.

Also, all three ZIP Codes from Chapel Hill constitute the areas with the lowest price appreciation rate, all of which have seen less than 100% growth over the 10 years. This is also apparent from the city-level data.

Below, we look at the mean return on investment across ZIP Codes which highly correlates with the initial purchase price. Hence, we still see Raleigh as having the three codes (27608, 27601, and 27607) with the highest ROI with 27519 from Cary in fourth. All three Raleigh locations are expected to appreciate by $280,000 to $300,000 over the next 10 years.

It’s interesting to notice that 27701 (part of Durham) sits at number five with a projected appreciation of ~$243,525. The next code in the list (27703) also falls under Durham but the expected appreciation for this location is significantly lower at ~$209,562, a ~14% drop.

A key difference we see in this chart compared to the initial purchase price chart is that the lowest ROI is observed by 27514 which is located in Chapel Hill. On the initial purchase price chart, Raleigh had three codes at the bottom. This difference is caused by the generally low appreciation rate in Chapel Hill. Another code from this city, 27512, sits at third bottom due to the same reason. Only 27516 sits somewhere in the median of the distribution at ~$180,155.

Finally, let’s look at the average rate of return 10 years into the future. Similar to the appreciation rate data, ZIP Codes 27701, 27704, and 27703 (all from Durham) see the highest RORs with values of 70.27%, 66.32%, and 65.91 respectively.

Interestingly, ZIP Code 27610 from Raleigh has the fourth highest ROR. However, it only saw an ROI of ~$165,522 which was one of the lowest on the list. This means that 27610 must have had a low initial purchase price. In fact, it was right at the bottom. What this tells us is that someone could easily buy property in this area and see their money appreciate at a relatively faster rate than most other areas. It also indicates that this location probably experienced a great deal of development over the past 10 years and is likely to see similar growth in the future.

Yes, one would make more money in a ZIP Code like 27701 but the initial purchase price of that area is also quite high, making it out of reach for a lot of people.

Conclusion

Raleigh and Durham seem to be the two most lucrative cities to buy property in. Morrisville and Cary are decent options as well while Chapel Hill seems to be the least promising. This is based on analysis considering both city-level and ZIP Code-level data.

If one has the money, investing in Raleigh localities such as 27601, 27607 or 27608 will probably yield them the greatest return in absolute dollar terms. Cary also makes a good case with ZIP Code 27519 expected to yield ~$277,075 on average over the next 10 years which is a little more than a 55% return.

If someone wants good value for money and does not fancy going for a ~$500,000 property, ZIP Codes in Durham such as 27701, 27703 and 27704 could be promising, all of which have the highest projected price appreciation rates. The initial purchase price for these areas is under $350,000 while 27704 is below $300,000.

Or if someone really wanted to stretch their money, they could opt for 27610 in Raleigh which has the lowest average initial purchase price of ~$259,197. Furthermore, since this area has the fourth highest predicted appreciation rate over the next 10 years, it’s likely that this location might see rapid development in the years to come.

For me personally, I am leaning more towards one of the areas in Durham (mainly 27701) for the following reasons:

  • ZIP Code 27701 is projected to see the highest housing price appreciation rate over the next 10 years
  • My office is located in Durham
  • I already live in Durham (27701)
  • Durham in general is seeing a lot of development in terms of retail, restaurants, bars, etc., which will further drive growth
  • The city also has a host of outdoor recreational areas such as lakes, state parks, rivers, and trails.
  • Duke University is located in Durham which creates a bustling vibe and diverse demographic

Notice that I am also considering some personal factors in addition to the objective data that we looked that. Hence, the overall decision to purchase a home tends to be subjective.

Using the housing market analysis app

The app was created using Python and deployed using Streamlit. It can be accessed using this link.

Below are the instructions for using the app for analyzing housing data in the United States. These instructions are also posted at the top of the app’s page.

Simply follow the instructions to generate similar data analyzed above in this article. Data can be crunched for all states and cities. The timeline for the historical data can be entered by the user. This same historical data is also used for projecting future ROI and ROR based on the number of years chosen by the user.

A couple of other metrics that can be picked are whether to analyze the data in mean or median terms and by city or county. For the analysis performed in this article, I picked ‘mean’ and ‘city’ as the metrics.

Accessing the code for the app

The code as well as the dataset is managed in the following Github repository. Another way of accessing the app is by clicking the Open in Streamlit button in the readme section of the repo.

A follow-up article will be posted which will talk about some of the details of the Python code behind the app.

Final thoughts

As an end note, I want to re-iterate that this analysis is by no means the only thing to consider when evaluating real estate. Buying a new home is a deeply personal decision and there are many factors to consider, only one of which is finding a lucrative area.

There are home-specific factors to consider such as amenities, floorplan, finishing, materials, plumbing, air conditioning, structure, etc. There are proximity factors such as a school district, proximity to gyms, proximity to grocery stores, proximity to trails, proximity to the airport etc.

In fact, there are other monetary considerations such as mortgage interest, property tax, home insurance, HOA fees and closing costs that we haven’t even discussed.

Finally, there are intangible factors to consider. How does the place make you feel? What is your gut feeling about the purchase? Are you mentally prepared to part ways with a substantial amount of money which could have been invested or used somewhere else?

So, it’s important to take time to evaluate all the key factors involved in a home-buying process.

That’s all I have for now. Keep an eye out for a follow up article describing the technical aspects of the code behind the app. Hopefully this was a good read and people can take something away from it. Cheers!