Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
60ead1e
Apply SI 2014/1230 reg 28 in the UC qualifying young person test
claude Nov 1, 2026
dbaf718
Bias property inputs so reg 28 decides the outcome
claude Nov 1, 2026
7129964
Read reg 28 as entitlement and keep Scottish CTR on reg 5
claude Nov 2, 2026
4b4d30d
Supply the reg 5 status in the Scottish CTR family-mask test
claude Nov 2, 2026
ab1b6f0
Lift reg 28 exclusions a reform neutralises, benefit by benefit
claude Nov 3, 2026
9ad6f2f
Read income-based JSA in the benefit cap oracle only while it pays
claude Nov 3, 2026
d5d3207
Draw at most one existing benefit for a qualifying property member
claude Nov 3, 2026
e7fa06e
Follow the model's legacy closure in the UC qualifying young person test
claude Nov 3, 2026
f379377
Pin the Pension Credit age exception to the Housing Benefit closure
claude Nov 3, 2026
ad19029
Follow the Universal Credit claim limbs for a claimant or partner in …
claude Nov 3, 2026
cdd4970
Keep the no-claim cases free of a claim at the legacy closure
claude Nov 3, 2026
7b9e556
Pin the Pension Credit route's Housing Benefit for a claimant or part…
claude Nov 3, 2026
a25cc40
Say what the reform pays on a claim, and pin the Working Tax Credit r…
claude Nov 5, 2026
4ee6644
Merge main at 95dfc62f8 into the UC qualifying young person branch
claude Nov 5, 2026
c8e3126
Carry the composition with #2806: read reg. 28 on the migration day f…
claude Nov 5, 2026
4545062
Read reg. 28 at the claim for the education condition
claude Nov 5, 2026
cc191bb
Read the education status on the first day of the award, and test it …
claude Nov 5, 2026
426c72f
Say that the annual model applies both claim run-ons in earlier years
claude Nov 5, 2026
62fa267
Merge main at 47a2817e2 into the UC qualifying young person branch
claude Nov 5, 2026
0b34652
Merge main at 040e9a5f0 into the UC qualifying young person branch
MaxGhenis Nov 5, 2026
8402aee
Read an income-related ESA report only while the claim stays payable
MaxGhenis Nov 5, 2026
98b56ca
Bind the Northern Ireland claim termination rules to the first-day test
MaxGhenis Nov 5, 2026
590a2cc
Read the Northern Ireland rate rebate from a supplied input, not tenure
MaxGhenis Nov 5, 2026
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/2804.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Excluded from the Universal Credit qualifying young person test a person who reports their own income-related ESA, income-based JSA, Income Support, Housing Benefit, Child Tax Credit or Working Tax Credit in a year the model pays that benefit, unless the model's legacy closure, or for a claimant or partner the family's Universal Credit claim, has ended the award on that report or a reform neutralises it, and a claimant or partner on the couple's tax credit award (SI 2014/1230 reg. 28). The Universal Credit education condition reads that test as it stands on the first day of a claimant's Universal Credit award, while a Housing Benefit award (in Northern Ireland, a rent rebate or allowance) or an income-related ESA award the claim ends still runs, and reads every reported existing benefit for the migration day's reg. 60(1) protection, and the formula for Scotland's working-age Council Tax Reduction reads the Universal Credit Regulations 2013 reg. 5 test without reg. 28. The supplied input `housing_benefit_report_is_rate_rebate_only` marks a Northern Ireland report that covers only a rate rebate, which the claim ends the day before the award (SR 2016/226 reg. 6(2)).
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
# The Secretary of State appointed 1 July 2026 for the abolition of the
# remaining old style income-related ESA awards in Great Britain (SI
# 2025/1148 art. 3A(1)), apart from awards saved for an appointee (art.
# 3A(2)). The model pays each claim for the share of the fiscal year before
# that date (esa_income_payable_share, from gov.dwp.ESA.income.awards_payable):
# 1 up to 2025-26, 86/365 = 0.2356 in 2026-27 and 0 from 2027-28, or 1 for a
# saved claim. Nobody is entitled to a claim that pays nothing, so a young
# person's own income-related ESA report excludes them from the UC qualifying
# young person test (SI 2014/1230 reg. 28) only while the share exceeds 0.
#
# The first four cases use one household: a parent aged 45 and a 17-year-old on a
# non-advanced course in the parent's benefit unit, North East, owned
# outright, no income. The parent claims Universal Credit as a single
# claimant over 25 (standard_allowance SINGLE_OLD: £424.90 a month in
# 2026-27, £443.2099 projected for 2027-28) with the first child higher
# amount for a qualifying young person (£364.1952 projected for 2027-28):
# 2027 with the child element: 12 x (443.2099 + 364.1952) = 9,688.86
# 2027 without the child element: 12 x 443.2099 = 5,318.52
# 2026 without the child element: 12 x 424.90 = 5,098.80

- name: A young person's own income-related ESA report after the claim stops paying leaves the child element.
# The claim pays nothing in 2027-28, so nobody is entitled to it.
period: 2027
absolute_error_margin: 0.01
input:
people:
parent:
age: 45
is_parent: true
is_claimant_or_partner: true
young_person:
age: 17
current_education: POST_SECONDARY
is_claimant_or_partner: false
esa_income_reported: 3_000

benunits:
benunit:
members: [parent, young_person]
households:
household:
members: [parent, young_person]
region: NORTH_EAST
tenure_type: OWNED_OUTRIGHT
output:
esa_income_payable_share: [0, 0]
is_qualifying_young_person_for_universal_credit: [false, true]
universal_credit: 9_688.86

- name: A young person's own income-related ESA report saved for an appointee removes the child element.
# An award saved for an appointee stays payable (SI 2025/1148 art. 3A(2)).
period: 2027
absolute_error_margin: 0.01
input:
people:
parent:
age: 45
is_parent: true
is_claimant_or_partner: true
young_person:
age: 17
current_education: POST_SECONDARY
is_claimant_or_partner: false
esa_income_reported: 3_000
esa_income_appointee_saving: true
benunits:
benunit:
members: [parent, young_person]
households:
household:
members: [parent, young_person]
region: NORTH_EAST
tenure_type: OWNED_OUTRIGHT
output:
esa_income_payable_share: [0, 1]
is_qualifying_young_person_for_universal_credit: [false, false]
universal_credit: 5_318.52

- name: A young person's own income-related ESA report in the year the claim stops paying removes the child element.
# The claim pays for 86 of the 365 days of 2026-27 in Great Britain.
period: 2026
absolute_error_margin: 0.0001
input:
people:
parent:
age: 45
is_parent: true
is_claimant_or_partner: true
young_person:
age: 17
current_education: POST_SECONDARY
is_claimant_or_partner: false
esa_income_reported: 3_000

benunits:
benunit:
members: [parent, young_person]
households:
household:
members: [parent, young_person]
region: NORTH_EAST
tenure_type: OWNED_OUTRIGHT
output:
esa_income_payable_share: [0.2356, 0.2356]
is_qualifying_young_person_for_universal_credit: [false, false]
universal_credit: 5_098.80

- name: A young person's own income-related ESA report after the claim stops paying leaves the child element while their legacy awards stay open.
# The young person also reports Pension Credit, so the model's migration
# proxy leaves their legacy awards open (person_legacy_benefits_closed is
# false), but the claim still pays nothing in 2027-28
# (esa_income_payable_share 0) and nobody is entitled to it.
period: 2027
absolute_error_margin: 0.01
input:
people:
parent:
age: 45
is_parent: true
is_claimant_or_partner: true
young_person:
age: 17
current_education: POST_SECONDARY
is_claimant_or_partner: false
esa_income_reported: 3_000
pension_credit_reported: 1_000
benunits:
benunit:
members: [parent, young_person]
households:
household:
members: [parent, young_person]
region: NORTH_EAST
tenure_type: OWNED_OUTRIGHT
output:
esa_income_payable_share: [0, 0]
person_legacy_benefits_closed: [false, false]
is_qualifying_young_person_for_universal_credit: [false, true]
universal_credit: 9_688.86

- name: An 18-year-old claimant's own income-related ESA report after the claim stops paying leaves them receiving education while their legacy awards stay open.
# A single 18-year-old on a full-time non-advanced course with no
# maintenance funding reports their own income-related ESA and Pension
# Credit, and claims Universal Credit. The Pension Credit report leaves
# their legacy awards open (person_legacy_benefits_closed false), but the
# ESA claim pays nothing in 2027-28 (esa_income_payable_share 0), so on the
# first day of their Universal Credit award they aren't entitled to it
# either. They count as a qualifying young person for the education
# condition and receive education (UC Regs 2013 reg. 12(1A)), with no
# exception, so they get no Universal Credit.
period: 2027
absolute_error_margin: 0.01
input:
people:
claimant:
age: 18
current_education: POST_SECONDARY
is_in_full_time_education: true
is_claimant_or_partner: true
esa_income_reported: 3_000
pension_credit_reported: 1_000
benunits:
benunit:
members: [claimant]
households:
household:
members: [claimant]
region: NORTH_EAST
output:
esa_income_payable_share: [0]
person_legacy_benefits_closed: [false]
is_qualifying_young_person_for_uc_education: [true]
uc_receiving_education: [true]
is_uc_eligible: false
universal_credit: 0
Loading
Loading