Skip to content

dws-data/uk-house-price-affordability-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UK House Price Analysis (2002–2025)

A data analytics portfolio project exploring 20+ years of UK house price trends — regional variation, the London premium, and the widening affordability gap.

Tools: Power BI · Python (Pandas, Plotly, Shapely)
Data: HM Land Registry Price Paid · ONS ASHE Regional Wages


Key Findings

  • Prices more than doubled across the UK between 2002 and 2025 — a 162% increase in median price
  • London's affordability crisis is severe and worsening — in 2025, the median London home costs 12.7× the median annual wage, up from around 7× in 2005
  • The North East remains the most affordable region at 5.2× — but even that has risen sharply from ~3× in the early 2000s
  • No region has improved — the affordability ratio has worsened everywhere since 2005, not just in London

Workflow

This project follows a genuine dual-tool DA workflow:

Power BI was used for exploratory analysis and the business-facing dashboard — slicing by region, property type, and year to surface patterns in the data.

Python was used for outputs that go beyond what BI tools can easily produce: interactive choropleth maps with tiled base maps, animation across 21 years, and the affordability ratio overlay combining two separate datasets.


Outputs

Power BI Dashboard

Regional dashboard with year, property type, and region filters. Key KPIs: median price, total transactions, price growth %.

Full Dashboard

London vs North East

South East

North West — Flat vs Detached


Python — Choropleth Maps

All maps are interactive HTML files — hover for region detail, use the animation controls to step through years.

Median House Price by Region (2005–2025)
python/outputs/uk_house_prices_choropleth_animated.html

Housing Affordability Ratio by Region (2005–2025)
Affordability ratio = median house price ÷ median annual wage (regional vs regional)
python/outputs/uk_affordability_ratio_animated.html

Static 2025 snapshots also available in python/outputs/.


Data Sources

Dataset Source Coverage
Price Paid (PP) HM Land Registry 1995–2026, ~31M transactions
Regional Wages (ASHE) ONS NOMIS 2002–2025, median gross annual pay by region
Region Boundaries ONS Open Geography Portal European Electoral Regions (UK)

Data files are not included in this repo — see the sources above to download them directly.

For the boundary files, download the European Electoral Regions (December 2024) Boundaries UK BFE GeoJSON from the ONS Open Geography Portal and save it to data/boundaries/regions_uk.geojson.


File Structure

data_vis_project/
├── data/
│   ├── boundaries/          # GeoJSON region boundary files
│   └── cleaned/             # Aggregated price and wages data
├── powerbi/
│   └── uk_house_prices.pbix
├── python/
│   ├── clean_price_paid.py          # Raw → cleaned CSV (chunk processing)
│   ├── aggregate_price_paid.py      # 31M rows → aggregated by region/year
│   ├── choropleth_house_prices.py   # Median price choropleth (static + animated)
│   ├── choropleth_affordability_ratio.py  # Affordability ratio choropleth
│   └── outputs/                     # HTML map outputs
└── portfolio/
    ├── screenshots/         # Power BI dashboard screenshots
    └── recordings/          # Screen recording of animated choropleth

About

UK house price trends and affordability analysis (2002–2025) — Power BI dashboard and Python choropleth maps

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages