A Data Driven Approach to Evaluating the Vancouver Housing Market

Today, we will be looking at the Vancouver housing market in Canada. We collected rent data from Craigslist and also home prices from various websites. A home is on average the most expensive “investment” almost everyone makes and therefore, it is important to know the market. In this blog post, we will be answering questions such as:

  • What are the market rates for rents and homes in the Vancouver housing market?
  • At what prices are homes undervalued or overvalued?

The Vancouver housing market is one of the most expensive ones in the world. Consequently, one must spend a lot of money when purchasing a home. However, is the money spend on a home worth the cost? In order to answer this question, we also looked at price to rent ratios. In more detail, we wanted to know:

  • What locations have the best price to rent ratios?
  • In what locations should you buy and in what locations should you rent?

Vancouver real estate

Data Collection

The data for this project was obtained from various websites that listed home prices. The rent data on the other hand was collected with the craigr package which is available on github. After we collected the data, we spend a lot of time inserting the neighborhoods by looking at the street names.

We did that in order to decrease the variance for our home prices and rents but on the other hand introduced bias in our analysis. We thought that we would compare and evaluate neighborhoods rather than particular street names due to the fact we only had one house for some street names. Therefore, this would increase the variance for our homes. Consequently, we analysed the prices and rents by neighborhood. If you are interested in finding out more about the bias-variance trade-off, then check out this blog post.

We collected rent data and housing prices from Vancouver, Richmond, New Westminster, and Coquitlam. We restricted our search to apartments that cost less than a million dollars. This is because we did not want to collect any outlier luxury apartments worth millions of dollars.

Vancouver map

What Are the Market Rates for Rent and Home Prices in Vancouver?

Multiple Linear Regression for Housing Prices

In order to answer this question, we fit a multiple linear regression model. One for rents and one for home prices. For home prices, we regressed price on age, number of bathrooms bath, number of bedrooms bed, square feet squares, and neighborhood.

Regression Equation for Housing Prices in the Greater Vancouver Area

price= \beta_{0} + \beta_{1} age + \beta_{2} bath + \beta_{3} bed + \beta_{4} squares + \beta_{5} neighborhood + \epsilon

Below, you can find a summary table of the regression output. We only displayed the neighborhoods with the lowest estimates and the neighborhood with the highest estimates. We also displayed age, squares, bath, and bed as well as the intercept. For a full table, which displays the estimates of all neighborhoods, you can look at my github document.

Term

Estimate

Standard Error

Test Statistic

P-Value

Maple Ridge

-463157.24

33080.68

-14

< 0.01

Birchland Manor

-434377.78

61917.35

-7.02

< 0.01

Port Moody North

-400267.22

83778.72

-4.78

< 0.01

Port Coquitlam

-338276.29

27089.12

-12.49

< 0.01

Mary Hill

-317865.57

33957.2

-9.36

< 0.01

.

.

.

Age

.

.

.

-4861.85

.

.

.

192.17

.

.

.

-25.3

.

.

.

< 0.01

Squares

352.98

15.48

22.81

< 0.01

Bath

27452.53

6747.35

4.07

< 0.01

Bed

34660.06

5977.4

5.8

< 0.01

.

.

.

Downtown

.

.

.

42784.72

.

.

.

18277.2

.

.

.

2.34

.

.

.

0.02

Hollyburn

66132.75

27949.61

2.37

0.02

Eagle Harbour

74902.15

50326.06

1.49

0.14

Dundarave

90116.16

44587.16

2.02

0.04

West End

95721.22

21230.08

4.51

< 0.01

Yaletown

122073.08

22317.12

5.47

< 0.01

(Intercept)

476094.5

19136.08

24.88

< 0.01

From the output above, we can see that age, bed, bath, and squares are statistically significant. Some neighborhoods are also significant. As expected, the sign of age is negative. This means that on average, holding everything else constant, a one year increase in age decreases the value of the property by around $4861 dollars.

It is interesting to see that home prices in Maple Ridge drop the most when comparing to other neighborhoods. On the other hand, holding everything else constant, a home buyer has to pay 122,073 dollars extra when purchasing a house in Yaletown.

age, squares, bedbath, and neighborhood explain around 61% of the variation in home prices. So, 39% ar still unexplained and are due to other factors. The F-statistic is < 0.01 and so we can conclude that our model is better than the intercept-only model.

What Are the Market Rates for Home Prices in the Greater Vancouver Area?

When one wants to buy a home in Yaletown, the market price for a one bedroom, one bathroom apartment with 800 square feet and 10 years old is:

So, whenever you are interested in finding out the market rate of a particular house, then you can plug-in age, number of bathrooms and bedrooms, and square feet into this equation.

If the price of a home is lower than the result of the regression equation, then this house might sell below market value. Likewise, if the price of a home is above the price of the regression equation’s output, then this house might be above market value.

The next regression model we fit was for rents.

Multiple Linear Regression for Rent Prices in the Greater Vancouver Area

We regressed rent prices on bedrooms, square feet, and neighborhoods. For the Craigslist data, we unfortunately did not collect covariates for age and number of bathrooms. Consequently, this will lower the variation explained in rent prices.

Regression Equation for Rent Prices in the Greater Vancouver Area

price= \beta_{0} + \beta_{1} bed + \beta_{2} squares + \beta_{3} neighborhood + \epsilon

Term

Estimate

Standard Error

Test Statistic

P-Value

Cassin

-1119.2

706.52

-1.58

0.11

Broadmoor

-937.59

463.33

-2.02

0.04

Richmond South

-902.91

544.16

-1.66

0.1

Seafair

-708.06

487.95

-1.45

0.15

Connaught Heights

-687.54

930.74

-0.74

0.46

SqFt

.

.

.

1.2

.

.

.

0.04

.

.

.

26.73

.

.

.

< 0.01

.

.

.

Bedrooms

51.94

33.43

1.55

0.12

(Intercept)

.

.

.

584.04

.

.

.

371.81

.

.

.

1.57

.

.

.

0.12

.

.

.

Downtown Eastside

1433.39

615.72

2.33

0.02

Kitsilano

1636

377.7

4.33

< 0.01

Yaletown

1689.49

377.03

4.48

< 0.01

Coal Harbour

1941.04

389.59

4.98

< 0.01

Shaugnessey

2369.72

517.99

4.57

< 0.01

Bedrooms and square feet have positive coefficients. This means that on average, holding everything else constant, the more bedrooms and the more square feet an apartment has, the more expensive it will be. The most expensive neighborhoods are Shaugnessey, Coal Harbour, and Yaletwon. The p-values for these neighborhoods are statistically significant.

SqFtbedrooms, and neighborhood explain around 50% of the variation in rents. This means that the other 50% is due to other factors and remains unexplained in our model. The F-statistic is again statistically significant, which means that the fitted model with the covariates is better than the intercept-only model.

If you are interested in the full table with all neighborhoods then you can look at this github document.

What Are the Market Rates for Rent Prices in the Greater Vancouver Area?

The market rate for renting the same 1 bedroom apartment with 800 square feet in Yaletown would cost $3284 dollars.

The equation would look like this:

So, whenever there is an apartment with a renting price below the one you’ll get when plugging in the information into the equation above, then this apartment’s rent is likely below market value.

Likewise, is the renting price is above the price you’ll get from the equation, then the rent is likely above market value.

Here, I use the word likely because our regression equation explains only 50% of the variation in rent prices. Therefore, there might be other factors that contribute to rent prices that are not accounted for in the equation above.

Price to Rent Ratios for Different Neighborhoods in Vancouver

If you are familiar with the successful real estate investor Grant Cardone, then you have probably the sentence:

“Rent where you live and own what you can rent”.

grant-cardone

This is what we are trying to figure out now.

The price to rent ratio is calculated by the price of the house divided by the yearly rent. So, ratio = \frac{house price}{yearly rent} . Consequently, you want to rent when the price to rent ratio is high. This happens when the denominator of the equation (rent) is low and house prices, the nominator, is high. On the other hand, you want to buy a property, when the price to rent ratio is low. Meaning, a low nominator (house prices) and a high denominator (rents).

In What Locations in the Vancouver Housing Market Should You Buy and in What Locations Should You Rent?

We first calculated the average price of houses and rents in certain neighborhoods with certain square feet. Then we kept the neighborhoods that had at least three home prices listed and three rent listings. The reason why we did it is because we wanted to decrease the variance by averaging the neighborhood prices/rents and also by throwing out houses/apartments that had less than 3 listings.

Afterwards, we calculated the price to rent ratios by matching apartment prices and apartment rents with the same neighborhood and the same square feet.

The price to rent ratios would have been more accurate if we had also the age of certain apartments. This would ensure an even more accurate matching of house prices and rent prices. Consequently, this would have resulted in more accurate price to rent ratios.

The results are displayed in the table below.

Square Feet

Neighborhood

Number of Apartments with Rent Prices

Number of Apartments with Housing Prices

Price to Rent Ratio

801-901

Riley Park

5

6

41.304

701-801

Oakridge

5

5

37.535

801-901

Maple Ridge

10

3

34.498

801-901

Hastings-Sunrise

4

5

34.452

1101-1351

Brentwood

6

7

33.883

701-801

Metrotown

15

25

32.699

601-701

Richmond Central

15

17

31.330

601-701

Mount Pleasant

8

8

31.174

701-801

Hastings-Sunrise

3

14

31.023

601-701

.

.

.

.

Grandview-Woodland

.

.

.

3

.

.

.

.

3

.

.

.

.

31.023

.

.

.

.

801-901

West End

9

3

20.657

1351-1601

Richmond North

7

8

20.646

1601-1851

Maple Ridge

11

3

20.531

901-1001

Mount Pleasant

5

4

19.704

701-801

Grandview-Woodland

3

9

19.470

1001-101

Yaletown

14

3

18.898

1001-101

Downtown

12

5

18.523

1001-101

Kitsilano

4

7

18.504

901-1001

West End

8

4

17.974

1101-1351

Kitsilano

12

4

16.490

Again, for a full table, visit my github page.

Buying vs. Renting in the Greater Vancouver Real Estate Market

So, back to the question if you should buy or rent in Vancouver. If you want to live close to downtown Vancouver, then neighborhoods with a high price to rent ratio would be Hastings-Sunrise, Mount Pleasant, or Grandview-Woodland.

On the other hand, if you want to purchase a property for investment purposes then you should buy a home in Kitsilano, West End, Downtown, or Yaletown. These are the neighborhoods with the lowest price to rent ratios. It is also noticeable that these ratios suggest that apartments with higher square feet should be purchased. Consequently, apartments with 900 or more square feet will yield the lowest price to rent ratios. Smaller apartments in these areas, with 400, 500, or 600 square feet won’t be as profitable.

In addition to the table above, we also did the same analysis as above except that we predicted the rent prices from the previous regression for the housing data set. Likewise, we predicted the housing prices with the previous housing regression for the Craigslist data set.

Price to Rent Ratios for Different Neighborhoods by Predicting Renting Prices

We predicted rent prices for the housing price data set and then calculated the price to rent ratios.

Square Feet and Neighborhood

Average Housing Price

Number of Apartments

Predicted Renting Prices

Price to Rent Ratio

701-801 Cassin

562140

5

460.082

101.819

801-901 Cassin

635128

7

599.760

88.248

901-1001 Cassin

699275

12

711.096

81.948

1001-101 Cassin

795725

4

841.088

78.839

1101-1351 Cassin

851512

7

947.547

74.887

901-1001 South Slope

824580

5

1677.307

40.967

801-901 Maple Ridge

540233

3

1124.220

40.045

701-801 Marpole

792433

9

1660.701

39.764

901-1001 Eastburn

730966

3

1554.063

39.197

801-901 Arbutus Ridge

.

.

.

786160

.

.

.

.

5

.

.

.

.

1677.935

.

.

.

.

39.044

.

.

.

.

901-1001 Mount Pleasant

680750

4

2891.669

19.618

601-701 Yaletown

726514

7

3095.841

19.556

701-801 Kitsilano

746658

24

3187.909

19.518

1001-101 Kitsilano

821571

7

3579.117

19.129

601-701 Kitsilano

650889

28

3058.244

17.736

501-601 Kitsilano

619906

15

2946.907

17.530

601-701 Coal Harbour

697950

4

3340.204

17.413

501-601 Coal Harbour

643065

9

3261.879

16.429

401-501 Kitsilano

546222

4

2833.887

16.062

There are still some similarities when we are looking at the lowest price to rent ratios. The Kitsilano neighborhood has very low price to rent ratios for different square feet apartments. Similarly, for Yaletown. When we look at the highest price to rent ratios then we see that Cassin is on top with different square feet apartments.

Now, let’s look at price to rent ratios where we predict apartment prices for the Craigslist data set.

Price to Rent Ratios for Different Neighborhoods by Predicting Housing Prices

Here, we took the Craigslist data set and predicted the housing prices with the previous regression model. The table looks like this:

Square Feet and Neighborhood

Average Renting Price

Number of Apartments

Predicted Housing Price

Price to Rent Ratio

801-901 Riley Park

1660

5

828925

41.613

601-701 Univercity

1083

3

520626

40.048

701-801 Burnaby Central

1500

3

703518

39.084

401-501 Renfrew-Collingwood

1066

3

499441

39.0189

901-1001 Burnaby Central

1650

3

754664

38.114

1101-1351 South Slope

1875

4

821050

36.491

701-801 South Slope

1563

3

673455

35.898

401-501 Richmond Central

1216

3

512563

35.107

801-901 Hastings-Sunrise

1680

4

694280

34.439

401-501 Univercity

.

.

.

1135

.

.

.

3

.

.

.

468436

.

.

.

34.393

.

.

.

1351-1601 West End

4666

3

956150

17.074

1101-1351 Kitsilano

4493

12

902705

16.740

1601-1851 Yaletown

5798

6

1146763

16.482

1351-1601 Downtown

5508

5

989862

14.976

1351-1601 Coal Harbour

5439

5

939259

14.391

2351-2601 Yaletown

8500

3

1295070

12.697

1851-2101 Coal Harbour

7491

3

1079181

12.004

3601-4101 Kitsilano

12758

5

1628908

10.639

2351-2601 Kitsilano

11882

6

1263720

8.863

901-1001 Sunset

6183

3

619285

8.346

When we look at the highest price to rent ratios, then we can see that a lot of apartments are located in neighborhoods in Burnaby.

On the other hand, the lowest price to rent ratios appear in the Kitsilano neighborhood with various square feet. In addition to Kitsilano, some Downtown neighborhoods such as Yaletown, Coal Harbour, and West End also have very low price to rent ratios. Again, we see a low price to rent ratios for apartments with high square feet.

Overall, when looking at the three tables, we can conclude that the best investment properties can be found in neighborhoods in Downtown Vancouver. These neighborhoods have the lowest price to rent ratios. Consequently, these ones are the most promising ones for a positive cashflow.

The last two tables where we predicted housing prices and rent prices can be taken with a grain of salt. This is because the covariates square feet, bedrooms, and neighborhoods only explain around 50% of the variation in rent prices and only 42% of the variation in housing prices.

The most reliable table is the first one where we calculated the price to rent ratios by matching the actual housing and rent prices for certain neighborhoods and square feet.

Google Maps of Housing Prices in the Greater Vancouver Area

The picture below shows a Google Maps map of Greater Vancouver with all the apartments colored by neighborhood for housing prices. There are around 95 neighborhoods in total so some of the colors are very similar to each other. However, this is a rough visualization where the apartments are located that we have collected.

Vancouver Real Estate Google Maps

Limitations of the Study and Improvements

Limitations

  • We do not know how biased our home prices and rent prices are. We combined prices of multiple apartments by looking at their street addresses. Afterwards, we assigned these apartments to a specific neighborhood. This was done to lower the variance but at the same time has increased bias. Therefore, there may be some neighborhoods that only include expensive homes from a certain popular street or cheap apartments from streets less popular.
  • As already mentioned, we calculated the price to rent ratios by matching the average price of homes, for certain neighborhoods and square feet, with the average price of rents, for certain neighborhoods and square feet, for more than 3 apartments. This can be improved by also collecting age for rent apartments and then matching on these 3 variables, square feet, neighborhood, and age.
  • We also wanted to match apartments for rent and apartment prices by the number of bedrooms. However, because the data was sparse, we decided to only match on neighborhood and square feet.
  • Another limitation of our analysis is extrapolation.Extrarpolation happenes when we predicted home prices for the Craigslist data set. Some predicted home prices are exceeding one million dollars. However, remember that we only collected apartment prices below one million dollars. Therefore, our regression equation does not know how to handle apartment prices that exceed one million dollars. If you are not clear about the concept, then here is a great explanation with a great picture which explains the concept perfectly.

Improvements

  • A way to decrease the bias would be to collect more data. The data cleaning process for the Craigslist data was very time intensive because the posts are not well structured. Everyone can upload apartments and it is up to the person who posts how well structured the uploads are. Therefore, the street names are missing or only mentioned in the description sometimes. Consequently, getting information from Craigslist might be very time-consuming. It is better to find a commercial website who posts rent prices so we can get data from well structured uploads.
  • Another improvement would be to cross-validate our results. This means that for the multiple linear regression we do not know how large our error is. A way to solve this problem would be to scrape a validation set from Craigslist or other websites and then predict rents and housing prices on this data. Afterwards, one can compare the predicted results to the actual results on the website and then determine how large the error is. This would also show us if the tables with the price to rent ratios where we predicted home and rent prices are reliable.

All analysis was done in R and can be found on my github. Check out the code there if you are interested!

I hope you have enjoyed this little project about the Vancouver housing market. Let me know in the comments below of any improvements of the analysis or if you have any suggestions. Maybe you can come up with your own analysis of real estate in your area.

Additional Resources

  • If you want to create a similar analysis for your own area where you are living, then check out my blog posts about building a web scraper. Scraping Indeed job postings and scraping real estate data.  These blog posts will help you to develop your own scraper for any website.
  • Also check out my github document where you can find all the analysis and code you need for your own project.
  • Here is an article about price to rent ratios in Vancouver compared to San Francisco.
  • Here is another news article which talks about renting vs. buying in the Vancouver housing market. Note that all the graphs were done with ggplot 🙂 . They could have been a little bit nicer with a theme and a centered heading for example.