194K+ repeat-sale pairs. Same property, different time. Pure appreciation, no composition noise.
Most Canadian housing price reports use median or average sale prices. These numbers are easy to calculate and easy to understand, but they measure the wrong thing.
When the median sale price in a city rises from $600,000 to $650,000, it does not necessarily mean properties appreciated by 8.3%. It might mean a higher proportion of expensive homes sold that month. The composition of what sold changed, not the value of what was already there.
A repeat-sale index solves this by tracking the same property across multiple transactions. If a specific house sold for $500,000 in 2019 and the same house sold for $575,000 in 2024, that is a 15% appreciation for that property. Aggregate thousands of these pairs and you get a measure of actual price appreciation that is not distorted by composition shifts.
A repeat-sale pair requires two confirmed transactions for the same property at two different points in time. Both transactions must have verified prices. The property must be identified consistently across both sales — meaning the identifier cannot change when the property relists or changes agents.
BrightCat uses a persistent property identity that does not rely on MLS numbers. MLS numbers change every time a property relists, which would break pair matching across sales cycles. The BrightCat identifier is address-based and survives relisting, agent changes, and brokerage switches.
As of April 2026, BrightCat has verified 194K+ repeat-sale pairs across Canadian provinces. Each pair has two confirmed transaction prices linked to the same physical property.
The BrightCat HPI measures price change ratios across repeat-sale pairs. Each pair contributes one observation: the ratio of the second sale price to the first sale price, indexed by the time period of each transaction.
The methodology accounts for holding period length and filters for anomalous transactions such as flips or distressed sales that may not represent normal market conditions.
The result is a time series of index values that measures pure price appreciation for a given geography, net of composition effects.
The sold transactions feeding the HPI come from BrightCat’s continuous capture pipeline, which has matched listing-to-sold records weekly across all ten Canadian provinces since 2014. Each sold event is connected to its full listing lifecycle, providing both the transaction price and the context around the sale.
The HPI is available as part of BrightCat Core on Snowflake Marketplace and via Snowflake Secure Data Share.
See the signals for yourself — real data, updated weekly.