Research standards

How CalgaryListings Housing Research Is Calculated

Every figure we publish comes from a stated source and a stated method. This page documents both — including what the data cannot tell you.

Communities analysed248
Sales in the current window21,630
Communities meeting the YoY floor189
Reporting periodRolling 12 months
Where the numbers come from

Data sources

Every figure on this site traces to one of six sources. We do not blend them, and we do not publish a number we cannot point back to a source for.

Data sources used in CalgaryListings research
SourceAccessed viaWhat it supplies
MLS® sold dataRepliers API (Pillar 9™ board data)Community sales counts, median sold price, days on market
MLS® active listingsRepliers API (Pillar 9™ board data)Inventory counts used for months of supply
CREB® Monthly Statistics Packagecreb.comCity and property-type benchmark prices, city sales and supply
City of Calgary open datadata.calgary.ca (SODA API)Property assessments, assessment history, community populations, land use
Statistics CanadaTable 11-10-0190-01Calgary CMA median family income, used only in the affordability report
Bank of Canada Valetbankofcanada.caPrime rate and energy price index
CREB® and MLS® data serve different purposes and are never interchanged. See the price definitions below — this is the single most common error in real estate reporting.
Three different numbers

Benchmark, median and average

These three are routinely used as if they mean the same thing. They do not, and mixing them produces claims that are simply wrong.

How the three price measures differ
MeasureWhat it isHow we use it
Median sold priceThe middle sale. Half sold for more, half for less.Resistant to one unusual sale. This is what we publish at community level.
Average (mean) sold priceTotal value divided by number of sales.We do not publish this at community level — one estate sale distorts it.
Benchmark priceCREB®'s MLS® Home Price Index estimate for a typical home.A modelled construct, not a median. Published by CREB® at city, district and property-type level only — never per community.

If you are comparing our community medians against a CREB® benchmark headline, you are comparing two different statistics. They will not agree, and neither is wrong.

What counts as a sale

How sales are counted

A sale is an MLS® listing whose status is sold with a sold date inside the reporting window. The current window is a rolling twelve months, 2025-08-01 to 2026-07-31, compared against the same twelve months a year earlier (2024-08-01 to 2025-07-31).

Rolling twelve-month windows are used deliberately. Calgary has a strong seasonal rhythm — a single calendar month tells you more about the time of year than about the market, and at community level a month often contains too few sales to say anything at all.

Terminated, expired and re-listed properties are not counted as sales. A property that sells once is one sale regardless of how many times it was listed.

Which community a sale belongs to

Community boundaries

A sale is assigned to the community recorded on the listing itself (the MLS® neighbourhood field), not to a boundary we have drawn. That keeps our counts reconcilable with the board's, and it means a community's name here matches what a REALTOR® would search.

Consequence worth knowing: acreages and some new developments arrive with no neighbourhood recorded. Those sales sit outside community-level analysis rather than being assigned a best guess.
How property types are classified

Property type

Four types, exactly as the board records them: Detached, Semi Detached (Half Duplex), Row/Townhouse, and Apartment. We do not invent categories such as “villa” or “bungalow” in the data — those describe style or storeys, not the ownership and structure the board classifies on.

The mix-shift trap. A community's all-types median moves when the mix of what sold changes, not only when prices change. In the current period, nine Calgary communities show an all-types median moving in the opposite direction to every individual property type inside them. For that reason we never publish an all-types community median as a price change — price comparisons are always like-for-like within one property type.
How each metric is calculated

Metric definitions

Calculation of each published metric
MetricHow it is calculated
SalesCount of sold listings with a sold date in the window.
Median sold priceThe median of sold prices for that community and window.
Days on marketThe mean days on market of sold listings — not a median. A small number of long-listed homes will pull this upward, so read it as a tendency rather than a typical experience.
Active inventoryCount of listings in active status at the time the dataset was built. It is a snapshot, not a period average.
Months of supplyActive inventory divided by the average monthly sales rate (annual sales ÷ 12). Roughly: how long today's inventory would last at the current pace. Under two months favours sellers, four or more favours buyers, between is balanced.
Sale-to-list ratioMedian sold price divided by median list price, expressed as a percentage. Above 100% means the typical home sold for more than the typical asking price. A ratio of medians, not a median of ratios — see the limitations below.
New listingsCount of listings that came to market inside the reporting window, by list date, whatever later became of them. It includes listings that sold, expired or were withdrawn, so it is a measure of supply arriving rather than supply remaining.
Year-over-year changeThe change in median sold price between the current twelve months and the prior twelve months, as a percentage.
Where we refuse to publish

Small samples

Most misleading neighbourhood statistics are not wrong arithmetic. They are correct arithmetic on too few sales. A community with six sales can show a 40% median swing because one large house sold.

Three floors are applied, and a community that falls below one simply does not appear in that analysis:

Minimum sample sizes
AnalysisMinimumEffect
Year-over-year price change20 sales in both periods189 of 248 communities qualify
Ranking tables (fastest, most active)30 salesPrevents a three-sale community topping a ranking
Community × property type median12 sales per periodApplied before any like-for-like comparison
Where a comparison cannot be made responsibly, the page says insufficient sales for reliable comparison rather than showing a number with a caveat underneath it.
What this data does not tell you

Known limitations

Stated plainly, because a research source that hides its limits is not a research source:

Limitations of the current dataset
LimitationDetail
Sale-to-list is a ratio of mediansIt is median sold price divided by median list price for the community — not the median of each property’s own ratio. The two are different statistics and can differ materially. Aggregate medians are what the feed exposes.
No community benchmark priceCREB® does not publish MLS® HPI benchmarks at community level. Any source showing one has produced it another way.
Days on market is a meanSee above — it is not a typical experience.
Active inventory is a snapshotTaken on the build date shown on each report.
Private sales are absentThis is MLS® data. Homes sold privately are not represented.
Assessment data lags the marketA City roll for year N reflects market value as at 1 July of year N−1. We date assessment analysis by market year, not roll year, and say so on the page.
How current this is

Update frequency and corrections

The community dataset is rebuilt from the MLS® feed when the CREB® monthly release lands, which is usually in the first week of the following month. Every research page renders from that dataset, so the whole set moves together rather than drifting apart.

Each report shows the reporting period and the date it was generated. If those two disagree with a figure quoted elsewhere on the site, the report is the authority.

Corrections. If we publish something wrong we fix the underlying data, regenerate the affected reports, and note the correction on the report itself. We do not quietly edit a number and leave the page looking untouched. To report an error, use the media page.

How this was made

Methodology

Dataset
assets/research/calgary-neighbourhoods.json, rebuilt monthly
Reporting period
2025-08-01 to 2026-07-31
Sample floors
20 sales both periods for YoY; 30 to rank; 12 per property type
Analysis
CalgaryListings Group

Full definitions, sample-size floors and the limits of this dataset: how our research is calculated.

Cite this data

Free to cite and quote. Attribution appreciated, no link required.

Report: CalgaryListings Research Methodology
Reporting period: 2025-08-01 to 2026-07-31
Underlying source: MLS® data via Repliers (Pillar 9™), CREB® and City of Calgary open data
URL: https://www.calgarylistings.com/research-methodology/

Suggested attribution:

CalgaryListings Group analysis of MLS® data via Repliers (Pillar 9™), CREB® and City of Calgary open data, CalgaryListings Research Methodology (2025-08-01 to 2026-07-31). https://www.calgarylistings.com/research-methodology/

Journalists can request the underlying figures or comment through our media page.