Skip to content
Open
Show file tree
Hide file tree
Changes from 10 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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:
- Prorated income and deductions for SNAP.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ description: The USDA deducts this amount from net income when computing SNAP be

# Household sizes above 6 use the rate for a 6 member household in all states.
CONTIGUOUS_US:
0:
2020-10-01: 0
1:
2020-10-01: 167
2021-10-01: 177
Expand Down Expand Up @@ -39,6 +41,8 @@ CONTIGUOUS_US:
2023-10-01: 279
2024-10-01: 291
AK:
0:
2020-10-01: 0
1:
2020-10-01: 286
2021-10-01: 303
Expand Down Expand Up @@ -76,6 +80,8 @@ AK:
2023-10-01: 349
2024-10-01: 364
GU:
0:
2020-10-01: 0
1:
2020-10-01: 336
2021-10-01: 356
Expand Down Expand Up @@ -113,6 +119,8 @@ GU:
2023-10-01: 558
2024-10-01: 581
HI:
0:
2020-10-01: 0
1:
2020-10-01: 236
2021-10-01: 250
Expand Down Expand Up @@ -150,6 +158,8 @@ HI:
2023-10-01: 321
2024-10-01: 335
VI:
0:
2020-10-01: 0
1:
2020-10-01: 147
2021-10-01: 156
Expand Down Expand Up @@ -207,6 +217,6 @@ metadata:
period: month
breakdown:
- state_group
- range(1, 7)
- range(0, 7)
uprating: gov.usda.snap.uprating
propagate_metadata_to_children: true
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
description: States that define Supplemental Nutrition Assistance Program limited utility allowances by household size set these allowance values.
NC:
0:
2023-10-01: 0
1:
2023-10-01: 371
2024-10-01: 382
Expand Down Expand Up @@ -38,7 +40,7 @@ metadata:
breakdown:
# Add a more comprehensive breakdown criterion once more states are added
- [NC]
- range(1, 10)
- range(0, 11)
reference:
- title: SNAP Screener Compiled State SNAP Data
href: https://www.snapscreener.com/data
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
description: States that define Supplemental Nutrition Assistance Program standard utility allowances by household size set these allowance values.
NC:
0:
2023-10-01: 0
1:
2023-10-01: 585
2024-10-01: 620
Expand Down Expand Up @@ -38,7 +40,7 @@ metadata:
breakdown:
# Add a more comprehensive breakdown criterion once more states are added
- [NC]
- range(1, 10)
- range(0, 11)
reference:
- title: SNAP Screener Compiled State SNAP Data
href: https://www.snapscreener.com/data
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
description: The Department of Agriculture considers these statuses as qualified immigrants under the Supplemental Nutrition Assistance Program.
values:
1975-01-01:
- CITIZEN
- LEGAL_PERMANENT_RESIDENT
- ASYLEE
- REFUGEE
- PAROLED_ONE_YEAR
- DEPORTATION_WITHHELD
- CONDITIONAL_ENTRANT
- CUBAN_HAITIAN_ENTRANT

metadata:
label: USDA SNAP qualified immigration statuses
period: year
unit: list
reference:
- title: 7 CFR § 273.4 - Citizenship and alien status
href: https://www.law.cornell.edu/cfr/text/7/273.4#a
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description: TThe Department of Agriculture exempts individuals caring for a dependent child under this age from the general work requirements under the Supplemental Nutrition Assistance Program.
description: The Department of Agriculture exempts individuals caring for a dependent child under this age from the general work requirements under the Supplemental Nutrition Assistance Program.
values:
2019-01-01: 6

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description: TThe Department of Agriculture exempts individuals within these age brackets from the general work requirements under the Supplemental Nutrition Assistance Program.
description: The Department of Agriculture exempts individuals within these age brackets from the general work requirements under the Supplemental Nutrition Assistance Program.
metadata:
threshold_unit: year
amount_unit: bool
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description: TThe Department of Agriculture limits the Supplemental Nutrition Assistance Program to individuals working more than this number of weekly hours from the general work requirements.
description: The Department of Agriculture limits the Supplemental Nutrition Assistance Program to individuals working more than this number of weekly hours from the general work requirements.

values:
2019-01-01: 30
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,3 +99,25 @@
meets_snap_categorical_eligibility: false
output:
is_snap_eligible: true

- name: Ineligible due to not snap unit eligible.
period: 2022
input:
meets_snap_gross_income_test: true
meets_snap_net_income_test: true
meets_snap_asset_test: true
meets_snap_categorical_eligibility: false
is_snap_demographic_eligible_person: false
output:
is_snap_eligible: false

- name: Passed all check, eligible.
period: 2022
input:
meets_snap_gross_income_test: true
meets_snap_net_income_test: true
meets_snap_asset_test: true
meets_snap_categorical_eligibility: false
is_snap_demographic_eligible_person: true
output:
is_snap_eligible: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
- name: Eligible refugee
period: 2023
input:
immigration_status: REFUGEE
output:
snap_immigration_status_eligible_person: true

- name: Not eligible undocumented
period: 2023
input:
immigration_status: UNDOCUMENTED
output:
snap_immigration_status_eligible_person: false

- name: Eligible citizen
period: 2023
input:
immigration_status: CITIZEN
output:
snap_immigration_status_eligible_person: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
- name: Case 1, meets all requirement to be eligible.
period: 2024
input:
is_snap_ineligible_student: false
meets_snap_work_requirements_person: true
snap_immigration_status_eligible_person: true
output:
is_snap_demographic_eligible_person: true

- name: Case 2, ineligible due to work requirement.
period: 2024
input:
is_snap_ineligible_student: false
meets_snap_work_requirements_person: false
snap_immigration_status_eligible_person: true
output:
is_snap_demographic_eligible_person: false

- name: Case 3, ineligible due to student status.
period: 2024
input:
is_snap_ineligible_student: true
meets_snap_work_requirements_person: true
snap_immigration_status_eligible_person: true
output:
is_snap_demographic_eligible_person: false
Original file line number Diff line number Diff line change
@@ -1,47 +1,47 @@
- name: Household with one ineligible studnet
- name: Case 1, one ineligible person.
period: 2022
input:
people:
person1:
is_snap_ineligible_student: false
is_snap_demographic_eligible_person: true
person2:
is_snap_ineligible_student: false
is_snap_demographic_eligible_person: true
person3:
is_snap_ineligible_student: true
is_snap_demographic_eligible_person: false
spm_units:
spm_unit1:
members: [person1, person2, person3]
spm_unit_size: 3
output:
snap_unit_size: 2

- name: Everybody eligible
- name: Case 2, all members eligible.
period: 2022
input:
people:
person1:
is_snap_ineligible_student: false
is_snap_demographic_eligible_person: true
person2:
is_snap_ineligible_student: false
is_snap_demographic_eligible_person: true
person3:
is_snap_ineligible_student: false
is_snap_demographic_eligible_person: true
spm_units:
spm_unit1:
members: [person1, person2, person3]
spm_unit_size: 3
output:
snap_unit_size: 3

- name: No eligible people
- name: Case 3, no eligible people.
period: 2022
input:
people:
person1:
is_snap_ineligible_student: true
is_snap_demographic_eligible_person: false
person2:
is_snap_ineligible_student: true
is_snap_demographic_eligible_person: false
person3:
is_snap_ineligible_student: true
is_snap_demographic_eligible_person: false
spm_units:
spm_unit1:
members: [person1, person2, person3]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
monthly_age: 17
is_tax_unit_dependent: true
output:
meets_snap_work_requirements: true
meets_snap_work_requirements_person: true

- name: Case 2, has dependent child, meets the general work requirements.
period: 2022
Expand All @@ -16,7 +16,7 @@
monthly_age: 17
is_tax_unit_dependent: true
output:
meets_snap_work_requirements: true
meets_snap_work_requirements_person: true

- name: Case 3, no dependent child, meets only one work requirements.
period: 2022
Expand All @@ -26,7 +26,7 @@
monthly_age: 18
is_tax_unit_dependent: false
output:
meets_snap_work_requirements: false
meets_snap_work_requirements_person: false

- name: Case 4, no dependent child, meets both work requirements.
period: 2022
Expand All @@ -36,4 +36,4 @@
monthly_age: 18
is_tax_unit_dependent: false
output:
meets_snap_work_requirements: true
meets_snap_work_requirements_person: true
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,19 @@
people:
person1:
self_employment_income: 3_000
snap_self_employment_income_expense: 1_000
person2:
employment_income: 1_000
spm_units:
spm_unit:
members: [person1, person2]
snap_self_employment_income_expense: 1_000
households:
household:
members: [person1, person2]
state_code: AK
output:
snap_self_employment_expense_deduction: 1_500
snap_earned_income_person: [1_500, 1_000]
snap_earned_income_deduction: 500

- name: Integration test, Louisiana only allows for a deduction of actual expenses
Expand All @@ -29,11 +30,11 @@
spm_units:
spm_unit:
members: [person1, person2]
snap_self_employment_income_expense: 0
households:
household:
members: [person1, person2]
state_code: LA
output:
snap_self_employment_expense_deduction: 0
snap_earned_income_person: [3_000, 1_000]
snap_earned_income_deduction: 800
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
period: 2022
input:
self_employment_income: 500
snap_self_employment_expense_deduction: 300
snap_self_employment_expense_deduction_person: 300
output:
snap_self_employment_income_after_expense_deduction: 200
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,13 @@
snap_child_support_gross_income_deduction: 0
output:
snap_child_support_deduction: 500

- name: With prorate fraction, prorate deduction.
period: 2022
input:
child_support_expense: 500
snap_child_support_gross_income_deduction: 0
snap_prorate_fraction: 0.8
spm_unit_size: 4
output:
snap_child_support_deduction: 400 # 500 * (1 - 0.8 / 4)
Loading