Skip to content

Make property_wealth_intensity region-aware (consumes policyengine-uk-data#358) #1626

@vahid-ahmadi

Description

@vahid-ahmadi

Summary

Companion issue for policyengine-uk-data#358 and policyengine-uk-data#357.

Today household_land_value uses a single national scalar for the land-to-property ratio:

# policyengine_uk/variables/household/wealth/household_land_value.py
property_wealth_intensity = (
    wealth.land.value.aggregate_household_land_value
    / wealth.property_wealth
)
return property_wealth * property_wealth_intensity + owned_land

That means regional variation in household land value comes only from regional variation in property_wealth, and the formula cannot express that London dwellings are ~80% land value while rural dwellings are ~45%. Regional calibration targets cannot fix that on their own — they can re-weight households, but every household still computes the same land/property ratio, so the distribution is pinned.

What's needed in policyengine-uk

  1. Add a region-keyed parameter — e.g. gov.wealth.land.regional_land_to_property_ratio[region] — with one entry per English region (and GB-wide fallbacks for Wales/Scotland as appropriate).

  2. Change household_land_value to look up the household's region and use the matching regional ratio rather than the national scalar:

    ratios = parameters(period).gov.wealth.land.regional_land_to_property_ratio
    region = household(\"region\", period)
    property_wealth_intensity = ratios[region]
    return property_wealth * property_wealth_intensity + owned_land
  3. Keep the national scalar as the default / fallback for backward compatibility during rollout.

Coordination

  • policyengine-uk-data#358 (merged or open) adds the data-side plumbing — _compute_regional_shares now accepts a land_to_property_ratio mapping — but does not ship real ratios yet. The same parameter values should feed both sides once sourced.
  • The two changes must land together for the bias fix to take effect end-to-end. Until this issue is done, supplying non-uniform ratios on the data side will make the calibration fight itself, because the formula still forces every household onto the national ratio.
  • Real per-region numbers should be sourced (VOA dwelling value minus ONS reconstruction cost, or Savills residential land-value estimates) in a separate PR with modelling-team sign-off, not as part of this one.

Why this matters

Surfaced while modelling a council-tax → flat-rate LVT swap. Without regional land-share variation:

  • London is understated as an LVT base.
  • South East / East of England / rural areas with high property wealth but lower land share are overstated.
  • Regional winners/losers from a council-tax → LVT swap are distorted in both directions.

Out of scope for this issue

  • Sourcing the actual regional ratios.
  • Behavioural responses to an LVT.
  • Wales/Scotland/NI-specific land-value work beyond whatever fallback is appropriate.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions