Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/add-income-support-phaseout.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Zero out Income Support and income-based Jobseeker's Allowance after DWP managed migration completed on 31 March 2026. New parameters `gov.dwp.income_support.active` and `gov.dwp.JSA.income.active` flip to `false` from 2026-04-01, matching the Tax Credits treatment. Contribution-based JSA remains active.
14 changes: 14 additions & 0 deletions policyengine_uk/parameters/gov/dwp/JSA/income/active.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: Whether income-based Jobseeker's Allowance is actively paying awards. Income-based JSA closed to new claims with Universal Credit's rollout, and the remaining legacy caseload was migrated to UC under DWP's managed-migration programme; last payments were made on 31 March 2026. Contribution-based JSA is a separate scheme and remains active.
values:
1996-10-07: true
2026-04-01: false
metadata:
label: Income-based JSA scheme active
unit: bool
reference:
- title: "House of Commons Library: Completing Universal Credit rollout (CBP-9984)"
href: https://commonslibrary.parliament.uk/research-briefings/cbp-9984/
- title: "DWP: Successful DWP campaign leads to closure of historical benefits"
href: https://www.gov.uk/government/news/successful-dwp-campaign-leads-to-closure-of-historical-benefits
- title: "Jobseekers Act 1995"
href: https://www.legislation.gov.uk/ukpga/1995/18/contents
16 changes: 16 additions & 0 deletions policyengine_uk/parameters/gov/dwp/income_support/active.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
description: Whether Income Support is actively paying awards. Income Support closed to new claims with Universal Credit's rollout, and the remaining legacy caseload was migrated to UC (or to Pension Credit for over-State-Pension-age claimants) under DWP's managed-migration programme; last payments were made on 31 March 2026.
values:
1988-04-11: true
2026-04-01: false
metadata:
label: Income Support scheme active
unit: bool
reference:
- title: "House of Commons Library: Completing Universal Credit rollout (CBP-9984)"
href: https://commonslibrary.parliament.uk/research-briefings/cbp-9984/
- title: "DWP: Successful DWP campaign leads to closure of historical benefits"
href: https://www.gov.uk/government/news/successful-dwp-campaign-leads-to-closure-of-historical-benefits
- title: "DWP: Move to Universal Credit — insight on Income Support and Housing Benefit"
href: https://www.gov.uk/government/publications/move-to-universal-credit-insight-on-income-support-and-housing-benefit-and-initial-esa-cohort-activity/move-to-universal-credit-insight-on-income-support-and-housing-benefit-and-initial-esa-cohort-activity
- title: "Social Security Contributions and Benefits Act 1992, Part VII (Income Support)"
href: https://www.legislation.gov.uk/ukpga/1992/4/part/VII
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@
esa_income_assessable_capital: [18_000, 18_000]

- name: Income-related ESA capital screening can activate the existing Income Support path
period: 2026
period: 2025
absolute_error_margin: 1
input:
people:
Expand All @@ -190,4 +190,4 @@
output:
esa_income: 0
income_support_eligible: true
income_support: 5_430.5776
income_support: 5_252.0073
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
- name: Income Support still paid in 2025 (scheme active until 31 March 2026)
period: 2025
absolute_error_margin: 5
input:
people:
p1:
age: 26
income_support_reported: 3000
c1:
age: 4
is_child: true
benunits:
b1:
members: [p1, c1]
would_claim_IS: true
households:
household:
members: [p1, c1]
savings: 1000
output:
income_support: 5252.0073

- name: Income Support is zero after scheme ended on 31 March 2026
period: 2026
absolute_error_margin: 0
input:
people:
p1:
age: 26
income_support_reported: 3000
c1:
age: 4
is_child: true
benunits:
b1:
members: [p1, c1]
would_claim_IS: true
households:
household:
members: [p1, c1]
savings: 1000
output:
income_support: 0

- name: Income Support remains zero in future years
period: 2030
absolute_error_margin: 0
input:
people:
p1:
age: 26
income_support_reported: 3000
c1:
age: 4
is_child: true
benunits:
b1:
members: [p1, c1]
would_claim_IS: true
households:
household:
members: [p1, c1]
savings: 1000
output:
income_support: 0

- name: Income-based JSA still paid in 2025 (scheme active until 31 March 2026)
period: 2025
absolute_error_margin: 5
input:
people:
p1:
age: 26
jsa_income_reported: 3000
benunits:
b1:
members: [p1]
households:
household:
members: [p1]
savings: 1000
output:
jsa_income: 3000

- name: Income-based JSA is zero after scheme ended on 31 March 2026
period: 2026
absolute_error_margin: 0
input:
people:
p1:
age: 26
jsa_income_reported: 3000
benunits:
b1:
members: [p1]
households:
household:
members: [p1]
savings: 1000
output:
jsa_income: 0

- name: Contribution-based JSA remains active after income-based JSA ends
period: 2026
absolute_error_margin: 0
input:
people:
p1:
age: 26
jsa_contrib_reported: 2500
benunits:
b1:
members: [p1]
households:
household:
members: [p1]
output:
jsa_contrib: 2500
jsa_income: 0
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
jsa_income_assessable_capital: 10_500

- name: Income-based JSA has no tariff income at the lower capital threshold
period: 2026
period: 2025
absolute_error_margin: 0
input:
people:
Expand All @@ -41,7 +41,7 @@
jsa_income: 1_000

- name: Income-based JSA tariff income rounds incomplete capital steps up
period: 2026
period: 2025
absolute_error_margin: 0
input:
people:
Expand All @@ -60,7 +60,7 @@
jsa_income: 948

- name: Income-based JSA remains eligible at the upper capital limit
period: 2026
period: 2025
absolute_error_margin: 0
input:
people:
Expand Down
6 changes: 5 additions & 1 deletion policyengine_uk/variables/gov/dwp/income_support.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,8 @@ class income_support(Variable):
definition_period = YEAR
unit = GBP
defined_for = "would_claim_IS"
adds = ["income_support_entitlement"]

def formula(benunit, period, parameters):
if not parameters(period).gov.dwp.income_support.active:
return benunit.empty_array()
return benunit("income_support_entitlement", period)
2 changes: 2 additions & 0 deletions policyengine_uk/variables/gov/dwp/jsa_income.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ class jsa_income(Variable):
unit = GBP

def formula(benunit, period, parameters):
if not parameters(period).gov.dwp.JSA.income.active:
return benunit.empty_array()
reported_award = add(benunit, period, ["jsa_income_reported"])
tariff_income = benunit("jsa_income_tariff_income", period)
eligible = benunit("jsa_income_eligible", period)
Expand Down
Loading