Set Marriage Allowance take-up rate to HMRC outturn (#623)#1636
Set Marriage Allowance take-up rate to HMRC outturn (#623)#1636
Conversation
The placeholder 1.0 (100%) overstated take-up. HMRC outturn shows ~2.1m claimants of ~4.2m eligible couples (~50%), which means the model overstates Marriage Allowance cost by ~£500m/year. Set the parameter to 0.5 with a House of Commons Library citation. The parallel rate file in policyengine-uk-data is the load-bearing one for microsimulation outputs (read by the FRS dataset builder when populating `would_claim_marriage_allowance` per person) and must be updated separately. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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 the code paths behind this change. The parameter update itself looks coherent, but the original PR description was overstating the scope. In baseline |
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>
MaxGhenis
left a comment
There was a problem hiding this comment.
Verified consistent with uk-data#369 (same 0.5 value, same effective date, same HoC SN00870 citation). uk-data#369 just merged. Approving.
Summary
1.0(100%). HMRC outturn shows ~2.1m claimants of ~4.2m eligible couples, roughly 50% take-up.takeup_rate.yamlto0.5with a House of Commons Library citation.policyengine-uk-dataand must be kept in sync.Behavioural scope
In the baseline
policyengine-ukmodel, the mainmarriage_allowance.pyformula readswould_claim_marriage_allowance, a pre-generated 0/1 flag populated stochastically at FRS build time inpolicyengine-uk-data. For that baseline microsimulation path, the matchingpolicyengine-uk-dataparameter is the load-bearing one.However, this parameter is still read directly by the CPS marriage-tax reform in
policyengine_uk/reforms/cps/marriage_tax_reforms.py. So this PR is not strictly documentation-only across all code paths: it also changes take-up under that reform path from 100% to 50%, which appears directionally correct.A parallel
policyengine-uk-dataPR is still required to move baseline microsimulation outputs. See PolicyEngine/policyengine-uk-data#369 and #623 for context.Test plan
make formatclean