You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
savings_credit has no Pension Credit eligibility condition (guarantee_credit fixed in #1896) #2121
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.
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.
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
Activity
MaxGhenis commentedon Oct 4, 2026
Update:
guarantee_creditis now gated. #1896 (merged 2026-10-02, commit 029b262) addeddefined_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 nodefined_for. Itsis_savings_credit_eligiblerequires a claimant or partner who meetsmeets_savings_credit_age_requirement, plus the income threshold. It does not apply the rest ofis_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.[-]guarantee_credit and savings_credit have no pension-age condition[/-][+]savings_credit has no Pension Credit eligibility condition (guarantee_credit fixed in #1896)[/+]