Set Marriage Allowance take-up rate to HMRC outturn (#368)#369
Set Marriage Allowance take-up rate to HMRC outturn (#368)#369
Conversation
The placeholder 1.0 (100%) overstated Marriage Allowance take-up. HMRC outturn shows ~2.1m claimants of ~4.2m eligible couples (~50%), which means microsimulation overstates the program cost by ~£500m/year. Set the parameter to 0.5 with a House of Commons Library citation. Companion change in PolicyEngine/policyengine-uk#1636. Source issue: PolicyEngine/policyengine-uk#623. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Review note: I checked this against the corresponding |
MaxGhenis
left a comment
There was a problem hiding this comment.
Verified the 50% figure and £580m outturn against HoC SN00870 and HMRC's December 2024 Non-structural tax relief statistics. Downstream path via frs.py → would_claim_marriage_allowance → marriage_allowance formula is clean (no calibration double-counting; calibration targets don't include MA aggregate). Pre-2015 effective date (2000-01-01) is harmless — the marriage_allowance amount parameters in policyengine-uk don't exist pre-2015 so the formula returns 0 regardless of take-up. Optional cleanup follow-up: move effective date to 2015-04-06.
Summary
policyengine_uk_data/parameters/take_up/marriage_allowance.yamlfrom1.0to0.5, matching HMRC outturn (~2.1m claimants of ~4.2m eligible couples).datasets/frs.pyto populatewould_claim_marriage_allowancestochastically.Why this matters
This file is the load-bearing one for microsimulation. With take-up at 1.0, the model overstates Marriage Allowance cost by ~£500m/year (model implies ~£1.06bn vs HMRC outturn ~£580m). At 0.5 it lines up with published outturn.
Companion change in
policyengine-uk: PolicyEngine/policyengine-uk#1636 — the documentation parameter on the model side. Source issue: PolicyEngine/policyengine-uk#623.Test plan
would_claim_marriage_allowancerate halves.🤖 Generated with Claude Code