Skip to content

Commit dd4d095

Browse files
MaxGhenisclaude
andcommitted
Add Plan 1 BoE margin parameter and use p = parameters(period).gov pattern
- Create plan_1/boe_margin.yaml parameter for the 1% margin - Update plan_1_interest_rate to use parameter instead of hardcoded 0.01 - Apply p = parameters(period).gov pattern to plan_5_interest_rate 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 1e4f32b commit dd4d095

3 files changed

Lines changed: 18 additions & 4 deletions

File tree

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
description: Plan 1 margin added to Bank of England base rate for interest calculation
2+
metadata:
3+
label: Plan 1 BoE margin
4+
unit: /1
5+
period: year
6+
reference:
7+
- title: Education (Student Loans) (Repayment) Regulations 2009, Regulation 21(2)
8+
href: https://www.legislation.gov.uk/uksi/2009/470/regulation/21
9+
10+
values:
11+
2000-01-01: 0.01

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ class plan_1_interest_rate(Variable):
1515
reference = "https://www.legislation.gov.uk/uksi/2009/470/regulation/21"
1616

1717
def formula(person, period, parameters):
18-
rpi = parameters(period).gov.economic_assumptions.yoy_growth.obr.rpi
19-
boe_rate = parameters(period).gov.boe.base_rate
20-
return min_(rpi, boe_rate + 0.01)
18+
p = parameters(period).gov
19+
return min_(
20+
p.economic_assumptions.yoy_growth.obr.rpi,
21+
p.boe.base_rate + p.hmrc.student_loans.interest_rates.plan_1.boe_margin,
22+
)

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ class plan_5_interest_rate(Variable):
1414
reference = "https://www.legislation.gov.uk/uksi/2023/207/made"
1515

1616
def formula(person, period, parameters):
17-
return parameters(period).gov.economic_assumptions.yoy_growth.obr.rpi
17+
p = parameters(period).gov
18+
return p.economic_assumptions.yoy_growth.obr.rpi

0 commit comments

Comments
 (0)