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
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Remove redundant uprating metadata and class-level aggregation metadata from variables that already define their computation explicitly.
Original file line number Diff line number Diff line change
@@ -1,51 +1,53 @@
from policyengine_uk.model_api import *


PRE_BUDGET_CHANGE_HOUSEHOLD_BENEFIT_VARIABLES = [
"child_benefit",
"council_tax_benefit",
"esa_income",
"housing_benefit",
"income_support",
"jsa_income",
"pension_credit",
"universal_credit",
"working_tax_credit",
"child_tax_credit",
"attendance_allowance",
"afcs",
"bsp",
"carers_allowance",
"dla",
"esa_contrib",
"iidb",
"incapacity_benefit",
"jsa_contrib",
"pip",
"sda",
"state_pension",
"maternity_allowance",
"statutory_sick_pay",
"statutory_maternity_pay",
"ssmg",
"basic_income",
"epg_subsidy",
"cost_of_living_support_payment",
"energy_bills_rebate",
"carer_support_payment",
]


class pre_budget_change_household_benefits(Variable):
value_type = float
entity = Household
label = "household benefits"
documentation = "Total value of benefits received by household"
definition_period = YEAR
unit = GBP
adds = [
"child_benefit",
"council_tax_benefit",
"esa_income",
"housing_benefit",
"income_support",
"jsa_income",
"pension_credit",
"universal_credit",
"working_tax_credit",
"child_tax_credit",
"attendance_allowance",
"afcs",
"bsp",
"carers_allowance",
"dla",
"esa_contrib",
"iidb",
"incapacity_benefit",
"jsa_contrib",
"pip",
"sda",
"state_pension",
"maternity_allowance",
"statutory_sick_pay",
"statutory_maternity_pay",
"ssmg",
"basic_income",
"epg_subsidy",
"cost_of_living_support_payment",
"energy_bills_rebate",
"carer_support_payment",
]

def formula(household, period, parameters):
contrib = parameters(period).gov.contrib
uprating = contrib.benefit_uprating
benefits = pre_budget_change_household_benefits.adds
benefits = PRE_BUDGET_CHANGE_HOUSEHOLD_BENEFIT_VARIABLES
if contrib.abolish_council_tax:
benefits = [
benefit for benefit in benefits if benefit != "council_tax_benefit"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,32 +1,34 @@
from policyengine_uk.model_api import *


PRE_BUDGET_CHANGE_HOUSEHOLD_TAX_VARIABLES = [
"expected_sdlt",
"expected_ltt",
"expected_lbtt",
"corporate_sdlt",
"business_rates",
"council_tax",
"domestic_rates",
"fuel_duty",
"tv_licence",
"wealth_tax",
"non_primary_residence_wealth_tax",
"income_tax",
"national_insurance",
"LVT",
"carbon_tax",
"vat_change",
"capital_gains_tax",
]


class pre_budget_change_household_tax(Variable):
value_type = float
entity = Household
label = "household taxes"
documentation = "Total taxes owed by the household"
definition_period = YEAR
unit = GBP
adds = [
"expected_sdlt",
"expected_ltt",
"expected_lbtt",
"corporate_sdlt",
"business_rates",
"council_tax",
"domestic_rates",
"fuel_duty",
"tv_licence",
"wealth_tax",
"non_primary_residence_wealth_tax",
"income_tax",
"national_insurance",
"LVT",
"carbon_tax",
"vat_change",
"capital_gains_tax",
]

def formula(household, period, parameters):
abolish_council_tax = parameters.gov.contrib.abolish_council_tax(period)
Expand All @@ -36,9 +38,9 @@ def formula(household, period, parameters):
period,
[
tax
for tax in pre_budget_change_household_tax.adds
for tax in PRE_BUDGET_CHANGE_HOUSEHOLD_TAX_VARIABLES
if tax not in ["council_tax"]
],
)
else:
return add(household, period, pre_budget_change_household_tax.adds)
return add(household, period, PRE_BUDGET_CHANGE_HOUSEHOLD_TAX_VARIABLES)
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ class state_pension_reported(Variable):
label = "Reported income from the State Pension"
definition_period = YEAR
unit = GBP
uprating = "gov.economic_assumptions.indices.obr.consumer_price_index"

def formula_2022(person, period, parameters):
return person("state_pension_reported", period.last_year)
104 changes: 53 additions & 51 deletions policyengine_uk/variables/gov/gov_spending.py
Original file line number Diff line number Diff line change
@@ -1,66 +1,68 @@
from policyengine_uk.model_api import *


GOV_SPENDING_VARIABLES = [
"child_benefit",
"council_tax_benefit",
"esa_income",
"esa_contrib",
"housing_benefit",
"income_support",
"jsa_income",
"jsa_contrib",
"pension_credit",
"universal_credit",
"working_tax_credit",
"child_tax_credit",
"attendance_allowance",
"afcs",
"bsp",
"carers_allowance",
"dla",
"iidb",
"incapacity_benefit",
"pip",
"sda",
"state_pension",
"maternity_allowance",
"statutory_sick_pay",
"statutory_maternity_pay",
"ssmg",
"basic_income",
"epg_subsidy",
"cost_of_living_support_payment",
"energy_bills_rebate",
"winter_fuel_allowance",
"pawhp",
"other_public_spending_budget_change",
"tax_free_childcare",
"extended_childcare_entitlement",
"universal_childcare_entitlement",
"targeted_childcare_entitlement",
"care_to_learn",
"childcare_grant",
"parents_learning_allowance",
"adult_dependants_grant",
"travel_grant",
"disabled_students_allowance",
"bursary_fund_16_to_19",
"dfe_education_spending",
"dft_subsidy_spending",
"nhs_spending",
"carer_support_payment",
]


class gov_spending(Variable):
label = "government spending"
documentation = "Government spending impact in respect of this household."
entity = Household
definition_period = YEAR
value_type = float
unit = GBP
adds = [
"child_benefit",
"council_tax_benefit",
"esa_income",
"esa_contrib",
"housing_benefit",
"income_support",
"jsa_income",
"jsa_contrib",
"pension_credit",
"universal_credit",
"working_tax_credit",
"child_tax_credit",
"attendance_allowance",
"afcs",
"bsp",
"carers_allowance",
"dla",
"iidb",
"incapacity_benefit",
"pip",
"sda",
"state_pension",
"maternity_allowance",
"statutory_sick_pay",
"statutory_maternity_pay",
"ssmg",
"basic_income",
"epg_subsidy",
"cost_of_living_support_payment",
"energy_bills_rebate",
"winter_fuel_allowance",
"pawhp",
"other_public_spending_budget_change",
"tax_free_childcare",
"extended_childcare_entitlement",
"universal_childcare_entitlement",
"targeted_childcare_entitlement",
"care_to_learn",
"childcare_grant",
"parents_learning_allowance",
"adult_dependants_grant",
"travel_grant",
"disabled_students_allowance",
"bursary_fund_16_to_19",
"dfe_education_spending",
"dft_subsidy_spending",
"nhs_spending",
"carer_support_payment",
]

def formula(household, period, parameters):
variables = list(gov_spending.adds)
variables = list(GOV_SPENDING_VARIABLES)
abolish_council_tax = parameters.gov.contrib.abolish_council_tax(period)
if abolish_council_tax:
variables = [v for v in variables if v != "council_tax_benefit"]
Expand Down
54 changes: 28 additions & 26 deletions policyengine_uk/variables/gov/gov_tax.py
Original file line number Diff line number Diff line change
@@ -1,41 +1,43 @@
from policyengine_uk.model_api import *


GOV_TAX_VARIABLES = [
"expected_sdlt",
"expected_ltt",
"expected_lbtt",
"corporate_sdlt",
"business_rates",
"council_tax",
"high_value_council_tax_surcharge",
"domestic_rates",
"fuel_duty",
"tv_licence",
"wealth_tax",
"non_primary_residence_wealth_tax",
"income_tax",
"national_insurance",
"LVT",
"carbon_tax",
"capital_gains_tax",
"private_school_vat",
"corporate_incident_tax_revenue_change",
"consumer_incident_tax_revenue_change",
"ni_employer",
"student_loan_repayments",
"vat",
]


class gov_tax(Variable):
label = "government tax revenue"
documentation = "Government tax revenue impact in respect of this household."
entity = Household
definition_period = YEAR
value_type = float
unit = GBP
adds = [
"expected_sdlt",
"expected_ltt",
"expected_lbtt",
"corporate_sdlt",
"business_rates",
"council_tax",
"high_value_council_tax_surcharge",
"domestic_rates",
"fuel_duty",
"tv_licence",
"wealth_tax",
"non_primary_residence_wealth_tax",
"income_tax",
"national_insurance",
"LVT",
"carbon_tax",
"capital_gains_tax",
"private_school_vat",
"corporate_incident_tax_revenue_change",
"consumer_incident_tax_revenue_change",
"ni_employer",
"student_loan_repayments",
"vat",
]

def formula(household, period, parameters):
variables = list(gov_tax.adds)
variables = list(GOV_TAX_VARIABLES)
abolish_council_tax = parameters.gov.contrib.abolish_council_tax(period)
if abolish_council_tax:
variables = [
Expand Down
Loading