File tree Expand file tree Collapse file tree
parameters/gov/dwp/pension_credit/savings_credit
tests/policy/baseline/gov/dwp/pension_credit/savings_credit
variables/gov/dwp/pension_credit/savings_credit Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ - bump : minor
2+ changes :
3+ fixed :
4+ - Implemented 2016 Savings Credit eligibility restriction in Pension Credit.
Original file line number Diff line number Diff line change 1+ description : People reaching State Pension age after this year are not eligible for Savings Credit.
2+ metadata :
3+ label : Savings Credit eligibility cutoff year
4+ reference :
5+ - title : State Pension Credit Act 2002
6+ href : https://www.legislation.gov.uk/ukpga/2002/16/section/3
7+ values :
8+ 2002-01-01 : 2016
Original file line number Diff line number Diff line change 1+ - name : No one reached SPA before the cutoff year, ineligible for savings credit
2+ period : 2023
3+ input :
4+ people :
5+ person :
6+ age : 68
7+ is_male : true
8+ state_pension_age : 66
9+ benunits :
10+ benunit :
11+ members : [person]
12+ savings_credit_income : 10000
13+ output :
14+ is_savings_credit_eligible : false
15+
16+ - name : Has pre-cutoff year SPA member and income above threshold (single), eligible
17+ period : 2023
18+ input :
19+ people :
20+ person :
21+ age : 78
22+ is_male : false
23+ state_pension_age : 60
24+ benunits :
25+ benunit :
26+ members : [person]
27+ relation_type : SINGLE
28+ savings_credit_income : 10200
29+ output :
30+ is_savings_credit_eligible : true
31+
32+ - name : One member reached SPA before cutoff year and income above threshold (couple), eligible
33+ period : 2023
34+ input :
35+ people :
36+ person :
37+ age : 73
38+ is_male : true
39+ state_pension_age : 65
40+ spouse :
41+ age : 66
42+ is_male : false
43+ state_pension_age : 66
44+ benunits :
45+ benunit :
46+ members : [person, spouse]
47+ relation_type : COUPLE
48+ savings_credit_income : 16000
49+ output :
50+ is_savings_credit_eligible : true
51+
52+ - name : No pre-cutoff year SPA member and income above threshold (couple), ineligible
53+ period : 2023
54+ input :
55+ people :
56+ person :
57+ age : 67
58+ is_male : true
59+ state_pension_age : 66
60+ spouse :
61+ age : 65
62+ is_male : false
63+ state_pension_age : 66
64+ benunits :
65+ benunit :
66+ members : [person, spouse]
67+ relation_type : COUPLE
68+ savings_credit_income : 16000
69+ output :
70+ is_savings_credit_eligible : false
Original file line number Diff line number Diff line change 1+ - name : Person born in 1948 reaches SPA before cutoff year
2+ period : 2023
3+ input :
4+ people :
5+ person :
6+ age : 75 # Born in 1948, reached SPA around 2013-2014
7+ state_pension_age : 65
8+ benunits :
9+ benunit :
10+ members : [person]
11+ output :
12+ meets_savings_credit_age_requirement : true
13+
14+ - name : Person born in 1952 reaches SPA before cutoff year
15+ period : 2023
16+ input :
17+ people :
18+ person :
19+ age : 71 # Born in 1952, reached SPA around 2015
20+ state_pension_age : 63
21+ benunits :
22+ benunit :
23+ members : [person]
24+ output :
25+ meets_savings_credit_age_requirement : true
26+
27+ - name : Person born in 1954 reaches SPA after cutoff year
28+ period : 2023
29+ input :
30+ people :
31+ person :
32+ age : 69 # Born in 1954, reached SPA around 2017-2018
33+ state_pension_age : 63.5
34+ benunits :
35+ benunit :
36+ members : [person]
37+ output :
38+ meets_savings_credit_age_requirement : false
39+
40+ - name : Person born in 1960 reaches SPA after cutoff year
41+ period : 2023
42+ input :
43+ people :
44+ person :
45+ age : 63 # Born in 1960, will reach SPA around 2026-2027
46+ state_pension_age : 66
47+ benunits :
48+ benunit :
49+ members : [person]
50+ output :
51+ meets_savings_credit_age_requirement : false
52+
53+ - name : Test in 2015 - Person born in 1950 reaches SPA before cutoff year
54+ period : 2015
55+ input :
56+ people :
57+ person :
58+ age : 65 # Born in 1950, reached SPA around 2013
59+ state_pension_age : 63
60+ benunits :
61+ benunit :
62+ members : [person]
63+ output :
64+ meets_savings_credit_age_requirement : true
65+
66+ - name : Test in 2017 - Person who reached SPA in 2015 is eligible
67+ period : 2017
68+ input :
69+ people :
70+ person :
71+ age : 65 # Born in 1952, reached SPA in 2015
72+ state_pension_age : 63
73+ benunits :
74+ benunit :
75+ members : [person]
76+ output :
77+ meets_savings_credit_age_requirement : true
Original file line number Diff line number Diff line change @@ -10,8 +10,13 @@ class is_savings_credit_eligible(Variable):
1010 reference = "https://www.legislation.gov.uk/ukpga/2002/16/section/3"
1111
1212 def formula (benunit , period , parameters ):
13+ # Check if any member reached SPA before the cutoff year
14+ has_pre_cutoff_spa_member = benunit .any (
15+ benunit .members ("meets_savings_credit_age_requirement" , period )
16+ )
1317 income = benunit ("savings_credit_income" , period )
1418 sc = parameters (period ).gov .dwp .pension_credit .savings_credit
1519 relation_type = benunit ("relation_type" , period )
1620 threshold = sc .threshold [relation_type ]
17- return income >= threshold
21+ meets_income_threshold = income >= threshold
22+ return has_pre_cutoff_spa_member & meets_income_threshold
Original file line number Diff line number Diff line change 1+ from policyengine_uk .model_api import *
2+
3+
4+ class meets_savings_credit_age_requirement (Variable ):
5+ value_type = bool
6+ entity = Person
7+ label = "whether the person reached State Pension Age before the Savings Credit cutoff year"
8+ definition_period = YEAR
9+
10+ def formula (person , period , parameters ):
11+ # https://www.legislation.gov.uk/ukpga/2002/16/section/3
12+ p = parameters (period ).gov .dwp .pension_credit .savings_credit
13+ current_age = person ("age" , period )
14+ # State pension age
15+ spa = person ("state_pension_age" , period )
16+ # The year we're evaluating
17+ evaluation_year = period .start .year
18+ # Calculate what year the person reached/will reach SPA
19+ birth_year = evaluation_year - current_age
20+ spa_year = birth_year + spa
21+ # Get the cutoff year from parameters
22+ return spa_year < p .cutoff_year
You can’t perform that action at this time.
0 commit comments