Reported Council Tax Reduction is never uprated, so it covers less of the bill each projected year
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
Direzione di ricerca
Start with policyengine_uk/data/economic_assumptions.py and the uprate_council_tax logic, then inspect the tests for the two Council Tax Reduction variables. Check how the household council tax uprating factor is applied and how reported reductions are mapped from person to household. Add a test that a reported reduction keeps the same share of its bill across projected years; done means the test passes and the reduction grows with the bill.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happens
council_tax_benefit_reported has no uprating, and the dataset projection in policyengine_uk/data/economic_assumptions.py does not grow it. A family whose Council Tax Reduction scheme the model does not simulate falls back to this reported amount (council_tax_benefit, council_tax_reduction_scheme_supported). These are mostly working-age claims in the English councils the model does not model.
Their reduction therefore stays at its data-year cash value, while uprate_council_tax grows their bill every year. The other benefits the model falls back to a reported amount for, such as housing_benefit_reported, pension_credit_reported and universal_credit_reported, all carry an uprating.
Size
Measured on Microcosm UK 2024-25 (staged build uk-frs-calibration-attempt-20261025T091414Z-a6299504) with policyengine-uk 2.151.0. All figures are for households whose reduction is reported only, not simulated: about 2,800 records, 1.62m households in 2024-25 and 1.70m in 2031-32.
| 2024-25 | 2031-32 | |
|---|---|---|
| Mean reported reduction (cash) | £492.50 | £492.07 |
| Mean council tax bill (cash) | £1,250 | £1,804 |
| Mean council tax net of the reduction (cash) | £757 | £1,312 |
| Total reported reduction | £0.80bn | £0.84bn |
| Total if each reduction kept its 2024-25 share of the bill | £0.80bn | £1.21bn |
By 2031-32 the reductions fall about £0.37bn a year short of their 2024-25 share of the bill (£0.15bn in 2027-28). The effect on the income distribution is small: about £9 a person (equivalised, 2027-28 prices) in the bottom BHC decile, 0.05% of its income.
The code is the same in 2.132.6 and 2.158.2: the variable has no uprating, and nothing outside the tests and the two CTR variables refers to it.
Suggested fix
Grow a reported reduction with its household's bill. In uprate_council_tax, multiply the person-level council_tax_benefit_reported by its household's factor, so the reduction keeps its share of the bill. Council Tax Reduction schemes work out the award from the council tax liability (a maximum share of the bill, then reduced for income), so an award moves with the bill. Uprating by CPI, as for other benefits, would still leave the reduction behind bills that the OBR forecasts to grow 5.5–6.2% a year in England.
A test could pin the share: a household whose reported reduction is half of its bill in the data year still has half in each projected year.
Reproduce
On any dataset with reported reductions:
from policyengine_uk import Microsimulation
sim = Microsimulation()
for year in (2024, 2027, 2031):
rep = sim.calculate("council_tax_benefit_reported", year, map_to="household")
bill = sim.calculate("council_tax", year)
print(year, round(rep[rep > 0].mean()), round(bill[rep > 0].mean()))
The mean reduction stays at its data-year value while the mean bill grows.
Found while breaking down the bottom decile in the Living standards projections of PolicyEngine/uk-autumn-budget-dashboard-2026. Related: #1669 (closed), which added the simulated schemes this fallback sits beside.
- Lingua principale
- Python
- Stelle
- 53
- Fork
- 34
- Merge medio
- 4g 54m
- PR unite (30g)
- 381
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di PolicyEngine/policyengine-uk
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
PolicyEngine/policyengine-uk#2696 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Follow-ups from #2160: qualifying-age docstring, UC work-related groups property-file speed, changelog fragment exampleForse già presa @juaristi22 l’ha presa 13 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
PolicyEngine/policyengine-uk#2162 ·
I maintainer di solito rispondono entro 2 giorni
-
UC taper cut from 55% to 50%: about 12,000 households lose despite higher Universal CreditForse già presa @juaristi22 l’ha presa oggi. Aperta
PolicyEngine/policyengine-uk#2753 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 57/100
PolicyEngine/policyengine-uk#2752 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
PolicyEngine/policyengine-uk#2748 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di PolicyEngine/policyengine-uk
Issue simili
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
awslabs/visual-asset-management-system#937 ·
I maintainer di solito rispondono entro 1 giorno
-
Admin member of a research group cannot see the HX2 allocation until they've been added to itAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
follow-up
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 83/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 2 giorni