PolicyEngine / PolicyEngine/policyengine-uk

Add rules-based formula for council_tax_benefit

Open
#1,669 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.