One standardized record per residential property in Canada, with everything the property has done on the market since 2014 rolled up onto that row. 32 columns. This is the table behind the Canada Property Master File listing on the Snowflake Marketplace, and the file the Investor Signals and Renovation Signals tables are drawn from.
Each record is one residential property: address, city, province, postal code and FSA, then its market history. The dates it was first and last seen, whether it is on the market now, how many times it has been listed for sale and for rent, campaigns, lifetime days on market, dark days between listings, sale-side price cuts, a renovation flag with count and uplift, bedrooms, bathrooms, floor area and property type as first and last observed, investor flags, and asking gross yield and price-to-rent where the property has both an asking price and an asking rent.
The file is built for matching. Attach it to a customer file, a mortgage book, an insurance portfolio or a service territory on address and postal code, and every matched property comes back with its market history. Column names are as they appear in the Snowflake listing.
| Field | Type | Description |
|---|---|---|
PROPERTY_ID | Text | Persistent property identifier. Stable across every listing, relist and sale of the home, and the join key to the Investor Signals and Renovation Signals tables. |
ADDRESS | Text | Standardized street address, upper case, unit first where there is one. |
CITY | Text | City or municipality, upper case. |
PROVINCE | Text | Province or territory, two-letter code. |
POSTAL_CODE | Text | Canadian postal code. |
FSA | Text | Forward sortation area: the first three characters of the postal code. |
| Field | Type | Description |
|---|---|---|
FIRST_SEEN | Text | Date the property was first observed on the market, in any listing, since March 2014. |
LAST_SEEN | Text | Date the property was last observed on the market. |
CURRENTLY_ACTIVE | Text | Values t or f. Whether the property was on the market, for sale or for rent, at the most recent weekly refresh. |
SALE_LISTINGS | Text | Number of times the property has been listed for sale. |
RENT_LISTINGS | Text | Number of times the property has been listed for rent. |
LISTING_CAMPAIGNS | Text | Number of distinct listing campaigns across both markets. A relist after a short gap stays inside the same campaign; a return after a long gap starts a new one. |
LIFETIME_DOM | Text | Total days on market across every listing of the property. |
DARK_DAYS | Text | Total days the property spent off the market between campaigns. |
| Field | Type | Description |
|---|---|---|
SALE_PRICE_CUTS | Text | Number of asking-price reductions across the property's sale listings. |
SALE_CUT_PCT_OF_PEAK | Text | The deepest reduction as a percentage of the peak asking price. |
SALE_NET_CUT_DOLLARS | Text | Dollars cut from the peak asking price to the latest asking price. |
| Field | Type | Description |
|---|---|---|
RENO_FLAG | Text | Values t or f. Whether a renovation has been detected in the property's listing history: a bedroom added or removed, a bathroom added, floor area changed, a pool added or removed, a change of property type, or a price step that a plain relist does not explain. |
RENO_COUNT | Text | Number of renovations detected. Empty where RENO_FLAG is f. |
RENO_PRICE_UPLIFT_PCT | Text | Change in asking price across the most recent renovation, as a percentage of the asking price before it. Kept as calculated; a placeholder asking price on one side produces an outlier, so band the column when ranking. |
| Field | Type | Description |
|---|---|---|
BEDS_FIRST | Text | Bedrooms as published on the first listing observed. Kept as published, so values like 4 + 1 appear. |
BEDS_LATEST | Text | Bedrooms as published on the most recent listing. |
BATHS_FIRST | Text | Bathrooms as published on the first listing observed. |
BATHS_LATEST | Text | Bathrooms as published on the most recent listing. |
SQFT_FIRST | Text | Floor area as published on the first listing observed, in the unit the listing used. |
SQFT_LATEST | Text | Floor area as published on the most recent listing, in the unit the listing used. |
PTYPE_FIRST | Text | Property type as published on the first listing observed. |
PTYPE_LATEST | Text | Property type as published on the most recent listing (Single Family, Condo, Multi-family, Vacant Land, Parking, Agriculture, Recreational). |
| Field | Type | Description |
|---|---|---|
INVESTOR_FLAGS | Text | Investor flags the property carries, separated by semicolons, or empty. The seven values are defined on the Investor Signals schema. |
EVER_DUAL_LISTED | Text | Values t or f. Whether the property has ever been listed for sale and for rent at the same time. |
ASKING_GROSS_YIELD_PCT | Text | Latest asking rent, annualized, as a percentage of the latest asking price. Filled only where the property has both an asking price and an asking rent. |
ASKING_PRICE_TO_RENT | Text | Latest asking price divided by the latest annual asking rent. Filled only where both exist. |
TRY_TO_NUMBER() and dates with TRY_TO_DATE().ADDRESS and POSTAL_CODE, both upper case. One record per property means one hit per address.INVESTOR_FLAGS filled is in the first; one with RENO_FLAG = t is in the second. Join all three on PROPERTY_ID.The product page for the master file: what it is for and who uses it. Listed on the Snowflake Marketplace as Canada Property Master File.
Product page →Every property in this file that carries an investor flag, as its own table.
Schema →