Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌊 the property shockwave

A machine-learning scenario engine for seeing where property-market pressure appears first, who feels it, and which evidence should change the decision.

House prices are the last chapter of the story. By the time they move, households have already refinanced, buyers have hesitated, offers have fallen through and transaction liquidity has thinned.

The Property Shockwave starts earlier.

It models how a macroeconomic event travels through five UK property segments over a 1 to 3-year horizon. It combines out-of-time prediction, segment-specific transmission logic, Monte Carlo uncertainty and decision-reversal governance in one board-facing application.

The interesting question is not simply what the market will do. It is where the pressure appears first, what that means commercially, and what evidence would prove the current judgement wrong.

Executive pulse

what makes this different

Most property projects stop at a forecast. This project treats a forecast as the start of the decision.

  • Transmission before price: follows the path from macro shock to household exposure, buyer behaviour, liquidity and business activity.
  • Different markets, different clocks: Prime Central London, London Mainstream, South East Commuter, Regional City and UK Rental respond separately.
  • Uncertainty stays visible: 250 Monte Carlo draws create an 80% scenario interval for each path.
  • Opportunity travels with risk: each Shock Passport identifies the adjacent commercial response, not only the downside.
  • Every judgement can be reversed: the Decision Reversal Register states what evidence would change the recommendation.
  • Prediction and judgement remain separate: models estimate outcomes; transparent rules frame enterprise action.

the analytical journey

flowchart TD
    A[Macro shock] --> B[Household exposure]
    B --> C[Buyer behaviour]
    C --> D[Market liquidity]
    D --> E[Business activity]
    E --> F[Board decision]
    F --> G[Reversal triggers]
Loading

Shock propagation

scenarios included

Scenario Question tested
Higher for longer What if rates remain 1 percentage point above the base case?
Refinancing wall What if elevated rates collide with concentrated fixed-rate maturities?
Sterling reset What if sterling weakness changes international demand for prime property?
Confidence recovery What if rates ease and buyer confidence returns faster than expected?

Every scenario can be viewed over 12, 18, 24, 30 or 36 months.

shock passports

Each market segment receives one compact decision card containing:

  • Severity score from 0 to 100
  • Forecast transaction impact
  • First pressure month
  • Refinancing exposure
  • Confidence level
  • Most relevant commercial opportunity

Shock passports

decision reversal testing

A recommendation without a reversal condition is just a belief with good formatting.

The engine records the current judgement, the evidence that would overturn it and whether the trigger has fired. This creates a living contract between analysis and leadership rather than a quarterly forecast that quietly expires.

Decision reversal register

model design

Three Gradient Boosting models are trained using a strict time-based split:

Target Why it matters
Transaction index Measures market liquidity and business-volume pressure
Fall-through rate Captures fragility between offer and completion
Rental-demand index Surfaces opportunity created by blocked ownership demand

Inputs include policy and mortgage rates, unemployment, sterling, consumer confidence, refinancing exposure, international demand, buyer enquiries, instructions, fall-throughs and days to offer.

The scenario layer then applies segment-specific sensitivity, delayed shock transmission and 250 simulation draws. This avoids the false assumption that all markets absorb the same event at the same speed.

Model assurance

responsible interpretation

This is a portfolio demonstration using reproducible synthetic data. That is deliberate and clearly labelled.

  • The models are predictive, not proof of causality.
  • Synthetic behaviour cannot reproduce Knight Frank client data.
  • Longer horizons carry wider uncertainty.
  • Structural breaks can invalidate historical relationships.
  • Strategic recommendations still require accountable human judgement.

The project is designed so private internal performance data and licensed economic series can replace the synthetic layer without rewriting the decision architecture.

repository map

property-shockwave/
├── app.py                         Streamlit boardroom application
├── src/
│   ├── data_generation.py         Reproducible market panel
│   ├── engine.py                  Models, scenarios and passports
│   └── pipeline.py                End-to-end orchestration
├── scripts/
│   ├── run_demo.py                One-command project build
│   └── generate_screenshots.py    Publication-quality gallery
├── data/processed/                Scenario and governance outputs
├── models/                        Trained model bundle
├── outputs/                       Excel board pack
├── assets/screenshots/            Six dashboard views
├── docs/                          Method, data and stakeholder notes
└── tests/                         Pipeline integrity tests

run it locally

git clone https://github.com/YOUR-USERNAME/property-shockwave.git
cd property-shockwave
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m src.pipeline
streamlit run app.py

Run the tests:

PYTHONPATH=. pytest -q

Rebuild the screenshot gallery:

PYTHONPATH=. python scripts/generate_screenshots.py

outputs for different audiences

  • Partner and board: Executive Pulse, Shock Passports and reversal triggers
  • Research: scenario assumptions, segment narratives and evidence gaps
  • Data Science: time split, feature structure, models and uncertainty logic
  • BI and Finance: processed CSVs and downloadable Excel board pack
  • Residential leadership: exposure ranking, first-pressure timing and commercial opportunity

gallery

Segment exposure

Decision reversal

built by

Saira Akbar

Built from a question that kept scratching my brain: if a property market is going to weaken, where does it whisper before it shouts?

About

An ML scenario engine tracing how economic shocks move through property markets, where pressure appears first, and what evidence should change the decision.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages