Skip to content

Count the State Pension as step-one tax credit income - #2057

Draft
MaxGhenis wants to merge 2 commits into
tax-credits-pension-credit-passportfrom
tax-credits-state-pension-step-one
Draft

MaxGhenis wants to merge 2 commits into
tax-credits-pension-credit-passportfrom
tax-credits-state-pension-step-one

Conversation

@MaxGhenis

Copy link
Copy Markdown
Collaborator

Fixes #2052

Summary

Tax credit income counted the State Pension in step two, through social_security_income. In law it is step-one pension income, where only the excess over £300 counts. This PR moves it to step one.

A pensioner whose other step-one income is under £300 had tax credit income overstated by up to £300, which is up to £123 of tax credits at the 41% rate.

Stacked on #2034 (tax-credits-pension-credit-passport, head 29891b0b5), which split out tax_credits_current_year_income. #2034 is stacked on #2027, #2013, #2001 and #1896.

Law (fetched verbatim from legislation.gov.uk /data.xml, 2026-10-02)

  • SI 2002/2006 reg 3(1):
    • Step One: "Calculate and then add together— the pension income (as defined in regulation 5(1)), the investment income (as defined in regulation 10), the property income (as defined in regulation 11), the foreign income (as defined in regulation 12) and the notional income (as defined in regulation 13) of the claimant, or, in the case of a joint claim, of the claimants. If the result of this step is £300 or less, it is treated as nil. If the result of this step is more than £300, only the excess is taken into account in the following steps."
    • Step Two: "Calculate and then add together— the employment income (as defined in regulation 4), the social security income (as defined in regulation 7), the student income (as defined in regulation 8) and the miscellaneous income (as defined in regulation 18)".
  • Reg 5(1)(a): "pension income" means "any pension to which section 577 or 629 of ITEPA applies".
  • ITEPA 2003 s.577(1): "This section applies to— the state pension, graduated retirement benefit, industrial death benefit, widowed mother's allowance, widowed parent's allowance, and widow's pension."
  • Reg 7(2): "Pensions under the Contributions and Benefits Act which are pension income by virtue of regulation 5(1)(a) are not social security income."

What reg 7 social security income includes

The other five components of social_security_income are reg 7 social security income, so they stay in step two with no disregard:

Component Why it counts
incapacity_benefit Contributions and Benefits Act (reg 7(1)(a))
jsa_contrib_reported Jobseekers Act 1995 (reg 7(1)(a))
esa_contrib_reported Welfare Reform Act 2007 Part 1 (reg 7(1)(a)); Table 3 item 26 disregards only income-related ESA
carers_allowance Contributions and Benefits Act s.70 (reg 7(1)(a))
carer_support_payment Social Security (Scotland) Act 2018 s.28 (reg 7(1)(ab), from 15 March 2023)

The model's other benefits are either disregarded by reg 7(3) Table 3 (for example Attendance Allowance, Child Benefit, DLA, PIP, Housing Benefit, Income Support, income-based JSA, Maternity Allowance, Severe Disablement Allowance, industrial injuries benefit, Bereavement Support Payment) or not paid under an Act that reg 7(1) lists (Pension Credit, Universal Credit).

Two partial disregards are not modelled, because the data cannot separate them: short-term lower-rate Incapacity Benefit and Incapacity Benefit after Invalidity Benefit (Table 3 item 14), and contribution-based JSA above the ITEPA s.674 taxable maximum (item 16).

The other step-one sources

Source Reading
private_pension_income Right: pension income (reg 5(1)(b), (d); ITEPA ss.569, 579A), or foreign income for a foreign pension (reg 12). Both are step one.
dividend_income Right: investment income (reg 10(1)(d)). The FRS build leaves ISA accounts out.
property_income Right as to the step (reg 11). Reg 11(2) disregards rent-a-room profits, which depends on the householder lodger income work (#2002).
savings_interest_income Right as to the step (reg 10(1)(a)), but it includes ISA interest, which reg 10(2)(a) Table 4 item 1 disregards. Filed as #2056.

#2056 also covers two things this check found outside step one: other_investment_income is left out, and reg 3(7)(b)-(c) deducts Gift Aid and registered pension contributions, which the model does not. None is changed here.

Changes

  • tax_credits_current_year_income: state_pension joins the step-one sources. Step two lists the reg 7 social security income components instead of reading social_security_income. Both lists are module constants (STEP_ONE_INCOME, SOCIAL_SECURITY_INCOME) with the legal reading in comments.
  • social_security_income is unchanged. Income tax and Income Support still read it.
  • The targeted childcare criteria read the same income figure, so the £16,190 limit (SI 2014/2147 reg 1(2)) is tested on income with the State Pension in step one.

Invariants (property-tested, Hypothesis)

For any family of one or two adults aged 25-90 and up to two children, with any mix of State Pension, private pension, savings interest, dividends, property income, earnings, trading income, Carer's Allowance, Carer Support Payment, contribution-based JSA and ESA, Incapacity Benefit, miscellaneous income, and tax credit and Pension Credit claims:

  1. Law oracle. tax_credits_current_year_income equals max(step one - £300, 0) + step two, computed in the test directly from the inputs.
  2. Old against new. Against the previous formula (applied in the test as a reform), income never rises. It falls by exactly min(State Pension, max(0, £300 - other step-one income)), so by at most £300, and is unchanged where other step-one income is £300 or more.
  3. Step-one equivalence. Moving an amount from State Pension to private pension income never changes the income.
  4. Awards, 2024-25. WTC and CTC never fall. Together they rise by at most 41% x £300 = £123, plus the £26 minimum award. Guarantee Credit never rises, and falls by no more than the WTC gained (WTC is Pension Credit income).
  5. No-award years. In 2025-26 every award and Pension Credit equal the previous formula's.
  6. Classification. Every component of social_security_income is counted exactly once: the State Pension in step one, the rest in step two. A new component fails this test until it is classified.

Differential check outside the suite: the test's previous-formula reform equals the real previous commit (f2eb82445) on 8 outputs for 400 seeded random families (maximum difference 0.0000).

Tests

YAML: 9 cases in tests/policy/baseline/gov/dwp/tax_credits_state_pension_step_one.yaml, each computed by hand from the law at 2024-25 rates, with the arithmetic in comments:

  1. State Pension alone in step one (income £11,800, not £12,100; WTC £858.55);
  2. other step-one income of £100 uses part of the £300;
  3. a private pension of £1,000 already uses the £300 (no change);
  4. a joint claim has one £300, not one each;
  5. a grandparent's CTC, tapered above the £19,995 threshold (£3,915.95);
  6. Pension Credit paid without the passport falls by the £123 of WTC gained;
  7. the childcare income limit (income exactly £16,190);
  8. a State Pension of £200 is wholly disregarded;
  9. Carer's Allowance and contributory ESA stay in step two with no disregard.

On the base f2eb82445, 7 of the 9 fail on value, each at exactly the State-Pension-in-step-two figure given in its comment. The two no-change cases (3 and 9) pass on both.

Two inputs the model gets wrong for unrelated reasons are entered at their statutory amounts, as in #2034: the CTC family element (£545, #2051) and no Schedule IIA child amount for a tax credit recipient.

Hypothesis: test_tax_credits_state_pension_step_one_properties.py, 25 derandomized examples of up to 6 families each, plus 5 YAML households as explicit @examples. Coverage and mutation results: PENDING.

Suites:

  • Full YAML suite on the pre-rebase head: 1,584 passed, 2 failed. The 2 were Lift the tax credit income test for State Pension Credit #2034's childcare criteria cases, which fail on its f2eb82445 too and which its 29891b0b5 fixes.
  • After rebasing onto 29891b0b5: the tax credit and childcare YAML files, 69 passed.
  • CI runs once the PR targets main.

Enhanced FRS impact

Real Microsimulation runs on a private copy of the Enhanced FRS 2024-25 (one run per package state), base f2eb82445 against this branch, for 2024 and 2025. The rebase onto 29891b0b5 changed only two YAML test files.

No award changes in either year: £0. WTC, CTC, Pension Credit, the childcare criteria and household net income are identical on every record.

Why, for 2024:

  • 306 records (155k weighted benefit units) claim tax credits. Six of them have a claimant or partner with State Pension.
  • The income figure falls for two of those. Neither award changes: both are CTC-only claims with income under the £19,995 threshold either way, so CTC stays at the maximum.
  • Across all benefit units, claiming or not, the income figure falls for 3,343 records (1.86m weighted), by £513m in total. That figure matters only for a claim.
  • On every record, the fall equals min(State Pension, max(0, £300 - other step-one income)) to within 1.2p (float32 arithmetic).

In 2025 the income figure falls in the same way and there are no awards.

So the fix corrects household calculations and the rule itself; the Enhanced FRS has almost no pensioners on tax credits to show it.

Axiom

axiom: PENDING

Related and follow-ups

🤖 Generated with Claude Code

MaxGhenis and others added 2 commits October 2, 2026 08:06
SI 2002/2006 reg 3(1) puts pension income (reg 5(1)) in step one, where only
the excess over £300 counts. Reg 5(1)(a) covers "any pension to which section
577 ... of ITEPA applies", which is the State Pension (ITEPA 2003 s.577(1)),
and reg 7(2) takes it out of social security income. The model counted it in
step two through social_security_income, so a pensioner whose other step-one
income was under £300 had tax credit income overstated by up to £300.

tax_credits_current_year_income now lists step-one income and reg 7 social
security income explicitly. YAML cases are computed by hand from the law;
Hypothesis properties check the income against the law, against the previous
formula (applied as a reform), and the award bounds that follow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Half the drawn adults now have no private pension, interest, dividends or
property income, where the State Pension disregard changes the income.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

1 participant