Skip to content

Commit cd65bac

Browse files
committed
Fix Cheshire West CTR source edges
1 parent 610cc31 commit cd65bac

8 files changed

Lines changed: 238 additions & 1 deletion

File tree

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
description: Weekly assumed income per capital step for Cheshire West and Chester working-age war pensioner Council Tax Reduction.
2+
values:
3+
2026-04-01: 1
4+
metadata:
5+
unit: currency-GBP
6+
period: week
7+
label: Cheshire West and Chester war pensioner CTR tariff income per step
8+
reference:
9+
- title: Cheshire West and Chester Council Tax Reduction Summary 2026-2027 Annex A Part 2, paragraphs 35.1-35.4
10+
href: https://www.cheshirewestandchester.gov.uk/asset-library/council-tax-reduction-summary-2026-2027-annex-a-part-2.pdf
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
description: Capital step for Cheshire West and Chester working-age war pensioner Council Tax Reduction tariff income.
2+
values:
3+
2026-04-01: 250
4+
metadata:
5+
unit: currency-GBP
6+
period: year
7+
label: Cheshire West and Chester war pensioner CTR tariff income capital step
8+
reference:
9+
- title: Cheshire West and Chester Council Tax Reduction Summary 2026-2027 Annex A Part 2, paragraphs 35.1-35.4
10+
href: https://www.cheshirewestandchester.gov.uk/asset-library/council-tax-reduction-summary-2026-2027-annex-a-part-2.pdf
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
description: Capital threshold above which Cheshire West and Chester assumes tariff income for working-age war pensioner Council Tax Reduction.
2+
values:
3+
2026-04-01: 6_000
4+
metadata:
5+
unit: currency-GBP
6+
period: year
7+
label: Cheshire West and Chester war pensioner CTR tariff income threshold
8+
reference:
9+
- title: Cheshire West and Chester Council Tax Reduction Summary 2026-2027 Annex A Part 2, paragraphs 35.1-35.4
10+
href: https://www.cheshirewestandchester.gov.uk/asset-library/council-tax-reduction-summary-2026-2027-annex-a-part-2.pdf
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
description: Minimum weekly Council Tax Reduction award payable under the Cheshire West and Chester working-age scheme.
2+
values:
3+
2026-04-01: 2
4+
metadata:
5+
unit: currency-GBP
6+
period: week
7+
label: Cheshire West and Chester Council Tax Reduction minimum weekly award
8+
reference:
9+
- title: Cheshire West and Chester Council Tax Reduction Summary 2026-2027 Annex A Part 1, paragraph 3.10
10+
href: https://www.cheshirewestandchester.gov.uk/asset-library/council-tax-reduction-summary-2026-2027-annex-a-part-1.pdf
11+
- title: Cheshire West and Chester Council Tax Reduction Summary 2026-2027 Annex A Part 2, paragraph 34.2
12+
href: https://www.cheshirewestandchester.gov.uk/asset-library/council-tax-reduction-summary-2026-2027-annex-a-part-2.pdf

policyengine_uk/tests/policy/baseline/gov/local_authorities/council_tax_reduction/council_tax_reduction.yaml

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23030,6 +23030,159 @@
2303023030
cheshire_west_and_chester_council_tax_reduction: [1_090, 0]
2303123031
council_tax_reduction: 1_090
2303223032

23033+
- name: Cheshire West and Chester zeros awards below the 2 pound weekly minimum
23034+
period: 2026
23035+
absolute_error_margin: 0.5
23036+
input:
23037+
people:
23038+
claimant:
23039+
age: 35
23040+
benunits:
23041+
benunit:
23042+
members: [claimant]
23043+
claims_all_entitled_benefits: true
23044+
would_claim_uc: false
23045+
council_tax_reduction_applicable_amount: 0
23046+
council_tax_reduction_applicable_income: 6_232.60
23047+
households:
23048+
household:
23049+
members: [claimant]
23050+
country: ENGLAND
23051+
local_authority: CHESHIRE_WEST_AND_CHESTER
23052+
council_tax_band: D
23053+
council_tax: 1_800
23054+
savings: 0
23055+
output:
23056+
cheshire_west_and_chester_council_tax_reduction: 0
23057+
council_tax_reduction: 0
23058+
23059+
- name: Cheshire West and Chester starts war pensioner tariff income just above 6,000 pounds
23060+
period: 2026
23061+
absolute_error_margin: 0.5
23062+
input:
23063+
people:
23064+
claimant:
23065+
age: 35
23066+
benunits:
23067+
benunit:
23068+
members: [claimant]
23069+
claims_all_entitled_benefits: true
23070+
would_claim_uc: false
23071+
cheshire_west_and_chester_council_tax_reduction_war_pensioner: true
23072+
council_tax_reduction_applicable_amount: 4_786.60
23073+
council_tax_reduction_applicable_income: 4_786.60
23074+
households:
23075+
household:
23076+
members: [claimant]
23077+
country: ENGLAND
23078+
local_authority: CHESHIRE_WEST_AND_CHESTER
23079+
council_tax_band: D
23080+
council_tax: 1_800
23081+
savings: 6_000.01
23082+
output:
23083+
cheshire_west_and_chester_council_tax_reduction_war_pensioner_tariff_income: 52
23084+
cheshire_west_and_chester_council_tax_reduction: 1_789.60
23085+
council_tax_reduction: 1_789.60
23086+
23087+
- name: Cheshire West and Chester applies war pensioner tariff income up to 16,000 pounds
23088+
period: 2026
23089+
absolute_error_margin: 0.5
23090+
input:
23091+
people:
23092+
claimant:
23093+
age: 35
23094+
benunits:
23095+
benunit:
23096+
members: [claimant]
23097+
claims_all_entitled_benefits: true
23098+
would_claim_uc: false
23099+
cheshire_west_and_chester_council_tax_reduction_war_pensioner: true
23100+
council_tax_reduction_applicable_amount: 4_786.60
23101+
council_tax_reduction_applicable_income: 4_786.60
23102+
households:
23103+
household:
23104+
members: [claimant]
23105+
country: ENGLAND
23106+
local_authority: CHESHIRE_WEST_AND_CHESTER
23107+
council_tax_band: D
23108+
council_tax: 1_800
23109+
savings: 16_000
23110+
output:
23111+
cheshire_west_and_chester_council_tax_reduction_war_pensioner_tariff_income: 2_080
23112+
cheshire_west_and_chester_council_tax_reduction: 1_384
23113+
council_tax_reduction: 1_384
23114+
23115+
- name: Cheshire West and Chester local scheme covers pension-age UC claimants without double-counting pensioner CTR
23116+
period: 2026
23117+
absolute_error_margin: 0.5
23118+
input:
23119+
people:
23120+
claimant:
23121+
age: 67
23122+
benunits:
23123+
benunit:
23124+
members: [claimant]
23125+
claims_all_entitled_benefits: true
23126+
would_claim_uc: true
23127+
universal_credit: 12_000
23128+
universal_credit_pre_benefit_cap: 12_000
23129+
uc_earned_income: 0
23130+
uc_unearned_income: 0
23131+
uc_maximum_amount: 12_000
23132+
uc_reported_capital: 1_000
23133+
council_tax_reduction_applicable_amount: 0
23134+
council_tax_reduction_applicable_income: 0
23135+
households:
23136+
household:
23137+
members: [claimant]
23138+
country: ENGLAND
23139+
local_authority: CHESHIRE_WEST_AND_CHESTER
23140+
council_tax_band: D
23141+
council_tax: 1_800
23142+
savings: 0
23143+
output:
23144+
council_tax_reduction_household_has_pensioner: true
23145+
cheshire_west_and_chester_council_tax_reduction_is_local_scheme: true
23146+
cheshire_west_and_chester_council_tax_reduction: 1_350
23147+
simulated_council_tax_reduction_benunit: 1_350
23148+
council_tax_reduction: 1_350
23149+
23150+
- name: Cheshire West and Chester keeps relevant-period pension-age UC claimants in the pensioner scheme
23151+
period: 2026
23152+
absolute_error_margin: 0.5
23153+
input:
23154+
people:
23155+
claimant:
23156+
age: 67
23157+
benunits:
23158+
benunit:
23159+
members: [claimant]
23160+
claims_all_entitled_benefits: true
23161+
would_claim_uc: true
23162+
universal_credit: 12_000
23163+
universal_credit_pre_benefit_cap: 12_000
23164+
uc_earned_income: 0
23165+
uc_unearned_income: 0
23166+
uc_maximum_amount: 12_000
23167+
uc_reported_capital: 1_000
23168+
council_tax_reduction_applicable_amount: 0
23169+
council_tax_reduction_applicable_income: 0
23170+
cheshire_west_and_chester_council_tax_reduction_uc_relevant_period_pensioner: true
23171+
households:
23172+
household:
23173+
members: [claimant]
23174+
country: ENGLAND
23175+
local_authority: CHESHIRE_WEST_AND_CHESTER
23176+
council_tax_band: D
23177+
council_tax: 1_800
23178+
savings: 0
23179+
output:
23180+
council_tax_reduction_household_has_pensioner: true
23181+
cheshire_west_and_chester_council_tax_reduction_is_local_scheme: false
23182+
cheshire_west_and_chester_council_tax_reduction: 0
23183+
simulated_council_tax_reduction_benunit: 1_800
23184+
council_tax_reduction: 1_800
23185+
2303323186
- name: Cheshire West and Chester makes one non-dependant deduction for a working couple using joint gross income
2303423187
period: 2026
2303523188
absolute_error_margin: 0.5

policyengine_uk/variables/gov/local_authorities/cheshire_west_and_chester/council_tax_reduction/cheshire_west_and_chester_council_tax_reduction.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ def formula(benunit, period, parameters):
3737
applicable_income = where(
3838
has_uc_award, uc_applicable_income, non_uc_applicable_income
3939
)
40+
applicable_income += benunit(
41+
"cheshire_west_and_chester_council_tax_reduction_war_pensioner_tariff_income",
42+
period,
43+
)
4044
relevant_income_based_benefit = benunit(
4145
"council_tax_reduction_relevant_income_based_benefit", period
4246
)
@@ -70,6 +74,7 @@ def formula(benunit, period, parameters):
7074
- excess_income * ctr.means_test.withdrawal_rate
7175
- non_dep_deductions,
7276
)
77+
award = where(award < ctr.minimum_award * WEEKS_IN_YEAR, 0, award)
7378
capital = where(
7479
has_uc_award,
7580
benunit("uc_assessable_capital", period),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
from policyengine_uk.model_api import *
2+
import numpy as np
3+
4+
5+
class cheshire_west_and_chester_council_tax_reduction_war_pensioner_tariff_income(
6+
Variable
7+
):
8+
value_type = float
9+
entity = BenUnit
10+
label = "Cheshire West and Chester Council Tax Reduction war pensioner tariff income from capital"
11+
definition_period = YEAR
12+
unit = GBP
13+
reference = "https://www.cheshirewestandchester.gov.uk/asset-library/council-tax-reduction-summary-2026-2027-annex-a-part-2.pdf"
14+
15+
def formula(benunit, period, parameters):
16+
ctr = parameters(
17+
period
18+
).gov.local_authorities.cheshire_west_and_chester.council_tax_reduction
19+
war_pensioner = benunit(
20+
"cheshire_west_and_chester_council_tax_reduction_war_pensioner", period
21+
)
22+
has_uc_award = (
23+
max_(
24+
benunit("universal_credit_pre_benefit_cap", period),
25+
benunit("universal_credit", period),
26+
)
27+
> 0
28+
)
29+
capital = where(
30+
has_uc_award,
31+
benunit("uc_assessable_capital", period),
32+
benunit.household("savings", period),
33+
)
34+
tariff = ctr.means_test.tariff_income
35+
excess_capital = max_(0, capital - tariff.threshold)
36+
tariff_units = np.ceil(excess_capital / tariff.step)
37+
return war_pensioner * tariff_units * tariff.amount * WEEKS_IN_YEAR

policyengine_uk/variables/gov/local_authorities/council_tax_reduction/scheme_work_queue.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ Each council dossier should capture:
7070
| Buckinghamshire | Implemented | Weekly net-income banded scheme with `100%`/`75%`/`50%`/`25%`/`0%` rates by family type, strict `GBP 6,000` capital cutoff, passported income-based benefits in Band 1, pension-age UC local cases with transitional-protection flag, source-listed earnings/disability/UC-element/income disregards, and `GBP 5` weekly non-dependant deductions applied before the band percentage. Transitional Relief is source-described but deferred because it depends on prior-scheme awards. | https://buckinghamshire.moderngov.co.uk/documents/s115727/Appendix%204%20Council%20Tax%20Reduction%20Scheme%20Policy.pdf |
7171
| Colchester | Implemented | Weekly net-income banded discount scheme with `80%` maximum support, Band D liability cap, `GBP 25` weekly earnings disregard, eligible childcare deductions, strict `GBP 6,000` capital cutoff, protected-group `80%` route inside listed income bands, source-listed Universal Credit element disregards, and no working-age non-dependant deductions found in the formal scheme. | https://cbccrmdata.blob.core.windows.net/noteattachment/CBC-null-Local-council-tax-support-policy-updated-01-04-26-Local%20Council%20Tax%20support%20policy.pdf |
7272
| Chelmsford | Implemented | Legacy `77%` support with Band D liability cap, `20%` taper, strict `GBP 6,000` capital limit, UC assessed income/capital branch with adjusted UC award treatment, local earnings disregards, pension-age UC/income-based benefit local cases with relevant-period protection, remunerative-work gross-income non-dependant deductions, and source-exemption inputs. The 2026/27 report and 3 December 2025 minutes re-adopt the 2025/26 scheme unchanged. | https://www.chelmsford.gov.uk/media/g2nbyt31/62-local-council-tax-support-lcts-scheme-2026-27.pdf |
73-
| Cheshire West and Chester | Implemented | Legacy `75%` ordinary support, `100%` protected class and war-pensioner support, Band D cap except for war pensioners, `20%` taper, flat `GBP 30` weekly earnings disregard, ordinary `GBP 6,000` capital limit with exact-threshold eligibility under the detailed scheme, `GBP 16,000` working-age war-pensioner capital limit, UC award-income branch using `uc_maximum_amount` as the applicable amount, pension-age UC/income-based benefit local cases with relevant-period protection, and `GBP 5`/`GBP 10` non-dependant deductions using remunerative work and joint gross income for couples. Part 1 summary says capital of `GBP 6,000 or more` excludes ordinary working-age claimants, while the detailed scheme uses `does not exceed GBP 6,000` and `more than GBP 6,000`; the implementation follows the detailed boundary and tests `GBP 6,000.01`. | https://www.cheshirewestandchester.gov.uk/asset-library/council-tax-reduction-summary-2026-2027-annex-a-part-1.pdf |
73+
| Cheshire West and Chester | Implemented | Legacy `75%` ordinary support, `100%` protected class and war-pensioner support, Band D cap except for war pensioners, `20%` taper, `GBP 2` weekly minimum award, flat `GBP 30` weekly earnings disregard, ordinary `GBP 6,000` capital limit with exact-threshold eligibility under the detailed scheme, `GBP 16,000` working-age war-pensioner capital limit with part-block tariff income above `GBP 6,000`, UC award-income branch using `uc_maximum_amount` as the applicable amount, pension-age UC/income-based benefit local cases with relevant-period protection, and `GBP 5`/`GBP 10` non-dependant deductions using remunerative work and joint gross income for couples. Part 1 summary says capital of `GBP 6,000 or more` excludes ordinary working-age claimants, while the detailed scheme uses `does not exceed GBP 6,000` and `more than GBP 6,000`; the implementation follows the detailed boundary and tests `GBP 6,000.01`. The live working-age page describes a fixed `GBP 5` non-dependant deduction, but both 2026/27 PDFs contain the modeled `GBP 5`/`GBP 10` rule. | https://www.cheshirewestandchester.gov.uk/asset-library/council-tax-reduction-summary-2026-2027-annex-a-part-1.pdf |
7474
| Brent | Implemented | Weekly claimant-and-partner earnings bands with `65%` maximum support, strict `GBP 6,000` savings cutoff, and flat working/non-working non-dependant deductions | https://www.brent.gov.uk/council-tax/council-tax-support |
7575
| Bromley | Implemented | Legacy means test with `50%` maximum support, Band D cap, tariff income, UC assessed income/capital branch, and gross-income non-dependant deductions | https://cds.bromley.gov.uk/documents/s50125675/Council%20Tax%20Support%20Scheme%202026-27.pdf |
7676
| Bristol | Implemented | Legacy full support with `20%` taper, tariff income, UC assessed income/capital branch, single/couple non-dependant income tests, and source-exemption inputs | https://www.bristol.gov.uk/files/documents/10754-bristol-council-tax-reduction-scheme-2026/file |

0 commit comments

Comments
 (0)