Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
c07c4e2
Deduct only each person's own tax and NI on earnings from UC earned i…
MaxGhenis Sep 30, 2026
d0fc22f
Add UC earnings-deduction property tests; widen State Pension properties
MaxGhenis Sep 30, 2026
514132f
Fix the UC docs means-test sentence; point the Marriage Allowance pin…
MaxGhenis Oct 1, 2026
ee82518
Use each rule's own UC earned income in the benefit cap, targeted chi…
MaxGhenis Oct 1, 2026
c98c53c
Merge #1943's head ce85220a (main merged in) into the #1942 fix
MaxGhenis Oct 1, 2026
f333e17
Take tax reductions off the tax on earnings first; deduct only reliev…
MaxGhenis Oct 1, 2026
f0f150d
Generate working pensioners with a tax reduction in the UC earnings p…
MaxGhenis Oct 1, 2026
b8555a2
Follow the tax engine's exclusion list when slicing earnings
MaxGhenis Oct 1, 2026
495db15
Strengthen the benefit cap property test; put the cap docs in their o…
MaxGhenis Oct 1, 2026
c1393fb
Merge remote-tracking branch 'origin/uc-earned-income-own-tax' into u…
MaxGhenis Oct 1, 2026
b696f8d
Deduct only relievable pension contributions from benefit cap earned …
MaxGhenis Oct 1, 2026
84817c3
Merge main (#1943 merged, #1959 and others) into the #1942 fix
MaxGhenis Oct 2, 2026
4f9f8d8
Apply the reg 82 earnings exception to UC awards only; review fixes
MaxGhenis Oct 2, 2026
ce43094
Leave the 2023-24 minimum wage rates to #2053
MaxGhenis Oct 2, 2026
19a7235
Remove main's #1942 xfail on Carer Support Payment; pin the tests rev…
MaxGhenis Oct 2, 2026
d399177
Merge main (#1896 and others) into the #1942 fix
MaxGhenis Oct 2, 2026
a57caf1
Declare the claimant and partner in the UC earnings and State Pension…
MaxGhenis Oct 2, 2026
3a6a99b
Merge remote-tracking branch 'origin/uc-earned-income-own-tax' into u…
MaxGhenis Oct 2, 2026
9709b9b
Declare the claimant and partner in the consumer property fixtures
MaxGhenis Oct 2, 2026
414a9cd
Merge main (#1950, #1881, #1939, #1944 and others) into the #1942 fix
MaxGhenis Oct 3, 2026
6856804
Merge main (bfc5fea1) into the #1942 fix
MaxGhenis Oct 3, 2026
295ca1e
Update two UC earnings YAML cases for #1950 and #1881 on main
MaxGhenis Oct 3, 2026
6cae2e8
Merge remote-tracking branch 'origin/uc-earned-income-own-tax' into u…
MaxGhenis Oct 3, 2026
c6412ee
Compare the capital-income award invariance only where allowances are…
MaxGhenis Oct 3, 2026
a542383
Merge remote-tracking branch 'origin/uc-earned-income-own-tax' into u…
MaxGhenis Oct 3, 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/uc-earned-income-consumers-1986.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Use Universal Credit earned income as each rule defines it (#1986): the benefit cap earnings exception now applies only to an award of Universal Credit (not to Housing Benefit) and sums each person's earnings net of their own tax, National Insurance and relievable pension contributions, without the minimum income floor, against 16 hours a week at the national living wage in whole pounds a month (UC Regs 2013 regs 82 and 6(1A)(za); £881 a month from April 2026) instead of a hard-coded £10,152 a year; the targeted childcare Universal Credit route and the Kingston upon Thames, Merton, Newham and Westminster council tax reduction schemes now count earned income before the work allowance.
1 change: 1 addition & 0 deletions changelog.d/uc-earned-income-own-tax.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Deduct from each person's Universal Credit earnings only their own income tax and National Insurance on that employment or self-employment (UC Regs 2013 reg. 55(5)(b), reg. 57(2) step 3), not the whole benefit unit's tax on all income, so tax on pensions, State Pension, property, savings and dividends, the High Income Child Benefit Charge and voluntary Class 3 contributions no longer reduce earned income.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"\n",
"#### Eligibility conditions\n",
"Families may also qualify based on income thresholds if they receive:\n",
"* **Universal Credit** with household earned income of **£15,400 or less** per year\n",
"* **Universal Credit** with earned income of **£15,400 or less** per year (combined for a couple), as Universal Credit calculates it: earnings after the person's own tax, National Insurance and pension contributions, and before the work allowance (`uc_earned_income_before_work_allowance`)\n",
"* **Tax Credits** (Working Tax Credit or Child Tax Credit) with household income of **£16,190 or less** per year\n",
"\n",
"#### Geographic scope\n",
Expand Down
7 changes: 6 additions & 1 deletion docs/book/programs/gov/dwp/universal-credit.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,12 @@
{
"cell_type": "markdown",
"metadata": {},
"source": "## How PolicyEngine computes Universal Credit\n\nPolicyEngine computes Universal Credit at the benefit-unit level in three stages:\n\n1. **Maximum entitlement** (`uc_maximum_amount`): sum the elements the benunit qualifies for — `uc_standard_allowance`, `uc_child_element`, `uc_disability_elements`, `uc_carer_element`, `uc_housing_costs_element`, and `uc_childcare_element`.\n2. **Means test**: the maximum entitlement is reduced by the benunit's countable earnings above its work allowance (`uc_work_allowance`) at the published taper rate (the `gov.dwp.universal_credit.means_test.reduction_rate` parameter, currently 55%), plus all of its unearned income (`uc_unearned_income`), pound for pound. Unearned income is the list in `gov.dwp.universal_credit.means_test.income_definitions.unearned`: retirement pension income (State Pension and private pensions, UC Regulations 2013 regs 66(1)(a) and 67), Carer's Allowance, carer support payment (up to the Carer's Allowance rate, from November 2023), contribution-based JSA and ESA, maternity allowance, industrial injuries benefit, and the tariff income deemed from capital (reg 72). Actual savings interest, dividends and ordinary rental income are excluded from UC unearned income at every capital level; capital counts through its tariff income instead. Asset rules apply on top of this — capital above the lower threshold deems a tariff income, and capital above the upper threshold disqualifies the benunit entirely.\n3. **Benefit cap**: the post-means-test award (`universal_credit_pre_benefit_cap`) is finally reduced by `benefit_cap_reduction` to produce `universal_credit`. The benefit cap only applies to benunits without a benefit-cap exemption (working enough hours, having a qualifying disability benefit, etc.).\n\nThe take-up step is handled by the input variable `would_claim_uc`, which is populated stochastically when the dataset is built so that PolicyEngine's caseload aggregates match published DWP claimant numbers rather than the full eligible population.\n\nParameters live in `policyengine_uk/parameters/gov/dwp/universal_credit/` and the per-element formulas in `policyengine_uk/variables/gov/dwp/universal_credit/`."
"source": "## How PolicyEngine computes Universal Credit\n\nPolicyEngine computes Universal Credit at the benefit-unit level in three stages:\n\n1. **Maximum entitlement** (`uc_maximum_amount`): sum the elements the benunit qualifies for — `uc_standard_allowance`, `uc_child_element`, `uc_disability_elements`, `uc_carer_element`, `uc_housing_costs_element`, and `uc_childcare_element`.\n2. **Means test**: each person's earnings (`uc_individual_earned_income`) are net of their own relievable pension contributions and the income tax and National Insurance they pay on that employment or self-employment (UC Regulations 2013 regs 55(5) and 57(2)): `uc_income_tax_on_earnings` treats earnings as the lowest slice of the person's non-savings income, so tax on pensions, property, savings and dividends is never deducted, and one partner's tax never reduces the other's earnings. The maximum entitlement is then reduced by 55% (the `gov.dwp.universal_credit.means_test.reduction_rate` parameter) of the benunit's combined earnings above its work allowance (`uc_work_allowance`), and by all of its unearned income (`uc_unearned_income`), pound for pound. Unearned income is the list in `gov.dwp.universal_credit.means_test.income_definitions.unearned`: retirement pension income (State Pension and private pensions, UC Regulations 2013 regs 66(1)(a) and 67), Carer's Allowance, carer support payment (up to the Carer's Allowance rate, from November 2023), contribution-based JSA and ESA, maternity allowance, industrial injuries benefit, and the tariff income deemed from capital (reg 72). Actual savings interest, dividends and ordinary rental income are excluded from UC unearned income at every capital level; capital counts through its tariff income instead. Asset rules apply on top of this — capital above the lower threshold deems a tariff income, and capital above the upper threshold disqualifies the benunit entirely.\n3. **Benefit cap**: the post-means-test award (`universal_credit_pre_benefit_cap`) is finally reduced by `benefit_cap_reduction` to produce `universal_credit`. The benefit cap only applies to benunits without a benefit-cap exemption (working enough hours, having a qualifying disability benefit, etc.).\n\nThe take-up step is handled by the input variable `would_claim_uc`, which is populated stochastically when the dataset is built so that PolicyEngine's caseload aggregates match published DWP claimant numbers rather than the full eligible population.\n\nParameters live in `policyengine_uk/parameters/gov/dwp/universal_credit/` and the per-element formulas in `policyengine_uk/variables/gov/dwp/universal_credit/`."
},
{
"cell_type": "markdown",
"metadata": {},
"source": "### Benefit cap earnings exception\n\nThe cap does not apply where the claimant's earned income, or a couple's combined earned income, reaches 16 hours a week at the national living wage, converted to a monthly amount by multiplying by 52 and dividing by 12, with any fraction of a pound disregarded (UC Regulations 2013 regs 82(1)(a) and 6(1A)(za)): £846 a month in 2025-26 and £881 in 2026-27 (`benefit_cap_earnings_threshold`, twelve times the monthly amount). Before 1 April 2017 it was £430 a month. Earned income here (`benefit_cap_earned_income`) is each person's earnings net of their own income tax, National Insurance and pension contributions, and leaves out income treated as earned under the minimum income floor (reg 82(4)). The nine-month grace period is not modelled."
},
{
"cell_type": "code",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Benefit cap
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Earnings exception
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
description: Fixed monthly earned income at or above which a Universal Credit award is excepted from the benefit cap. The regulations set a sum of money until 1 April 2017 and a number of hours at the national living wage rate since, so this is zero from that date.
values:
2013-04-29: 430
2017-04-01: 0
metadata:
unit: currency-GBP
period: month
label: Universal Credit benefit cap earnings exception fixed monthly amount
reference:
- title: The Universal Credit Regulations 2013 reg. 82(1)(a), as made
href: https://www.legislation.gov.uk/uksi/2013/376/regulation/82/made
- title: The Universal Credit (Benefit Cap Earnings Exception) Amendment Regulations 2017 reg. 2(3)(a)
href: https://www.legislation.gov.uk/uksi/2017/138/regulation/2/made
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
description: Hours a week at the national living wage rate whose pay, converted to a monthly amount, is the earned income at or above which a Universal Credit award is excepted from the benefit cap. Zero before 1 April 2017, when the regulations set a fixed sum instead.
values:
2013-04-29: 0
2017-04-01: 16
metadata:
unit: hour
period: week
label: Universal Credit benefit cap earnings exception weekly hours at the national living wage
reference:
- title: The Universal Credit Regulations 2013 reg. 82(1)(a)
href: https://www.legislation.gov.uk/uksi/2013/376/regulation/82
- title: The Universal Credit (Benefit Cap Earnings Exception) Amendment Regulations 2017 reg. 2(3)(a)
href: https://www.legislation.gov.uk/uksi/2017/138/regulation/2/made
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@
employment_income: 1_000
miscellaneous_income: 100
uc_work_allowance: 10
# The claimant's own tax (UC reg 22 counts the claimant's earnings).
tax: 1
# The claimant's own tax on these earnings.
uc_income_tax_on_earnings: 1
output:
uc_earned_income: 1100 - 11
uc_individual_earned_income: 1_100 - 1
uc_earned_income: 1_100 - 11

- name: Capped at 0
period: 2025
Expand All @@ -17,7 +18,46 @@
employment_income: 1_000
miscellaneous_income: 100
uc_work_allowance: 2_000
# The claimant's own tax (UC reg 22 counts the claimant's earnings).
tax: 1
# The claimant's own tax on these earnings.
uc_income_tax_on_earnings: 1
output:
uc_earned_income: 0

- name: Each person's deductions come off only their own earnings
period: 2025
absolute_error_margin: 0
input:
people:
earner:
employment_income: 1_000
uc_income_tax_on_earnings: 100
uc_national_insurance_on_earnings: 10
partner:
uc_income_tax_on_earnings: 500
pension_contributions: 50
benunits:
benunit:
members: [earner, partner]
uc_work_allowance: 0
output:
uc_individual_earned_income: [890, 0]
uc_earned_income: 890

- name: Work allowance comes off combined earnings after each person's deductions
period: 2025
absolute_error_margin: 0
input:
people:
earner:
employment_income: 1_000
uc_income_tax_on_earnings: 100
partner:
employment_income: 500
pension_contributions: 50
benunits:
benunit:
members: [earner, partner]
uc_work_allowance: 300
output:
uc_individual_earned_income: [900, 450]
uc_earned_income: 1_050
Loading
Loading