Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- bump: patch
changes:
added:
- Council Tax calibration.
9 changes: 0 additions & 9 deletions policyengine_uk_data/datasets/frs/frs.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,15 +89,6 @@ def generate(self):
for variable in frs:
frs[variable] = {self.dwp_frs.time_period: np.array(frs[variable])}

# Domestic rates need to be set for 2025 too
domestic_rates = np.array(
frs["domestic_rates"][self.dwp_frs.time_period]
)
frs["domestic_rates"] = {
self.dwp_frs.time_period: domestic_rates,
"2025": domestic_rates,
}

self.save_dataset(frs)

impute_brmas(self, frs)
Expand Down
12 changes: 12 additions & 0 deletions policyengine_uk_data/storage/council_tax_bands_2024.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Region,A,B,C,D,E,F,G,H,I,Total
NORTH_EAST,667260,205250,194090,111950,60000,26180,14430,1550,0,1280700
NORTH_WEST,1381000,700030,610850,360710,213480,103150,65240,7280,0,3441730
SOUTH_EAST,366180,682890,1067530,836070,547270,334360,263930,39980,0,4138200
SOUTH_WEST,469430,641160,618890,428320,289050,146600,81270,8320,0,2683030
LONDON,148830,496490,1031190,969650,580310,295330,223990,68020,0,3813790
EAST_MIDLANDS,800340,500990,399250,245090,152700,73090,38980,3370,0,2213820
WEST_MIDLANDS,784110,650540,521020,299270,191300,104660,62300,6110,0,2619300
YORKSHIRE,1068570,510140,427750,246960,156680,75040,41820,3720,0,2530680
EAST_OF_ENGLAND,400900,595180,733990,502180,310470,170910,112790,14660,0,2841060
WALES,214540,306120,321500,239690,199500,121740,54850,13130,5630,1476690
SCOTLAND,497867,581576,423304,365001,362354,217954,140162,14327,0,2602545
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ reforms:
parameters:
gov.hmrc.child_benefit.amount.additional: 25
- name: Reduce Universal Credit taper rate to 20%
expected_impact: -41.3
expected_impact: -37.3
parameters:
gov.dwp.universal_credit.means_test.reduction_rate: 0.2
- name: Raise Class 1 main employee NICs rate to 10%
Expand Down
27 changes: 27 additions & 0 deletions policyengine_uk_data/utils/loss.py
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,33 @@ def pe_count(*variables):
target_names.append("dwp/pip_dl_enhanced_claimants")
target_values.append(1_608_000)

# Council Tax band counts

ct_data = pd.read_csv(STORAGE_FOLDER / "council_tax_bands_2024.csv")
uk_population = (
sim.tax_benefit_system.parameters.gov.economic_assumptions.indices.ons.population
)
uprating = uk_population(time_period) / uk_population(2024)

# England and Wales data from https://www.gov.uk/government/statistics/council-tax-stock-of-properties-2024

# Scotland data from https://www.gov.scot/publications/council-tax-datasets/ (Number of chargeable dwellings, 2024)

for i, row in ct_data.iterrows():
selected_region = row["Region"]
in_region = sim.calculate("region").values == selected_region
for band in ["A", "B", "C", "D", "E", "F", "G", "H", "I"]:
name = f"voa/council_tax/{selected_region}/{band}"
in_band = sim.calculate("council_tax_band") == band
df[name] = (in_band * in_region).astype(float)
target_names.append(name)
target_values.append(float(row[band]) * uprating)
# Add total row
name = f"voa/council_tax/{selected_region}/total"
df[name] = (in_region).astype(float)
target_names.append(name)
target_values.append(float(row["Total"]) * uprating)

combined_targets = pd.concat(
[
targets,
Expand Down
Loading