Skip to content

Commit b1dbe8c

Browse files
MaxGhenisclaude
andcommitted
Use subtree for p in plan_2_interest_rate
p = parameters(period).gov.hmrc.student_loans for cleaner code. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent dd4d095 commit b1dbe8c

1 file changed

Lines changed: 5 additions & 9 deletions

File tree

policyengine_uk/variables/gov/hmrc/student_loans/plan_2_interest_rate.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,17 @@ class plan_2_interest_rate(Variable):
1717

1818
def formula(person, period, parameters):
1919
income = person("adjusted_net_income", period)
20-
p = parameters(period).gov
20+
p = parameters(period).gov.hmrc.student_loans
21+
rpi = parameters(period).gov.economic_assumptions.yoy_growth.obr.rpi
2122

2223
# Per Regulation 21AB, lower interest threshold = repayment threshold
2324
# Below lower threshold: RPI only
2425
# Above upper threshold: RPI + 3%
2526
# Between: linear taper
2627
taper_fraction = np.clip(
27-
(income - p.hmrc.student_loans.thresholds.plan_2)
28-
/ (
29-
p.hmrc.student_loans.interest_rates.plan_2.upper_threshold
30-
- p.hmrc.student_loans.thresholds.plan_2
31-
),
28+
(income - p.thresholds.plan_2)
29+
/ (p.interest_rates.plan_2.upper_threshold - p.thresholds.plan_2),
3230
0,
3331
1,
3432
)
35-
return p.economic_assumptions.yoy_growth.obr.rpi + (
36-
p.hmrc.student_loans.interest_rates.plan_2.additional_rate * taper_fraction
37-
)
33+
return rpi + (p.interest_rates.plan_2.additional_rate * taper_fraction)

0 commit comments

Comments
 (0)