Skip to content

Set Marriage Allowance take-up rate to HMRC outturn (#623)#1636

Merged
MaxGhenis merged 1 commit intomainfrom
marriage-allowance-takeup-rate-623
Apr 20, 2026
Merged

Set Marriage Allowance take-up rate to HMRC outturn (#623)#1636
MaxGhenis merged 1 commit intomainfrom
marriage-allowance-takeup-rate-623

Conversation

@vahid-ahmadi
Copy link
Copy Markdown
Collaborator

@vahid-ahmadi vahid-ahmadi commented Apr 20, 2026

Summary

Behavioural scope

In the baseline policyengine-uk model, the main marriage_allowance.py formula reads would_claim_marriage_allowance, a pre-generated 0/1 flag populated stochastically at FRS build time in policyengine-uk-data. For that baseline microsimulation path, the matching policyengine-uk-data parameter 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-data PR is still required to move baseline microsimulation outputs. See PolicyEngine/policyengine-uk-data#369 and #623 for context.

Test plan

  • make format clean
  • Reviewer to confirm the 0.5 figure matches the team's preferred outturn anchor (HoC briefing cites HMRC)
  • Reviewer to confirm the CPS reform path should also inherit the 0.5 take-up assumption

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>
vahid-ahmadi added a commit to PolicyEngine/policyengine-uk-data that referenced this pull request Apr 20, 2026
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>
Copy link
Copy Markdown
Collaborator Author

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 policyengine-uk, marriage_allowance is driven by the pre-generated would_claim_marriage_allowance flag from policyengine-uk-data, so the dataset-side parameter is still the load-bearing one for baseline microsimulation. However, the CPS marriage-tax reform in policyengine_uk/reforms/cps/marriage_tax_reforms.py still reads allowances.marriage_allowance.takeup_rate directly, so this PR also changes behaviour there from 100% to 50% take-up. I updated the PR body to reflect that distinction.

@vahid-ahmadi vahid-ahmadi self-assigned this Apr 20, 2026
MaxGhenis pushed a commit to PolicyEngine/policyengine-uk-data that referenced this pull request Apr 20, 2026
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>
Copy link
Copy Markdown
Collaborator

@MaxGhenis MaxGhenis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified consistent with uk-data#369 (same 0.5 value, same effective date, same HoC SN00870 citation). uk-data#369 just merged. Approving.

@MaxGhenis MaxGhenis merged commit 1320f09 into main Apr 20, 2026
8 checks passed
@MaxGhenis MaxGhenis deleted the marriage-allowance-takeup-rate-623 branch April 20, 2026 11:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants