Skip to content

Commit 54dc64f

Browse files
authored
Merge pull request #1338 from PolicyEngine/add-real-ahc
Add real_hbai_household_net_income_ahc variable for convenience
2 parents 55b3fe3 + fd84ccf commit 54dc64f

3 files changed

Lines changed: 41 additions & 0 deletions

File tree

changelog_entry.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
- bump: minor
2+
changes:
3+
fixed:
4+
- Add real_hbai_household_net_income_ahc variable for convenience.

policyengine_uk/variables/household/income/hbai_household_net_income_ahc.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,16 @@ class hbai_household_net_income_ahc(Variable):
1717
"mortgage_interest_repayment",
1818
"structural_insurance_payments",
1919
]
20+
21+
22+
class real_hbai_household_net_income_ahc(Variable):
23+
label = "real household net income after housing costs (HBAI definition)"
24+
entity = Household
25+
definition_period = YEAR
26+
value_type = float
27+
unit = GBP
28+
29+
def formula(household, period, parameters):
30+
return household("hbai_household_net_income_ahc", period) * household(
31+
"inflation_adjustment_ahc", period
32+
)

policyengine_uk/variables/household/income/inflation_adjustment.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,27 @@ def formula(household, period, parameters):
1919
current_period_cpi = cpi(period)
2020
now_cpi = cpi(datetime.datetime.now().strftime("%Y-01-01"))
2121
return now_cpi / current_period_cpi
22+
23+
24+
class inflation_adjustment_ahc(Variable):
25+
label = f"inflation multiplier to get {datetime.datetime.now().year} after housing costs prices"
26+
entity = Household
27+
definition_period = YEAR
28+
value_type = float
29+
unit = "/1"
30+
31+
def formula(household, period, parameters):
32+
cpi = (
33+
parameters.gov.economic_assumptions.indices.obr.consumer_price_index
34+
)
35+
cpi_ahc = (
36+
parameters.gov.economic_assumptions.indices.obr.consumer_price_index_ahc
37+
)
38+
39+
cpi_ahc_val = cpi_ahc(period)
40+
# Fall back to use cpi, for periods beyond 2029
41+
if not cpi_ahc_val:
42+
cpi_ahc_val = cpi(period)
43+
44+
now_cpi_ahc = cpi(datetime.datetime.now().strftime("%Y-01-01"))
45+
return now_cpi_ahc / cpi_ahc_val

0 commit comments

Comments
 (0)