Skip to content

savings_credit has no Pension Credit eligibility condition (guarantee_credit fixed in #1896) #2121

Description

@MaxGhenis

guarantee_credit (policyengine_uk/variables/gov/dwp/pension_credit/guarantee_credit/guarantee_credit.py) is max_(0, minimum_guarantee - pension_credit_income) * is_guarantee_credit_eligible, and is_guarantee_credit_eligible is only income < minimum_guarantee. Neither has a State Pension Credit qualifying-age condition. Only pension_credit_entitlement (defined_for = "is_pension_credit_eligible") applies it.

On the Enhanced FRS 2024-25 (policyengine-uk-data-private 1.57.4), the weighted sum of guarantee_credit is £104bn in 2024-25, rising to £126bn in 2030-31. Gated by is_pension_credit_eligible it is £6.7bn to £8.3bn (runs for #1922, 2026-09-30). A variable labelled "Guarantee Credit" that sums to fifteen times the real amount misleads analysts and consumers. #1956 is one such consumer (targeted childcare), fixed in #1987. savings_credit has the same pattern.

Fix: either add defined_for = "is_pension_credit_eligible" (or the qualifying-age test) to guarantee_credit and savings_credit, or relabel them as pre-eligibility amounts. Check every consumer first: pension_credit_entitlement, Savings Credit, HB/CTR income rules, targeted childcare. Add YAML tests for a low-income working-age benefit unit (0) and a pension-age one (positive), and confirm in a real microsimulation that pension_credit and pension_credit_entitlement are unchanged.

Activity

  1. MaxGhenis commented on Oct 4, 2026

    @MaxGhenis
    CollaboratorAuthor

    Update: guarantee_credit is now gated. #1896 (merged 2026-10-02, commit 029b262) added defined_for = "is_pension_credit_eligible", and on the Enhanced FRS 2024-25 the variable now equals the eligibility-gated figure (£6.8bn in 2024-25; runs for #1922 on main 325d585).

    Still open: savings_credit (policyengine_uk/variables/gov/dwp/pension_credit/savings_credit/savings_credit.py) has no defined_for. Its is_savings_credit_eligible requires a claimant or partner who meets meets_savings_credit_age_requirement, plus the income threshold. It does not apply the rest of is_pension_credit_eligible, which requires every adult in the benefit unit to be over State Pension age. Gating it the same way would finish this issue. I haven't measured the effect.

  2. changed the title [-]guarantee_credit and savings_credit have no pension-age condition[/-] [+]savings_credit has no Pension Credit eligibility condition (guarantee_credit fixed in #1896)[/+] on Oct 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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