Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Newfoundland and Labrador Seniors’ Benefit #309

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
4 changes: 4 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- bump: minor
changes:
added:
- Newfoundland and Labrador Seniors’ Benefit.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Newfoundland and Labrador Seniors’ Benefit.
- Newfoundland and Labrador seniors’ benefit.

Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: Newfoundland and Labrador provides the seniors’ benefit at or above this age.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Newfoundland and Labrador provides the seniors’ benefit at or above this age.
description: Newfoundland and Labrador limits the seniors’ benefit to filers at or above this age.

values:
2022-12-31: 64
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there a way to get 2022 values?

metadata:
unit: age
label: Newfoundland and Labrador age threshold
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
label: Newfoundland and Labrador age threshold
label: Newfoundland and Labrador seniors' benefit age threshold

reference:
- title: Government of Canada - Newfoundland and Labrador Seniors Benefit
href: https://www.gov.nl.ca/fin/tax-programs-incentives/personal/income-supplement/
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: Newfoundland and Labrador phases the seniors’ benefit out above this income threshold.
values:
2022-12-31: 29_402
metadata:
unit: currency-CAD
label: Newfoundland and Labrador seniors' phase out start
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
label: Newfoundland and Labrador seniors' phase out start
label: Newfoundland and Labrador seniors' benefit phase out start

reference:
- title: Government of Canada - Newfoundland and Labrador Seniors Benefit
href: https://www.gov.nl.ca/fin/tax-programs-incentives/personal/income-supplement/
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: Newfoundland and Labrador provides this maximum benefit amount under the seniors' benefit.
values:
2022-12-31: 1_516
metadata:
unit: currency-CAD
label: Newfoundland and Labrador max seniors benefit amount
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
label: Newfoundland and Labrador max seniors benefit amount
label: Newfoundland and Labrador seniors benefit max amount

reference:
- title: Government of Canada - Newfoundland and Labrador Seniors Benefit
href: https://www.gov.nl.ca/fin/tax-programs-incentives/personal/income-supplement/
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: Newfoundland and Labrador phases the seniors’ benefit out at this rate.
values:
2022-12-31: 0.1166
metadata:
unit: /1
label: Newfoundland and Labrador seniors' benefit phase out rate
reference:
- title: Government of Canada - Newfoundland and Labrador Seniors Benefit
href: https://www.gov.nl.ca/fin/tax-programs-incentives/personal/income-supplement/
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@
pension_and_savings_plan_income: 0
province_code: AB
output:
ab_pension_credit: 0
ab_pension_credit: 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
- name: One single senior with net income above 29_402
period: 2023
absolute_error_margin: 0.1
input:
age: 66
individual_net_income: 29_405
province_code: NL
output:
nl_seniors_benefit: 1_515.65

- name: One single senior with net income below 29_402
period: 2023
absolute_error_margin: 0.1
input:
age: 66
individual_net_income: 29_401
province_code: NL
output:
nl_seniors_benefit: 1_516

- name: One single senior with net income between 29_402 and 42_404
period: 2023
absolute_error_margin: 0.1
input:
age: 66
individual_net_income: 30_000
province_code: NL
output:
nl_seniors_benefit: 1446.27

- name: One single senior with net income above 42_404
period: 2023
absolute_error_margin: 0.1
input:
age: 66
individual_net_income: 42_405
province_code: NL
output:
nl_seniors_benefit: 0

- name: Senior and spouse with net income below 29_402
period: 2023
absolute_error_margin: 0.1
input:
age: 66
individual_net_income: 29_380
is_spouse: true
spouse_income: 5
province_code: NL
output:
nl_seniors_benefit: 1_516

- name: Senior and spouse with net income between 29_402 and 42_404
period: 2023
absolute_error_margin: 0.1
input:
age: 66
individual_net_income: 30_000
is_spouse: true
spouse_income: 10_000
province_code: NL
output:
nl_seniors_benefit: 280.3

- name: Senior and spouse with net income above 42_404
period: 2023
absolute_error_margin: 0.1
input:
age: 66
individual_net_income: 50_400
is_spouse: false
spouse_income: 0
province_code: NL
output:
nl_seniors_benefit: 0

- name: Not senior with net income above 42_404
period: 2023
absolute_error_margin: 0.1
input:
age: 60
individual_net_income: 50_400
is_spouse: true
spouse_income: 0
province_code: NL
output:
nl_seniors_benefit: 0

- name: No senior single with net income above 29_402
period: 2023
absolute_error_margin: 0.1
input:
age: 60
individual_net_income: 29_405
province_code: NL
output:
nl_seniors_benefit: 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
from policyengine_canada.model_api import *


class nl_seniors_benefit(Variable):
value_type = float
entity = Person
label = "Newfoundland and Labrador Seniors Benefit"
definition_period = YEAR
defined_for = ProvinceCode.NL

def formula(person, period, parameters):
p = parameters(period).gov.provinces.nl.tax.income.benefits

senior_eligibility = person("age", period) >= p.age_eligibility

# Calculate the senior's income & their spouses' income
spouse_income = person("spouse_income", period) * person(
"is_spouse", period
)
personal_income = person("individual_net_income", period)
total_family_income = spouse_income + personal_income

senior_benefit = p.max_amount - (
p.rate * (total_family_income - p.lower_income_threshold)
)

return max_(senior_eligibility * min_(senior_benefit, p.max_amount), 0)