British Columbia · 2017–2025
Every property sale in British Columbia passes through the same tax office, and the province publishes the totals every month. Nine years of them say something that cuts against the usual story: the boom largely bypassed the Lower Mainland.
Across 154 communities the typical sale price rose a median +83% — +45% once inflation is taken out. Greater Vancouver and its neighbours managed +58%. The towns that were cheapest in 2017 rose nearly twice as fast as the most expensive ones.
Ryan Dury · August 8, 2026 · data: full years 2017–2025
The ranking
Each bar is one of BC's 115 municipalities — the rural areas are held back for now, for a reason explained below. The vertical line marks 26.8%, what BC's consumer price index did over the same period. Anything left of that line got cheaper in real terms, and 9 of 115 did.
The names at the top are not the ones the housing conversation usually features. Ucluelet, Elkford, Pemberton, Clearwater, Revelstoke, Logan Lake, Fernie, Rossland — mountain and coastal towns, most of them small, most of them places people move to rather than places people commute from. Ucluelet's typical sale went from $233,449 to $693,747.
Click a region in the key below to see just its communities — the scatter further down and the table at the foot of the page follow along.
Swipe the chart sideways →
The province also reports the unincorporated countryside separately — “Nelson Rural” is the area around Nelson, not the city. Those 39 rural areas rose faster still, but a larger share of their sales is bare land, so the mix shifts more than in a town. They are in the table at the foot of this page.
The pattern
Group the same communities by the province's own development regions and the gap is stark. The Kootenays led at +103%. Mainland/Southwest — Vancouver, Surrey, Burnaby, Richmond and their neighbours — managed +58%, well below the provincial median of +83%. The City of Vancouver rose +37%; West Vancouver rose +2%, a real-terms loss of 20% once inflation is taken out.
Click any bar below to filter the rest of the page to that region. Click it again, or press Escape, to go back to all of BC.
That is not because the Lower Mainland got cheap. It is still far and away the most expensive place to buy, at a median $843,022 against $482,584 in the Kootenays. It is that the money moved somewhere else.
Only one region did worse, and for an unrelated reason. The Northeast came last at +29% — Fort St. John, Dawson Creek, Chetwynd, Tumbler Ridge. Those are gas-patch towns, and they track the resource cycle rather than the housing one. Fort St. John's typical sale price is up 4% in nine years, which after inflation means it lost 18% of its value.
Swipe the chart sideways →
Convergence
Sort every community by what it cost in 2017 and split it into quarters. The cheapest quarter rose +98%. The most expensive quarter rose +54%. The gap between BC's cheap towns and its expensive ones narrowed sharply — not because anywhere got more affordable, but because the bargains were used up. A town that cost $186,885 in 2017 is not a bargain any more; it is simply a smaller mortgage.
Swipe the chart sideways →
Log scale on the horizontal axis, so each step is a doubling of price.
Against earnings
Price alone is only half the question. Statistics Canada publishes median family income for 25 BC communities, so the two can be put side by side. Between 2017 and 2023 the median family income in these places rose +26% — almost exactly inflation. Prices rose +66%.
A typical home went from 4.0 years of a family's gross income to 5.8. The sharpest moves are on Vancouver Island: Courtenay went from 3.6 to 5.8, and Port Alberni — a mill town that was among the last affordable places on the island — from 3.2 to 5.3.
Swipe the chart sideways →
Income is published for census agglomerations, price for municipalities, so the level is approximate for the large metros. The change over time is measured on identical geography in both years.
The long view
BC has published the mortgage payment on a median home as a share of median after-tax family income every quarter since 1979. Today it is 46%. In the third quarter of 1981 it was 83%, when the median home cost $106,000 and prime was 21%.
This is the part that gets lost. Prices relative to income are the worst on record, but the monthly payment is not, because interest rates spent the intervening forty years falling. The burden is carried differently now: less in the monthly bill, more in the size of the down payment and the number of years owed.
Swipe the chart sideways →
Volume
The province recorded 146,107 market transactions across these communities in 2017 and 101,665 in 2025 — -30%. The peak was 2021. A market can get more expensive and less active at the same time, and this one did.
Swipe the chart sideways →
Look it up
All 154 communities with enough sales to measure in both years. Population change is from Statistics Canada's annual municipal estimates; it is blank for rural areas and a few First Nations governments that do not map to a census subdivision.
Swipe the table sideways →
Method
Prices are from the BC Ministry of Finance's Property Transfer Tax monthly municipal data, 2017–2025. Every transfer of property in the province is taxed and counted, so this is a census of sales, not a sample or a listing service. The figure used is the province's own median fair market value of market transactions in a municipality in a month. Residential property is a median 93% of those transactions.
The series starts in 2017 because that is as far back as it goes. There is no 2015 release at all. There is a 2016 one, but it was published for the foreign-buyer tax and it reports sixteen aggregate areas rather than municipalities — composites like “Rest of Metro Vancouver” and “Victoria, Esquimalt, Oak Bay, Saanich & View Royal”, covering three of the seven development regions. It cannot be joined to the municipal series, so it is left out.
A year's price is the transaction-weighted mean of that year's monthly medians, so a quiet month with three sales cannot outvote a busy one with three hundred. A community needs at least ten months of data and forty transactions in a year for that year to count, which is what keeps the smallest villages out of the ranking.
Real terms use the BC all-items consumer price index, which rose 26.8% between 2017 and 2025. Incomes are Statistics Canada table 11-10-0017, median before-tax income of all census families. Population is table 17-10-0155. The 1979 affordability series is BC Housing Affordability, published quarterly by the province.
Three wrinkles worth naming. The province splits seven municipalities across school-district boundaries from 2019 onward; those fragments are recombined here, with medians weighted by transaction count. The 2017 workbook stores every dollar figure as formatted text rather than as a number, which will quietly cost you that year's prices while leaving its sale counts intact. And the published median covers all market transactions, so in rural areas — where bare land is a larger share of sales — the mix shifts more than in towns. That is why rural entries are marked separately rather than folded into the municipal ranking.
Who made this
I'm Ryan — a software developer in Nelson. I build dashboards, internal tools and automation that take the repetitive work off a team's desk: the same pipeline behind this report, pointed at your numbers. If something in your business still runs on spreadsheets and guesswork, I'd like to hear about it.
hello@ryandury.com