PolicyEngine / PolicyEngine/policyengine-uk
Add rules-based formula for council_tax_benefit
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 50
- Forks
- 33
- Avg merge
- 20h 58m
- Merged PRs (30d)
- 14
Description
The council_tax_benefit variable currently has no formula:
class council_tax_benefit(Variable):
...
adds = ["council_tax_benefit_reported"]
This means it only returns a value for FRS-reported recipients — household-calculator users can't get a calculated CTR for hypothetical households, and any reform that changes income won't update CTR eligibility or amount.
Council Tax Reduction is means-tested. Each local authority sets its own scheme (since 2013), but pensioners are still on a national default scheme, and most working-age schemes track UC eligibility closely.
A first cut could:
- Use UC/Pension Credit eligibility as a proxy for full CTR eligibility (most LAs operate a reduction proportional to gross CT for working-age claimants and a 100% rebate for pensioners on the default scheme)
- Default to the national pensioner scheme rules
- Allow per-LA parameterisation as a follow-up
Found while reviewing PolicyEngine/policyengine-uk#1668.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the council_tax_benefit Variable definition shown in the issue and inspect the existing UC and Pension Credit eligibility variables it could use. Determine the applicable default pensioner and working-age rules, then add tests covering hypothetical households and income changes; done means the formula produces a calculated CTR rather than only reported values.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100