Matheos Zaharopoulos
Navigate back to the homepage

How has COVID affected private sales of single homes in Québec?

Matheos Zaharopoulos
August 15th, 2020 · 4 min read

Montréal Private Seller Single Home Market Analysis - August 2020

Over the past 4 and a half months, I have collected listings from various sources which aren’t part of the multiple listing service (MLS). My goal is to use this data for research to design a machine learning tool that may be used for investing. It is important to clarify that my intent with this data is for personal research and education. The code you see is in Python and the data format JSON.


  • Median Prices continue to increase (+4.96%)
  • New listings have decreased*
  • Gatineau is the hotest market followed by Charlesbourg and Longueuil.
  • Cost of shelter has gone up by +0.7% and mortgage interest has gone down by -0.3%
  • Employment is up by +2.4% in July 2020
  • Unemployment is down by -1.4 pts in July 2020

*Note: The number of listings was not officially tracked, this highlight is based on personal judgement

Machine learning and Data Visualization

Machine learning requires data pre-processing, aggregation, and design. Having faith in the scientific method, I must begin by acknowledging there are areas of this report in which I can question the validity of the data. My goal is to highlight the weaknesses as the article progresses.
The method of data collection was not proportionate on each scrape, nor was it scheduled. Further, a script was used to collect the data, meaning no human checked for errors. On multiple tests and from macro perspectives, the input was less than 1% error. The errors come from parsing more advanced information. For the sake of this article, I dropped rows with cells like “price upon request” instead of numeric values. More so, I collected data about the asking price and not actual sold price.

Data Preprocessing Example


Google Places and GeoLocation

I labelled the municipality through Google’s Geo-location API. They receive the address and return longitudinal and latitudinal points along with other information such as the street number, street name, administrative regions by level and more. The long string of decimal numbers shows the precision Google offers. In my algorithm, I’ve used it to restrict comparable properties to listings within 7 km circular area from the property in evaluation. Cross-referencing my algorithmic parsing of each listing with Google’s information helps to improve internal validity of the dataset.

Google Geolocation Results

Balancing the Data

To balance the number of listings each month, I selected a random sample of equal proportion from May, April, June and July. I based the strata size on the month with lowest number of listings, so I can plot where we are today (August 14th, 2020). Manipulation of data inherently and automatically creates doubt in my mind, so I encourage those reading to do their own research. In this example, the ‘_id’ represents each month and we can see that May includes an abnormal number of listings. The reason is that it includes listings from “around” May, many of which may have been from an unknown amount of days prior. On average, the MLS reports 93,595 sales and 121,700 new listings in the last 4 quarters. If we divide this number by 12, it is nearly 11,064 listings per month. Keep in mind that the MLS are listings sold with a real estate agent. The difference is that the listings used for this dataset are not sold through licensed real estate agents and are privately listed. Also, I have not adjusted for seasonality. However, at face value the assumption that both datasets follow similar patterns seems reasonable and so does this logic. I agree, however, that the last sentence is likely contestable with a deeper perspective. I am working with 511 random samples from each month. The total is 2044 samples over 4 and a half months.

Unbalanced dataset example
511 per group

Statistical Analysis and Trend Model

The new balance sample is re-sampled 100 times, with a random listing missing to help reduce the variance in the results and increase reliability. This technique is usually not done one hundered times but thousands of times while removing one sample at random. To avoid plotting error bars, I showed the standard error of the mean in this table. The standard error of the mean represents the boundaries (+/-) in which the true mean falls. This means the true median price of homes in June falls somewhere between +/- $9631.51 from the predicted median asking price of a single home. For those who are unsure of what the median price means, it is the middle value of the market. If we took numbers between 1 and 10 the median would be 5, the number that seperates the lower half and upper half of values.

100 iterations of N-1
Standard error of the mean

In my case, the predicted median asking price of a home in June was somewhere within the bounds of $323,368.49 and $342,631.51. It is clear the market trend seems to show growth in asking price until July. August still has half a month and remains unclear, so I wouldn’t count it as a decline. If you check the ratio between May and July, there was a 4.9645% increase in asking prices. This is on par with what’s shown on the MLS statistics for median sales prices change in the last quarter.

Quebec Real Estate Trends 2020
+4.95% median price increase

Action by Area & Key Market Indicators

I list the top 10 areas with the most activity in the following picture. Gatineau (Gatineau) has 21 listings total, followed by Charlesbourg with 20. Activities in August are high when sorting the areas with the highest number of listings in a month. You can see this by looking at Charlesbourg with 12 listings, which comes in third overall. In addition, Granby comes in fourth overall for August.

In conclusion, real estate markets seem to have remained stable. I observed significant decreases in new listings, although I have no proof. I remarked a ~25% to ~30% ballpark decrease in new listings which is slightly larger than what they show on the MLS resources. The heated markets pre-COVID has transitioned smoothly into a stable sellers’ market which may very-well be on the rise. Canada’s consumer price index shows inflation in the cost of shelter up from 1.0 in May to 1.7 in June. In addition, mortgage interest costs have decreased. Both signs I believe support a sustainable real estate market for Québec, considering the data presented in this article. Employment in Québec is up by 2.4% and unemployment down by 1.4%. Labour markets are a powerful indicator of real estate prices according to Zillow, one of the leading US based online real-estate listing service.

Number of Listings in August 2020 per Municipality
Listings per Municipality by Month
Canadian CPI 2020
Mortgage Interest Cost Canada 2020
Canadian Employment 2020
Canadian Unemployment 2020

Feedback is beyond welcome, it’s appreciated. I am testing these new template to provide articles with greater ease to focus on contact. Do you like it? Did you prefer the old one? Let me know. Anyone who is interested in knowing more please send me an email. I truly enjoy sharing my work on this topic! Not to mention that the data is easily plotted to show things such as the value of various bathroom designs, or finished and unfinished basements, and more…

Additional Housing Info

More articles from Trends

Are Home Renovations Worth it in Québec?

When designing a home for a flip or resell value, it is worth knowing your choices. This article evaluates the added value from each design choice with a macro lense of Québec.

September 4th, 2020 · 5 min read

Montréal Rental Market Analysis

With the Real Estate market in constant flux, how can you tell what's a good deal? Renting in Montréal for investors and tennants perspectives are considered when assessing the data.

August 27th, 2020 · 5 min read
© 2020 Trends
Link to $ to $