Repository navigation
Impute additional-dwelling and non-residential purchases, calibrated to HMRC's HRAD statistics #556
Description
Why
PolicyEngine/policyengine-uk#2241 (fixing policyengine-uk#2238) stops the model inferring an additional-dwelling purchase from the main-residence purchase flag. Previously other_residential_property_value × property_purchased charged a household's whole other-property stock as one purchase at the higher rates. After it, additional_residential_property_purchased and non_residential_property_purchased are inputs, nil unless the dataset supplies them. Until this dataset imputes them, household higher-rates SDLT (and the LBTT ADS and LTT higher rates) is nil. HMRC's 2024-25 figures imply individuals paid at least £4.2bn of HRAD receipts in England and Northern Ireland.
The model reads both variables if present, on current and older policyengine-uk versions (a dataset value overrides the old formula), and #2241 uprates them with the property stocks.
Targets (UK Stamp Tax Statistics 2024-25, https://www.gov.uk/government/statistics/uk-stamp-tax-statistics)
- Table 6b, HRAD, England and NI, all buyers: 211,700 transactions worth £77.97bn, £5.44bn receipts (surcharge element £2.79bn). By price band: ≤£250k 113,500 / £16.6bn; £250-500k 60,700 / £21.5bn; £0.5-1m 27,500 / £18.8bn; £1-1.5m 5,300 / £6.5bn; £1.5-2m 2,000 / £3.5bn; over £2m 2,600 / £11.0bn.
- Table 8a, residential, all buyers: individuals 925,100 transactions / £335.5bn / £9.15bn receipts; other buyers 124,500 / £44.7bn / £1.23bn. Since other buyers' HRAD cannot exceed all their transactions, individuals' HRAD is at least 211,700 − 124,500 = 87,200 transactions and at least £5.44bn − £1.23bn = £4.2bn of receipts.
- HRAD refunds (Table 2f, about £0.5bn a year) are replacement-of-main-residence cases, which the model already charges at main rates.
Data (enhanced_frs_2024_25 @1.58.0, FY2025)
- 31.2m households; 3.88m with
other_residential_property_value > 0(3.37m in England and NI), stock £2.39tn. - Weighted quantiles of the stock among owners: p10 £125k, p25 £209k, p50 £365k, p75 £783k, p90 £1.67m, p99 £2.61m.
- The existing
property_purchaseddraw (3.85% seeded) gives 194 sample owners who drew a purchase. That is too few to carry this base, and it is the main-residence event.
Proposal
- A separate seeded draw (its own
np.random.default_rngseed, deterministic) among households with other residential property: the household bought one additional dwelling this year. Calibrate the rate so weighted transactions match individuals' HRAD transactions in England and NI. - A price for that one purchase, at most the household's other-property stock. Draw it from Table 6b's price-band distribution conditional on the cap, or use min(stock, a calibrated price). Calibrate so weighted value matches individuals' HRAD value.
- Do the same for
non_residential_property_purchasedagainst the household non-residential targets (statistics.yamlin policyengine-uk holds older HMRC household non-residential figures). - Tests: weighted HRAD transactions, value and higher-rates SDLT within a stated tolerance of the targets for FY2024-25; only owners of other property ever buy an additional dwelling; no price exceeds the stock; the build is reproducible across runs.
Timing
The Budget-day stack freezes on 21 October 2026. uk-data lands as one batch on Max's go (d833), so this needs to be in that batch for the certified pair to carry household HRAD.
Activity