Every figure we publish comes from a stated source and a stated method. This page documents both — including what the data cannot tell you.
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.
| Source | Accessed via | What it supplies |
|---|---|---|
| MLS® sold data | Repliers API (Pillar 9™ board data) | Community sales counts, median sold price, days on market |
| MLS® active listings | Repliers API (Pillar 9™ board data) | Inventory counts used for months of supply |
| CREB® Monthly Statistics Package | creb.com | City and property-type benchmark prices, city sales and supply |
| City of Calgary open data | data.calgary.ca (SODA API) | Property assessments, assessment history, community populations, land use |
| Statistics Canada | Table 11-10-0190-01 | Calgary CMA median family income, used only in the affordability report |
| Bank of Canada Valet | bankofcanada.ca | Prime rate and energy price index |
These three are routinely used as if they mean the same thing. They do not, and mixing them produces claims that are simply wrong.
| Measure | What it is | How we use it |
|---|---|---|
| Median sold price | The 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 price | Total value divided by number of sales. | We do not publish this at community level — one estate sale distorts it. |
| Benchmark price | CREB®'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.
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.
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.
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.
| Metric | How it is calculated |
|---|---|
| Sales | Count of sold listings with a sold date in the window. |
| Median sold price | The median of sold prices for that community and window. |
| Days on market | The 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 inventory | Count of listings in active status at the time the dataset was built. It is a snapshot, not a period average. |
| Months of supply | Active 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 ratio | Median 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 listings | Count 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 change | The change in median sold price between the current twelve months and the prior twelve months, as a percentage. |
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:
| Analysis | Minimum | Effect |
|---|---|---|
| Year-over-year price change | 20 sales in both periods | 189 of 248 communities qualify |
| Ranking tables (fastest, most active) | 30 sales | Prevents a three-sale community topping a ranking |
| Community × property type median | 12 sales per period | Applied before any like-for-like comparison |
Stated plainly, because a research source that hides its limits is not a research source:
| Limitation | Detail |
|---|---|
| Sale-to-list is a ratio of medians | It 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 price | CREB® does not publish MLS® HPI benchmarks at community level. Any source showing one has produced it another way. |
| Days on market is a mean | See above — it is not a typical experience. |
| Active inventory is a snapshot | Taken on the build date shown on each report. |
| Private sales are absent | This is MLS® data. Homes sold privately are not represented. |
| Assessment data lags the market | A 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. |
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.
Full definitions, sample-size floors and the limits of this dataset: how our research is calculated.
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.