From 06ec7f9d89cb43dbe57399ff8a26c525572ffa94 Mon Sep 17 00:00:00 2001 From: laviniawo <132245041+laviniawo@users.noreply.github.com> Date: Tue, 16 Apr 2024 13:55:20 -0400 Subject: [PATCH] DC "Give SNAP A Raise" program (#4226) * DC "Give SNAP A Raise" program Fixes #3609 * Fixes * changes * some changes * value changes * changes * merge branch and make changes * changes * DC "Give SNAP A Raise" program Fixes #3609 * changes * changes * Merge branch Co-authored-by: Pavel Makarchuk * format --------- Co-authored-by: Pavel Makarchuk Co-authored-by: PavelMakarchuk --- changelog_entry.yaml | 4 ++ .../snap/temporary_local_benefit/dc/rate.yaml | 22 +++++++++ .../snap/dc_snap_temporary_local_benefit.yaml | 48 +++++++++++++++++++ .../policy/baseline/gov/usda/snap/snap.yaml | 21 ++++++++ .../policy/baseline/household/cliff_gap.yaml | 4 ++ .../snap/dc_snap_temporary_local_benefit.py | 22 +++++++++ .../variables/gov/usda/snap/snap.py | 6 ++- 7 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 policyengine_us/parameters/gov/usda/snap/temporary_local_benefit/dc/rate.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/usda/snap/dc_snap_temporary_local_benefit.yaml create mode 100644 policyengine_us/variables/gov/usda/snap/dc_snap_temporary_local_benefit.py diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29bb2d..7a7fad11116 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,4 @@ +- bump: minor + changes: + added: + - DC "Give SNAP A Raise" program. diff --git a/policyengine_us/parameters/gov/usda/snap/temporary_local_benefit/dc/rate.yaml b/policyengine_us/parameters/gov/usda/snap/temporary_local_benefit/dc/rate.yaml new file mode 100644 index 00000000000..be16f05b5c0 --- /dev/null +++ b/policyengine_us/parameters/gov/usda/snap/temporary_local_benefit/dc/rate.yaml @@ -0,0 +1,22 @@ +description: DC provides a temporary local SNAP benefit of this percentage of the maximum allotment. +values: + 0000-01-01: 0 + # The legal code set the effective date of 2023-10-01, with no end date, + # conditional on funding. + # DC DHS documentation indicates that it is funded only from 2024-01-01 to + # 2024-10-01. + 2024-01-01: 0.1 + 2024-10-01: 0 +metadata: + period: year + unit: /1 + label: DC temporary local SNAP benefit rate + reference: + - title: Supplemental Nutrition Assistance Program (SNAP) raise in District of Columbia in 2024. + href: https://dhs.dc.gov/page/give-snap-raise-heres-what-expect + - title: D.C. Law 24-301. Give SNAP a Raise Amendment Act of 2022. Sec 5084 amending (D.C. Official Code § 4-261.04 (b) ) + href: https://code.dccouncil.gov/us/dc/council/laws/24-301 + # D.C. Law 24-301 amends § 4–261.04 conditional on addition to an approved budget. + # As of 2024-04-16, this has now occurred (per DC DHS), but the legal code does not yet reflect it. + - title: Code of the District of Columbia § 4–261.04. Locally funded supplemental benefits. + href: https://code.dccouncil.gov/us/dc/council/code/sections/4-261.04 diff --git a/policyengine_us/tests/policy/baseline/gov/usda/snap/dc_snap_temporary_local_benefit.yaml b/policyengine_us/tests/policy/baseline/gov/usda/snap/dc_snap_temporary_local_benefit.yaml new file mode 100644 index 00000000000..43d2bd19fa3 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/usda/snap/dc_snap_temporary_local_benefit.yaml @@ -0,0 +1,48 @@ +- name: Household size 1, State DC + period: 2024-01 + input: + spm_unit_size: 1 + state_code: DC + snap_region_str: CONTIGUOUS_US + output: + # 291 * 0.1 = 29.1 + dc_snap_temporary_local_benefit: 29.1 + +- name: Household size 4, State DC + period: 2024-01 + input: + spm_unit_size: 4 + state_code: DC + snap_region_str: CONTIGUOUS_US + output: + # 973 * 0.1 = 97.3 + dc_snap_temporary_local_benefit: 97.3 + +- name: Household size 4, State DC, yearly + period: 2024 + input: + spm_unit_size: 4 + state_code: DC + snap_region_str: CONTIGUOUS_US + output: + # 973 * 0.1 = 97.3 * 9 = 875.7 + dc_snap_temporary_local_benefit: 875.7 + +- name: Household size 10, State DC, yearly + period: 2024 + input: + spm_unit_size: 10 + state_code: DC + snap_region_str: CONTIGUOUS_US + output: + # (1751 + 219 * 2) * 0.1 * 9 = 1_970.1 + dc_snap_temporary_local_benefit: 1_970.1 + +- name: Test using snap_max_allotment + period: 2024 + input: + snap_max_allotment: 1_000 + state_code: DC + output: + # (1000 * 0.1) / 12 * 9 = 75 + dc_snap_temporary_local_benefit: 75 diff --git a/policyengine_us/tests/policy/baseline/gov/usda/snap/snap.yaml b/policyengine_us/tests/policy/baseline/gov/usda/snap/snap.yaml index b10d87ecdfb..88513fefe8e 100644 --- a/policyengine_us/tests/policy/baseline/gov/usda/snap/snap.yaml +++ b/policyengine_us/tests/policy/baseline/gov/usda/snap/snap.yaml @@ -17,3 +17,24 @@ 2022-12: 0 output: snap: 3 + +- name: Total SNAP sums normal and emergency allotments in 2024 with DC temporary local benefit. + period: 2024 + input: + snap_normal_allotment: 1 + snap_emergency_allotment: + 2024-01: 2 + 2024-02: 0 + 2024-03: 0 + 2024-04: 0 + 2024-05: 0 + 2024-06: 0 + 2024-07: 0 + 2024-08: 0 + 2024-09: 0 + 2024-10: 0 + 2024-11: 0 + 2024-12: 0 + dc_snap_temporary_local_benefit: 3 + output: + snap: 6 diff --git a/policyengine_us/tests/policy/baseline/household/cliff_gap.yaml b/policyengine_us/tests/policy/baseline/household/cliff_gap.yaml index b224e7fbf75..b1892ca5c4e 100644 --- a/policyengine_us/tests/policy/baseline/household/cliff_gap.yaml +++ b/policyengine_us/tests/policy/baseline/household/cliff_gap.yaml @@ -41,6 +41,7 @@ employment_income: 76_500 rent: 24_000 state_fips: 11 # DC + dc_snap_temporary_local_benefit: 0 output: adjusted_gross_income: 76_500 dc_ptc: 1_225 @@ -54,6 +55,7 @@ employment_income: 76_500 + 1_000 rent: 24_000 state_fips: 11 # DC + dc_snap_temporary_local_benefit: 0 output: adjusted_gross_income: 76_500 + 1_000 dc_ptc: 0 @@ -88,6 +90,7 @@ spm_units: spm_unit: members: [person1, person2] + dc_snap_temporary_local_benefit: 0 households: household: members: [person1, person2] @@ -114,6 +117,7 @@ spm_units: spm_unit: members: [person1, person2] + dc_snap_temporary_local_benefit: 0 households: household: members: [person1, person2] diff --git a/policyengine_us/variables/gov/usda/snap/dc_snap_temporary_local_benefit.py b/policyengine_us/variables/gov/usda/snap/dc_snap_temporary_local_benefit.py new file mode 100644 index 00000000000..91e2358d2c6 --- /dev/null +++ b/policyengine_us/variables/gov/usda/snap/dc_snap_temporary_local_benefit.py @@ -0,0 +1,22 @@ +from policyengine_us.model_api import * + + +class dc_snap_temporary_local_benefit(Variable): + value_type = float + entity = SPMUnit + definition_period = MONTH + documentation = "DC temporary SNAP benefit amount" + label = "DC temporary local SNAP benefit amount" + reference = ( + "https://dhs.dc.gov/page/give-snap-raise-heres-what-expect", + "https://code.dccouncil.gov/us/dc/council/laws/24-301", + ) + unit = USD + defined_for = StateCode.DC + + def formula(spm_unit, period, parameters): + p = parameters(period).gov.usda.snap.temporary_local_benefit.dc + + max_allotments = spm_unit("snap_max_allotment", period) + + return max_allotments * p.rate diff --git a/policyengine_us/variables/gov/usda/snap/snap.py b/policyengine_us/variables/gov/usda/snap/snap.py index b3415dae213..1b3f9deb1a7 100644 --- a/policyengine_us/variables/gov/usda/snap/snap.py +++ b/policyengine_us/variables/gov/usda/snap/snap.py @@ -19,5 +19,9 @@ def formula(spm_unit, period, parameters): return add( spm_unit, period, - ["snap_normal_allotment", "snap_emergency_allotment"], + [ + "snap_normal_allotment", + "snap_emergency_allotment", + "dc_snap_temporary_local_benefit", + ], )