From 156464f7d5344b62a4a4269dc840628e3ec2d8d2 Mon Sep 17 00:00:00 2001 From: Ziming Date: Sun, 18 Jan 2026 22:56:03 -0500 Subject: [PATCH 1/6] WA and MN backdating Fixes #7199 --- changelog_entry.yaml | 5 ++ .../child_support_disregard/amount.yaml | 12 +-- .../deductions/dependent_care/amount.yaml | 8 +- .../earned_income_disregard/flat_amount.yaml | 2 +- .../income/earned_income_disregard/rate.yaml | 4 +- .../income/family_wage_level_multiplier.yaml | 2 +- .../states/mn/dcyf/mfip/resources/limit.yaml | 2 +- .../additional_person_increment.yaml | 9 +++ .../mfip/transitional_standard/amount.yaml | 20 +++++ .../transitional_standard/max_unit_size.yaml | 2 +- .../earned_income_disregard/amount.yaml | 6 +- .../earned_income_disregard/in_effect.yaml | 15 ++++ ...{percentage_disregarded.yaml => rate.yaml} | 6 +- .../gov/states/wa/dshs/tanf/income/limit.yaml | 78 +++++++++++++++---- .../wa/dshs/tanf/maximum_family_size.yaml | 2 +- .../wa/dshs/tanf/payment_standard/amount.yaml | 41 ++++++++++ .../tanf/payment_standard/maximum_amount.yaml | 12 --- .../states/wa/dshs/tanf/resource_limit.yaml | 19 ++++- .../income/wa_tanf_countable_earned_income.py | 14 ++-- .../gov/states/wa/dshs/tanf/wa_tanf.py | 10 +-- 20 files changed, 202 insertions(+), 67 deletions(-) create mode 100644 policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/in_effect.yaml rename policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/{percentage_disregarded.yaml => rate.yaml} (69%) delete mode 100644 policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/maximum_amount.yaml diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29bb2d..989432e38d5 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,5 @@ +- bump: patch + changes: + changed: + - Add historical values to Minnesota MFIP parameters. + - Add historical values to Washington TANF parameters. diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/child_support_disregard/amount.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/child_support_disregard/amount.yaml index d94b0e648e6..6c275ec8640 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/child_support_disregard/amount.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/child_support_disregard/amount.yaml @@ -11,14 +11,14 @@ metadata: brackets: - threshold: - 2020-01-01: 0 + 2006-10-01: 0 amount: - 2020-01-01: 0 + 2006-10-01: 0 - threshold: - 2020-01-01: 1 + 2006-10-01: 1 amount: - 2020-01-01: 100 + 2006-10-01: 100 - threshold: - 2020-01-01: 2 + 2006-10-01: 2 amount: - 2020-01-01: 200 + 2006-10-01: 200 diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/deductions/dependent_care/amount.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/deductions/dependent_care/amount.yaml index 9b755e5fdb4..8f85fde890f 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/deductions/dependent_care/amount.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/deductions/dependent_care/amount.yaml @@ -14,10 +14,10 @@ metadata: brackets: - threshold: - 2020-01-01: 0 + 1998-01-01: 0 amount: - 2020-01-01: 200 + 1998-01-01: 200 - threshold: - 2020-01-01: 2 + 1998-01-01: 2 amount: - 2020-01-01: 175 + 1998-01-01: 175 diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/flat_amount.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/flat_amount.yaml index 6e63fbc7b91..e9e26821af3 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/flat_amount.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/flat_amount.yaml @@ -1,7 +1,7 @@ description: Minnesota disregards this flat dollar amount of earned income per wage earner per month under the Minnesota Family Investment Program. values: - 2020-01-01: 65 + 2015-10-01: 65 metadata: unit: currency-USD diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/rate.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/rate.yaml index 1596e7265cc..6b5f8243aed 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/rate.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/rate.yaml @@ -1,7 +1,9 @@ description: Minnesota disregards this percentage of remaining earned income (after flat disregard) under the Minnesota Family Investment Program. values: - 2020-01-01: 0.5 + 1998-01-01: 0.36 + 1999-10-01: 0.38 + 2015-10-01: 0.5 metadata: unit: /1 diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/family_wage_level_multiplier.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/family_wage_level_multiplier.yaml index afe3c919380..0001c5f02d1 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/family_wage_level_multiplier.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/family_wage_level_multiplier.yaml @@ -1,7 +1,7 @@ description: Minnesota multiplies the Transitional Standard by this factor to determine the Family Wage Level used for income eligibility testing under the Minnesota Family Investment Program. values: - 2020-01-01: 1.1 + 1998-01-01: 1.1 metadata: unit: /1 diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/resources/limit.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/resources/limit.yaml index 8b7122e044c..a4b8929da52 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/resources/limit.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/resources/limit.yaml @@ -1,7 +1,7 @@ description: Minnesota sets this dollar amount as the maximum countable assets an assistance unit may have to remain eligible for the Minnesota Family Investment Program. values: - 2020-01-01: 10_000 + 2016-06-01: 10_000 metadata: unit: currency-USD diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/additional_person_increment.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/additional_person_increment.yaml index bd898005c53..a8ff32180b6 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/additional_person_increment.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/additional_person_increment.yaml @@ -9,8 +9,17 @@ metadata: href: https://www.house.mn.gov/hrd/pubs/pap_mfip.pdf#page=5 - title: Minnesota Combined Manual MFIP/DWP Assistance Standards href: https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=cm_002009 + - title: Minnesota State Register Volume 41, Number 8 - MFIP COLA Adjustment October 1, 2016 + href: https://mn.gov/admin/assets/SR41_8%20-%20Accessible_tcm36-263468.pdf#page=57 + - title: Minnesota State Register Volume 42, Number 9 - MFIP COLA Adjustment October 1, 2017 + href: https://mn.gov/admin/assets/SR42_9%20-%20Accessible_tcm36-309361.pdf#page=10 + - title: Minnesota State Register Volume 43, Number 9 - MFIP COLA Adjustment October 1, 2018 + href: https://mn.gov/admin/assets/SR43_9%20-%20Accessible_tcm36-350686.pdf#page=76 + - title: Minnesota State Register Volume 44, Number 8 - MFIP COLA Adjustment October 1, 2019 + href: https://mn.gov/admin/assets/SR44_8%20-%20Accessible_tcm36-399622.pdf#page=24 values: + 2016-10-01: 174 2017-10-01: 172 2019-10-01: 174 2024-10-01: 249 diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/amount.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/amount.yaml index 47a695a305a..8d0fa15ba62 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/amount.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/amount.yaml @@ -5,67 +5,87 @@ metadata: period: month breakdown: - range(0, 20) + breakdown_label: + - Assistance unit size label: Minnesota MFIP Transitional Standard amount reference: - title: Minnesota House Research - Minnesota Family Investment Program href: https://www.house.mn.gov/hrd/pubs/pap_mfip.pdf#page=5 - title: Minnesota Combined Manual MFIP/DWP Assistance Standards href: https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=cm_002009 + - title: Minnesota State Register Volume 41, Number 8 - MFIP COLA Adjustment October 1, 2016 + href: https://mn.gov/admin/assets/SR41_8%20-%20Accessible_tcm36-263468.pdf#page=57 + - title: Minnesota State Register Volume 42, Number 9 - MFIP COLA Adjustment October 1, 2017 + href: https://mn.gov/admin/assets/SR42_9%20-%20Accessible_tcm36-309361.pdf#page=10 + - title: Minnesota State Register Volume 43, Number 9 - MFIP COLA Adjustment October 1, 2018 + href: https://mn.gov/admin/assets/SR43_9%20-%20Accessible_tcm36-350686.pdf#page=76 + - title: Minnesota State Register Volume 44, Number 8 - MFIP COLA Adjustment October 1, 2019 + href: https://mn.gov/admin/assets/SR44_8%20-%20Accessible_tcm36-399622.pdf#page=24 1: + 2016-10-01: 422 2017-10-01: 420 2019-10-01: 422 2024-10-01: 661 2025-10-01: 678 2: + 2016-10-01: 754 2017-10-01: 750 2018-10-01: 751 2019-10-01: 752 2024-10-01: 1_087 2025-10-01: 1_114 3: + 2016-10-01: 991 2017-10-01: 984 2018-10-01: 985 2019-10-01: 989 2024-10-01: 1_394 2025-10-01: 1_430 4: + 2016-10-01: 1_207 2017-10-01: 1_198 2018-10-01: 1_200 2019-10-01: 1_204 2024-10-01: 1_675 2025-10-01: 1_715 5: + 2016-10-01: 1_395 2017-10-01: 1_384 2018-10-01: 1_386 2019-10-01: 1_392 2024-10-01: 1_933 2025-10-01: 1_982 6: + 2016-10-01: 1_605 2017-10-01: 1_594 2018-10-01: 1_603 2019-10-01: 1_609 2024-10-01: 2_238 2025-10-01: 2_297 7: + 2016-10-01: 1_748 2017-10-01: 1_736 2018-10-01: 1_749 2019-10-01: 1_762 2024-10-01: 2_435 2025-10-01: 2_500 8: + 2016-10-01: 1_931 2017-10-01: 1_917 2018-10-01: 1_930 2019-10-01: 1_945 2024-10-01: 2_695 2025-10-01: 2_759 9: + 2016-10-01: 2_113 2017-10-01: 2_096 2018-10-01: 2_109 2019-10-01: 2_126 2024-10-01: 2_951 2025-10-01: 3_015 10: + 2016-10-01: 2_288 2017-10-01: 2_270 2018-10-01: 2_283 2019-10-01: 2_301 diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/max_unit_size.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/max_unit_size.yaml index fc0aef388d2..f1159594005 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/max_unit_size.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/max_unit_size.yaml @@ -11,4 +11,4 @@ metadata: href: https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=cm_002009 values: - 2024-10-01: 10 + 1998-01-01: 10 diff --git a/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/amount.yaml b/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/amount.yaml index 23f0bf93201..df38faf03c1 100644 --- a/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/amount.yaml +++ b/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/amount.yaml @@ -1,7 +1,7 @@ description: Washington deducts this amount from the household's total gross earned income under the Temporary Assistance for Needy Families program. values: - 2024-01-01: 500 + 2024-08-01: 500 metadata: unit: currency-USD @@ -10,5 +10,5 @@ metadata: reference: - title: WAC 388-450-0170(2) - Deducting the first $500 of earned income href: https://app.leg.wa.gov/wac/default.aspx?cite=388-450-0170 - - title: DSHS Eligibility A-Z Manual, Income - Earned Income Deductions - href: https://www.dshs.wa.gov/esa/income-table-contents/budgeting + - title: HB 1447 (2023 c 418) Sec 5 + href: https://lawfilesext.leg.wa.gov/biennium/2023-24/Pdf/Bills/Session%20Laws/House/1447-S2.SL.pdf#page=10 diff --git a/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/in_effect.yaml b/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/in_effect.yaml new file mode 100644 index 00000000000..3a7334a3009 --- /dev/null +++ b/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/in_effect.yaml @@ -0,0 +1,15 @@ +description: Washington applies a flat earnings disregard to earned income under the Temporary Assistance for Needy Families program if this is true. + +values: + 1998-09-01: false + 2024-08-01: true + +metadata: + unit: bool + period: month + label: Washington TANF flat earnings disregard in effect + reference: + - title: WAC 388-450-0170 - Earned income deductions + href: https://app.leg.wa.gov/wac/default.aspx?cite=388-450-0170 + - title: HB 1447 (2023 c 418) Sec 5 + href: https://lawfilesext.leg.wa.gov/biennium/2023-24/Pdf/Bills/Session%20Laws/House/1447-S2.SL.pdf#page=10 diff --git a/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/percentage_disregarded.yaml b/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/rate.yaml similarity index 69% rename from policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/percentage_disregarded.yaml rename to policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/rate.yaml index f64669a0d19..2f19530a4a5 100644 --- a/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/percentage_disregarded.yaml +++ b/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/rate.yaml @@ -1,7 +1,7 @@ description: Washington disregards this share of remaining earned income under the Temporary Assistance for Needy Families program. values: - 2024-01-01: 0.5 + 1998-09-01: 0.5 metadata: unit: /1 @@ -10,5 +10,5 @@ metadata: reference: - title: WAC 388-450-0170(3) - Subtract 50% of remaining earned income href: https://app.leg.wa.gov/wac/default.aspx?cite=388-450-0170 - - title: DSHS Eligibility A-Z Manual, Income - Earned Income Deductions - href: https://www.dshs.wa.gov/esa/income-table-contents/budgeting + - title: WSR 98-16-044 - Original TANF earned income rules effective Sep 1, 1998 + href: https://app.leg.wa.gov/wac/default.aspx?cite=388-450-0170 diff --git a/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml b/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml index 2f46918116f..81ce4017bfd 100644 --- a/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml +++ b/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml @@ -1,8 +1,8 @@ description: Washington sets these gross earned income limits for the Temporary Assistance for Needy Families program. -# Note: These values follow the formula: Income Limit = (Payment Standard × 2) + $500 -# This represents the break-even point where countable income equals the payment standard, -# resulting in $0 benefit. While mathematically derived, WAC 388-478-0035 publishes these -# as a table rather than a formula, so we preserve the table structure here. +# Note: These values appear to follow a mathematical relationship with payment standards +# (Income Limit ≈ Payment Standard × 2, plus $500 after Aug 1, 2024), but no legal code +# explicitly states this formula. WAC 388-478-0035 publishes these as a table. +# Values here are taken directly from the published WSR tables. metadata: unit: currency-USD @@ -10,27 +10,77 @@ metadata: label: Washington TANF maximum gross earned income limit breakdown: - range(1, 11) + breakdown_label: + - Assistance unit size reference: - title: WAC 388-478-0035 - Maximum earned income limits for TANF, SFA, PWA, and RCA href: https://app.leg.wa.gov/wac/default.aspx?cite=388-478-0035 + - title: WAC 388-478-0035 Maximum earned income limits for TANF, SFA, PWA, and RCA. 2016 + href: https://lawfilesext.leg.wa.gov/law/wsr/2016/01/16-01-093.htm + - title: WAC 388-478-0035 Maximum earned income limits for TANF, SFA, PWA, and RCA. 2018 + href: https://lawfilesext.leg.wa.gov/law/wsr/2018/09/18-09-088.htm + - title: WAC 388-478-0035 Maximum earned income limits for TANF, SFA, PWA, and RCA. 2021 + href: https://lawfilesext.leg.wa.gov/law/wsr/2021/21/21-21-054.htm + - title: WAC 388-478-0035 Maximum earned income limits for TANF, SFA, PWA, and RCA. 2024 + href: https://lawfilesext.leg.wa.gov/law/wsr/2023/23/23-23-054.htm 1: - 2024-01-01: 1_400 + 2016-02-01: 665 + 2018-07-01: 726 + 2021-12-01: 834 + 2024-01-01: 900 + 2024-08-01: 1_400 2: - 2024-01-01: 1_640 + 2016-02-01: 839 + 2018-07-01: 918 + 2021-12-01: 1_056 + 2024-01-01: 1_140 + 2024-08-01: 1_640 3: - 2024-01-01: 1_912 + 2016-02-01: 1_042 + 2018-07-01: 1_138 + 2021-12-01: 1_308 + 2024-01-01: 1_412 + 2024-08-01: 1_912 4: - 2024-01-01: 2_166 + 2016-02-01: 1_225 + 2018-07-01: 1_340 + 2021-12-01: 1_542 + 2024-01-01: 1_666 + 2024-08-01: 2_166 5: - 2024-01-01: 2_418 + 2016-02-01: 1_413 + 2018-07-01: 1_544 + 2021-12-01: 1_776 + 2024-01-01: 1_918 + 2024-08-01: 2_418 6: - 2024-01-01: 2_680 + 2016-02-01: 1_604 + 2018-07-01: 1_754 + 2021-12-01: 2_018 + 2024-01-01: 2_180 + 2024-08-01: 2_680 7: - 2024-01-01: 3_016 + 2016-02-01: 1_853 + 2018-07-01: 2_026 + 2021-12-01: 2_330 + 2024-01-01: 2_516 + 2024-08-01: 3_016 8: - 2024-01-01: 3_284 + 2016-02-01: 2_051 + 2018-07-01: 2_242 + 2021-12-01: 2_578 + 2024-01-01: 2_784 + 2024-08-01: 3_284 9: - 2024-01-01: 3_558 + 2016-02-01: 2_252 + 2018-07-01: 2_462 + 2021-12-01: 2_832 + 2024-01-01: 3_058 + 2024-08-01: 3_558 10: - 2024-01-01: 3_824 + 2016-02-01: 2_448 + 2018-07-01: 2_676 + 2021-12-01: 3_078 + 2024-01-01: 3_324 + 2024-08-01: 3_824 diff --git a/policyengine_us/parameters/gov/states/wa/dshs/tanf/maximum_family_size.yaml b/policyengine_us/parameters/gov/states/wa/dshs/tanf/maximum_family_size.yaml index 1524c9eee89..8a468bfb1f1 100644 --- a/policyengine_us/parameters/gov/states/wa/dshs/tanf/maximum_family_size.yaml +++ b/policyengine_us/parameters/gov/states/wa/dshs/tanf/maximum_family_size.yaml @@ -1,7 +1,7 @@ description: Washington defines payment standards and income limits for family sizes up to this maximum under the Temporary Assistance for Needy Families program. values: - 2024-01-01: 10 + 2016-01-01: 10 metadata: unit: person diff --git a/policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml b/policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml index 8339575f2fa..27e0c82a020 100644 --- a/policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml +++ b/policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml @@ -6,27 +6,68 @@ metadata: label: Washington TANF payment standard breakdown: - range(1, 11) + breakdown_label: + - Assistance unit size reference: - title: WAC 388-478-0020 - Payment standards for TANF, SFA, and RCA href: https://app.leg.wa.gov/wac/default.aspx?cite=388-478-0020 + - title: WAC 388-478-0020 Payment standards for TANF, SFA, and RCA. 2016 + href: https://lawfilesext.leg.wa.gov/law/wsr/2016/01/16-01-093.htm + - title: WAC 388-478-0020 Payment standards for TANF, SFA, and RCA. 2018 + href: https://lawfilesext.leg.wa.gov/law/wsr/2018/09/18-09-088.htm + - title: WAC 388-478-0020 Payment standards for TANF, SFA, and RCA. 2021 + href: https://lawfilesext.leg.wa.gov/law/wsr/2021/21/21-21-054.htm + +# Note: Values before Oct 25, 2020 are for households "with shelter costs". +# WSR 20-20-007 eliminated the shelter cost distinction; all households now use these amounts. 1: + 2016-02-01: 332 + 2018-07-01: 363 + 2021-12-01: 417 2024-01-01: 450 2: + 2016-02-01: 420 + 2018-07-01: 459 + 2021-12-01: 528 2024-01-01: 570 3: + 2016-02-01: 521 + 2018-07-01: 569 + 2021-12-01: 654 2024-01-01: 706 4: + 2016-02-01: 613 + 2018-07-01: 670 + 2021-12-01: 771 2024-01-01: 833 5: + 2016-02-01: 706 + 2018-07-01: 772 + 2021-12-01: 888 2024-01-01: 959 6: + 2016-02-01: 802 + 2018-07-01: 877 + 2021-12-01: 1_009 2024-01-01: 1_090 7: + 2016-02-01: 927 + 2018-07-01: 1_013 + 2021-12-01: 1_165 2024-01-01: 1_258 8: + 2016-02-01: 1_026 + 2018-07-01: 1_121 + 2021-12-01: 1_289 2024-01-01: 1_392 9: + 2016-02-01: 1_126 + 2018-07-01: 1_231 + 2021-12-01: 1_416 2024-01-01: 1_529 10: + 2016-02-01: 1_224 + 2018-07-01: 1_338 + 2021-12-01: 1_539 2024-01-01: 1_662 diff --git a/policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/maximum_amount.yaml b/policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/maximum_amount.yaml deleted file mode 100644 index 767f743858e..00000000000 --- a/policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/maximum_amount.yaml +++ /dev/null @@ -1,12 +0,0 @@ -description: Washington limits the grant payment to this amount under the Temporary Assistance for Needy Families program. - -values: - 2024-01-01: 1_338 - -metadata: - unit: currency-USD - period: month - label: Washington TANF maximum grant cap - reference: - - title: DSHS Eligibility A-Z Manual, Income - Effect of Income and Deductions on Eligibility - href: https://www.dshs.wa.gov/esa/income-table-contents/income-effect-income-and-deductions-eligibility-and-benefit-level diff --git a/policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml b/policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml index 797e2427d67..03afb51adf2 100644 --- a/policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml +++ b/policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml @@ -1,15 +1,26 @@ description: Washington limits the Temporary Assistance for Needy Families program to households with countable resources up to this amount. values: - 2022-01-01: 6_000 - 2024-01-01: 12_000 + 1998-09-01: 1_000 + 2019-02-01: 6_000 + 2024-02-01: 12_000 + +# Note: Before Feb 1, 2019, Washington had a two-tier resource limit structure: + # - Applicants: up to $1,000 + # - Recipients: up to $1,000 plus an additional $3,000 in savings accounts + # This file uses the applicant limit ($1,000) for the pre-2019 period. + # E2SHB 1831 (2018) simplified this to a single $6,000 limit for all. metadata: unit: currency-USD period: year label: Washington TANF resource limit reference: - - title: Washington TANF State Plan 2022, page 13 - $6,000 cash resource limit - href: https://workfirst.wa.gov/sites/default/files/public/TANF_stateplan_2022_final.pdf#page=13 + - title: WAC 388-470-0005 - Resource limits for cash assistance + href: https://app.leg.wa.gov/wac/default.aspx?cite=388-470-0005 + - title: WSR 98-16-044 - Original TANF resource limit of $1,000 effective Sep 1, 1998 + href: https://app.leg.wa.gov/wac/default.aspx?cite=388-470-0005 + - title: E2SHB 1831 (2018) - Resource limit increased to $6,000 effective Feb 1, 2019 + href: https://app.leg.wa.gov/billsummary?BillNumber=1831&Year=2017 - title: HB 1447 (2023 c 418) - Increased asset limit to $12,000 effective Feb 1, 2024 href: https://app.leg.wa.gov/billsummary?BillNumber=1447&Year=2023 diff --git a/policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.py b/policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.py index eec600f3f46..8d8ac24bb36 100644 --- a/policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.py +++ b/policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.py @@ -14,20 +14,20 @@ def formula(spm_unit, period, parameters): # Get gross earned income from federal TANF variable gross_earned = add(spm_unit, period, ["tanf_gross_earned_income"]) - # Apply earned income disregard per WAC 388-450-0170: - # "We start by deducting the first $500 of the total household's - # earned income. We then subtract 50% of the remaining monthly - # gross earned income." + # Apply earned income disregard per WAC 388-450-0170 p = parameters( period ).gov.states.wa.dshs.tanf.income.deductions.earned_income_disregard - # Step 1: Deduct flat $500 family earnings disregard - remainder = max_(gross_earned - p.amount, 0) + # Step 1: Deduct flat family earnings disregard (if in effect) + # The $500 flat disregard was added by HB 1447, effective Aug 1, 2024. + # Before that date, only the 50% disregard applied. + flat_disregard = where(p.in_effect, p.amount, 0) + remainder = max_(gross_earned - flat_disregard, 0) # Step 2: Subtract (disregard) 50% of remaining income # Per WAC 388-450-0170(3): "subtract 50% of the remaining...income" - amount_disregarded = remainder * p.percentage_disregarded + amount_disregarded = remainder * p.rate # Countable earned income = remainder - amount disregarded return remainder - amount_disregarded diff --git a/policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf.py b/policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf.py index 1772bdcdeb0..6c90513c0f4 100644 --- a/policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf.py +++ b/policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf.py @@ -15,6 +15,7 @@ class wa_tanf(Variable): def formula(spm_unit, period, parameters): # Get payment standard based on assistance unit size + # (capped at maximum_family_size, typically 10) payment_standard = spm_unit("wa_tanf_payment_standard", period) # Get countable income (after all disregards and deductions) @@ -24,11 +25,4 @@ def formula(spm_unit, period, parameters): # "The department calculates the amount of your cash assistance # by subtracting your AU's countable income from the applicable # payment standard." - grant_before_cap = max_(payment_standard - countable_income, 0) - - # Apply maximum grant cap (unique to Washington) - # Per DSHS manual, grants cannot exceed $1,338 - # regardless of family size (affects families of 8+) - p = parameters(period).gov.states.wa.dshs.tanf.payment_standard - - return min_(grant_before_cap, p.maximum_amount) + return max_(payment_standard - countable_income, 0) From ddde731605a5337bc11233146ed4ebb0d61a8197 Mon Sep 17 00:00:00 2001 From: Ziming Date: Sun, 18 Jan 2026 22:56:19 -0500 Subject: [PATCH 2/6] tests --- .../benefit/wa_tanf_payment_standard.yaml | 28 + .../eligibility/wa_tanf_income_eligible.yaml | 89 ++- .../wa_tanf_countable_earned_income.yaml | 80 ++- .../gov/states/wa/dshs/tanf/integration.yaml | 590 ++++++------------ .../gov/states/wa/dshs/tanf/wa_tanf.yaml | 43 +- .../dshs/tanf/wa_tanf_resources_eligible.yaml | 45 +- 6 files changed, 404 insertions(+), 471 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml index ba44a6e19d9..4f8b618be7c 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml @@ -46,3 +46,31 @@ spm_unit_size: 3 output: wa_tanf_payment_standard: 0 + +# Historical tests - verify 2016 values apply in early 2018 +- name: Case 7, family size 1 in 2018-01. + period: 2018-01 + input: + state_code: WA + spm_unit_size: 1 + output: + # Uses 2016-02-01 value (before 2018-07-01 update) + wa_tanf_payment_standard: 332 + +- name: Case 8, family size 3 in 2018-01. + period: 2018-01 + input: + state_code: WA + spm_unit_size: 3 + output: + # Uses 2016-02-01 value (before 2018-07-01 update) + wa_tanf_payment_standard: 521 + +- name: Case 9, family size 10 in 2018-01. + period: 2018-01 + input: + state_code: WA + spm_unit_size: 10 + output: + # Uses 2016-02-01 value (before 2018-07-01 update) + wa_tanf_payment_standard: 1_224 diff --git a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml index c70145979a3..1d8ab058edc 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml @@ -1,16 +1,17 @@ -- name: Zero gross earned income - eligible - period: 2024-01 +# Tests for Aug 2024+ income limits +- name: Case 1, zero gross earned income. + period: 2025-01 input: state_code: WA spm_unit_size: 3 tanf_gross_earned_income: 0 output: - # Income limit for family of 3: $1,912 + # Income limit for family of 3: $1,912 (Aug 2024+) # Gross earned: $0 <= $1,912 wa_tanf_income_eligible: true -- name: Gross earned income below threshold - eligible - period: 2024-01 +- name: Case 2, gross earned income below threshold. + period: 2025-01 input: state_code: WA spm_unit_size: 3 @@ -20,8 +21,8 @@ # Gross earned: $1,500 <= $1,912 wa_tanf_income_eligible: true -- name: Gross earned income exactly at threshold - eligible - period: 2024-01 +- name: Case 3, gross earned income exactly at threshold. + period: 2025-01 input: state_code: WA spm_unit_size: 3 @@ -31,8 +32,8 @@ # Gross earned: $1,912 <= $1,912 wa_tanf_income_eligible: true -- name: Gross earned income one dollar over threshold - ineligible - period: 2024-01 +- name: Case 4, gross earned income one dollar over threshold. + period: 2025-01 input: state_code: WA spm_unit_size: 3 @@ -42,8 +43,8 @@ # Gross earned: $1,913 > $1,912 wa_tanf_income_eligible: false -- name: Gross earned income far over threshold - ineligible - period: 2024-01 +- name: Case 5, gross earned income far over threshold. + period: 2025-01 input: state_code: WA spm_unit_size: 3 @@ -53,30 +54,30 @@ # Gross earned: $3,000 > $1,912 wa_tanf_income_eligible: false -- name: Family size 1 - at threshold - period: 2024-01 +- name: Case 6, family size 1 at threshold. + period: 2025-01 input: state_code: WA spm_unit_size: 1 tanf_gross_earned_income: 1_400 output: - # Income limit for family of 1: $1,400 + # Income limit for family of 1: $1,400 (Aug 2024+) # Gross earned: $1,400 <= $1,400 wa_tanf_income_eligible: true -- name: Family size 10 - at maximum threshold - period: 2024-01 +- name: Case 7, family size 10 at maximum threshold. + period: 2025-01 input: state_code: WA spm_unit_size: 10 tanf_gross_earned_income: 3_824 output: - # Income limit for family of 10: $3,824 + # Income limit for family of 10: $3,824 (Aug 2024+) # Gross earned: $3,824 <= $3,824 wa_tanf_income_eligible: true -- name: Family size 15 - capped at size 10 limit - period: 2024-01 +- name: Case 8, family size 15 capped at size 10 limit. + period: 2025-01 input: state_code: WA spm_unit_size: 15 @@ -86,11 +87,57 @@ # Gross earned: $3,824 <= $3,824 wa_tanf_income_eligible: true -- name: Only calculate for WA - period: 2024-01 +- name: Case 9, only calculate for WA. + period: 2025-01 input: state_code: MT spm_unit_size: 3 tanf_gross_earned_income: 1_000 output: wa_tanf_income_eligible: false + +# Historical tests - verify 2024-01 income limits (before Aug 2024 increase) +- name: Case 10, 2024-01 uses Jan 2024 income limits. + period: 2024-01 + input: + state_code: WA + spm_unit_size: 3 + tanf_gross_earned_income: 1_412 + output: + # Income limit for family of 3 in Jan 2024: $1,412 + # Gross earned: $1,412 <= $1,412 + wa_tanf_income_eligible: true + +- name: Case 11, 2024-01 over Jan 2024 limit. + period: 2024-01 + input: + state_code: WA + spm_unit_size: 3 + tanf_gross_earned_income: 1_413 + output: + # Income limit for family of 3 in Jan 2024: $1,412 + # Gross earned: $1,413 > $1,412 + wa_tanf_income_eligible: false + +# Historical tests - verify 2018-01 income limits (2016 values) +- name: Case 12, 2018-01 uses 2016 income limits. + period: 2018-01 + input: + state_code: WA + spm_unit_size: 3 + tanf_gross_earned_income: 1_042 + output: + # Income limit for family of 3 in 2018-01: $1,042 (2016 value) + # Gross earned: $1,042 <= $1,042 + wa_tanf_income_eligible: true + +- name: Case 13, 2018-01 over 2016 income limit. + period: 2018-01 + input: + state_code: WA + spm_unit_size: 3 + tanf_gross_earned_income: 1_043 + output: + # Income limit for family of 3 in 2018-01: $1,042 + # Gross earned: $1,043 > $1,042 + wa_tanf_income_eligible: false diff --git a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.yaml index 7986cc66b3a..90d3b6525f4 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.yaml @@ -1,5 +1,6 @@ -- name: Zero gross earned income - zero countable - period: 2024-01 +# Tests for Aug 2024+ rules (with $500 flat disregard) +- name: Case 1, zero gross earned income. + period: 2025-01 input: state_code: WA tanf_gross_earned_income: 0 @@ -7,8 +8,8 @@ # Countable = max($0 - $500, 0) × 0.5 = $0 wa_tanf_countable_earned_income: 0 -- name: Gross earned below disregard - zero countable - period: 2024-01 +- name: Case 2, gross earned below $500 disregard. + period: 2025-01 input: state_code: WA tanf_gross_earned_income: 300 @@ -16,8 +17,8 @@ # Countable = max($300 - $500, 0) × 0.5 = $0 wa_tanf_countable_earned_income: 0 -- name: Gross earned exactly at disregard - zero countable - period: 2024-01 +- name: Case 3, gross earned exactly at $500 disregard. + period: 2025-01 input: state_code: WA tanf_gross_earned_income: 500 @@ -25,46 +26,85 @@ # Countable = max($500 - $500, 0) × 0.5 = $0 wa_tanf_countable_earned_income: 0 -- name: Gross earned one dollar over disregard - period: 2024-01 +- name: Case 4, gross earned one dollar over disregard. + period: 2025-01 input: state_code: WA tanf_gross_earned_income: 501 output: - # Countable = ($501 - $500) × 0.5 = $0.50 + # Countable = max($501 - $500, 0) × 0.5 = $0.50 wa_tanf_countable_earned_income: 0.5 -- name: Gross earned moderately above disregard - period: 2024-01 +- name: Case 5, gross earned moderately above disregard. + period: 2025-01 input: state_code: WA tanf_gross_earned_income: 1_000 output: - # Countable = ($1,000 - $500) × 0.5 = $250 + # Countable = max($1,000 - $500, 0) × 0.5 = $250 wa_tanf_countable_earned_income: 250 -- name: Gross earned significantly above disregard - period: 2024-01 +- name: Case 6, gross earned significantly above disregard. + period: 2025-01 input: state_code: WA tanf_gross_earned_income: 2_000 output: - # Countable = ($2,000 - $500) × 0.5 = $750 + # Countable = max($2,000 - $500, 0) × 0.5 = $750 wa_tanf_countable_earned_income: 750 -- name: High gross earned income - period: 2024-01 +- name: Case 7, high gross earned income. + period: 2025-01 input: state_code: WA tanf_gross_earned_income: 4_000 output: - # Countable = ($4,000 - $500) × 0.5 = $1,750 + # Countable = max($4,000 - $500, 0) × 0.5 = $1,750 wa_tanf_countable_earned_income: 1_750 -- name: Only calculate for WA - period: 2024-01 +- name: Case 8, only calculate for WA. + period: 2025-01 input: state_code: OR tanf_gross_earned_income: 1_000 output: wa_tanf_countable_earned_income: 0 + +# Historical tests - verify pre-Aug-2024 calculation (no $500 flat disregard) +- name: Case 9, gross earned in 2018-01 with only 50% disregard. + period: 2018-01 + input: + state_code: WA + tanf_gross_earned_income: 1_000 + output: + # Pre-Aug 2024: No $500 flat disregard, only 50% + # Countable = $1,000 × 0.5 = $500 + wa_tanf_countable_earned_income: 500 + +- name: Case 10, low income in 2018-01. + period: 2018-01 + input: + state_code: WA + tanf_gross_earned_income: 300 + output: + # Countable = $300 × 0.5 = $150 + wa_tanf_countable_earned_income: 150 + +- name: Case 11, high income in 2018-01. + period: 2018-01 + input: + state_code: WA + tanf_gross_earned_income: 2_000 + output: + # Countable = $2,000 × 0.5 = $1,000 + wa_tanf_countable_earned_income: 1_000 + +- name: Case 12, 2024-01 uses only 50% disregard (before Aug 2024). + period: 2024-01 + input: + state_code: WA + tanf_gross_earned_income: 1_000 + output: + # 2024-01 is before Aug 2024, so no $500 flat disregard + # Countable = $1,000 × 0.5 = $500 + wa_tanf_countable_earned_income: 500 diff --git a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml index 47315119d83..99f991249a7 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml @@ -1,676 +1,440 @@ -- name: Single parent with 2 children - no income - period: 2024-01 +# Integration tests for WA TANF using Aug 2024+ rules +# ($500 flat disregard + 50%, $12,000 resource limit, Aug 2024 income limits) + +- name: Case 1, single parent with 2 children, no income. + period: 2025-01 input: people: - parent: + person1: age: 30 - child1: + person2: age: 5 is_tax_unit_dependent: true - child2: + person3: age: 3 is_tax_unit_dependent: true families: family: - members: [parent, child1, child2] + members: [person1, person2, person3] spm_units: spm_unit: - members: [parent, child1, child2] + members: [person1, person2, person3] tax_units: tax_unit: - members: [parent, child1, child2] + members: [person1, person2, person3] households: household: - members: [parent, child1, child2] + members: [person1, person2, person3] state_code: WA output: wa_tanf_payment_standard: 706 wa_tanf_countable_income: 0 wa_tanf_eligible: true wa_tanf: 706 -- name: Single parent with 2 children - low earned income - period: 2024-01 + +- name: Case 2, single parent with 2 children, low earned income. + period: 2025-01 input: people: - parent: + person1: age: 30 - employment_income_before_lsr: 12000 - child1: + employment_income_before_lsr: 12_000 + person2: age: 5 is_tax_unit_dependent: true - child2: + person3: age: 3 is_tax_unit_dependent: true families: family: - members: [parent, child1, child2] + members: [person1, person2, person3] spm_units: spm_unit: - members: [parent, child1, child2] + members: [person1, person2, person3] tax_units: tax_unit: - members: [parent, child1, child2] + members: [person1, person2, person3] households: household: - members: [parent, child1, child2] + members: [person1, person2, person3] state_code: WA output: wa_tanf_payment_standard: 706 + # Monthly income: $12,000 / 12 = $1,000 + # Countable earned = max($1,000 - $500, 0) × 0.5 = $250 wa_tanf_countable_income: 250 wa_tanf_eligible: true wa_tanf: 456 -- name: Single parent with 2 children - moderate earned income - period: 2024-01 + +- name: Case 3, single parent with 2 children, moderate earned income. + period: 2025-01 input: people: - parent: + person1: age: 30 - employment_income_before_lsr: 21600 - child1: + employment_income_before_lsr: 22_944 + person2: age: 5 is_tax_unit_dependent: true - child2: + person3: age: 3 is_tax_unit_dependent: true families: family: - members: [parent, child1, child2] + members: [person1, person2, person3] spm_units: spm_unit: - members: [parent, child1, child2] + members: [person1, person2, person3] tax_units: tax_unit: - members: [parent, child1, child2] + members: [person1, person2, person3] households: household: - members: [parent, child1, child2] - state_code: WA - output: - wa_tanf_payment_standard: 706 - wa_tanf_countable_income: 650 - wa_tanf_eligible: true - wa_tanf: 56 -- name: Single parent with 2 children - at income threshold - period: 2024-01 - input: - people: - parent: - age: 30 - employment_income_before_lsr: 22944 - child1: - age: 5 - is_tax_unit_dependent: true - child2: - age: 3 - is_tax_unit_dependent: true - families: - family: - members: [parent, child1, child2] - spm_units: - spm_unit: - members: [parent, child1, child2] - tax_units: - tax_unit: - members: [parent, child1, child2] - households: - household: - members: [parent, child1, child2] + members: [person1, person2, person3] state_code: WA output: wa_tanf_payment_standard: 706 + # Monthly income: $22,944 / 12 = $1,912 (at income limit) + # Countable earned = max($1,912 - $500, 0) × 0.5 = $706 wa_tanf_countable_income: 706 wa_tanf_eligible: true wa_tanf: 0 -- name: Single parent with 2 children - over income threshold - period: 2024-01 - input: - people: - parent: - age: 30 - employment_income_before_lsr: 23000 - child1: - age: 5 - is_tax_unit_dependent: true - child2: - age: 3 - is_tax_unit_dependent: true - families: - family: - members: [parent, child1, child2] - spm_units: - spm_unit: - members: [parent, child1, child2] - tax_units: - tax_unit: - members: [parent, child1, child2] - households: - household: - members: [parent, child1, child2] - state_code: WA - output: - wa_tanf_eligible: false - wa_tanf: 0 -- name: Two parents with 3 children - one parent working - period: 2024-01 + +- name: Case 4, two parents with 3 children, one parent working. + period: 2025-01 input: people: - parent1: + person1: age: 32 - employment_income_before_lsr: 24000 - parent2: + employment_income_before_lsr: 18_000 + person2: age: 30 - child1: + person3: age: 8 is_tax_unit_dependent: true - child2: + person4: age: 5 is_tax_unit_dependent: true - child3: + person5: age: 2 is_tax_unit_dependent: true families: family: - members: [parent1, parent2, child1, child2, child3] + members: [person1, person2, person3, person4, person5] spm_units: spm_unit: - members: [parent1, parent2, child1, child2, child3] + members: [person1, person2, person3, person4, person5] tax_units: tax_unit: - members: [parent1, parent2, child1, child2, child3] + members: [person1, person2, person3, person4, person5] households: household: - members: [parent1, parent2, child1, child2, child3] + members: [person1, person2, person3, person4, person5] state_code: WA output: wa_tanf_payment_standard: 959 - wa_tanf_countable_income: 750 + # Monthly income: $18,000 / 12 = $1,500 + # Countable earned = max($1,500 - $500, 0) × 0.5 = $500 + wa_tanf_countable_income: 500 wa_tanf_eligible: true - wa_tanf: 209 -- name: Two parents with 2 children - both parents working - period: 2024-01 + wa_tanf: 459 + +- name: Case 5, single parent with 1 child, unearned income only. + period: 2025-01 input: people: - parent1: - age: 35 - employment_income_before_lsr: 18000 - parent2: - age: 33 - employment_income_before_lsr: 9600 - child1: - age: 7 - is_tax_unit_dependent: true - child2: - age: 4 - is_tax_unit_dependent: true - families: - family: - members: [parent1, parent2, child1, child2] - spm_units: - spm_unit: - members: [parent1, parent2, child1, child2] - tax_units: - tax_unit: - members: [parent1, parent2, child1, child2] - households: - household: - members: [parent1, parent2, child1, child2] - state_code: WA - output: - wa_tanf_payment_standard: 833 - wa_tanf_countable_income: 900 - wa_tanf_eligible: false - wa_tanf: 0 -- name: Single parent with 1 child - unearned income only - period: 2024-01 - input: - people: - parent: + person1: age: 45 - social_security: 6000 - child: + social_security: 6_000 + person2: age: 10 is_tax_unit_dependent: true families: family: - members: [parent, child] + members: [person1, person2] spm_units: spm_unit: - members: [parent, child] + members: [person1, person2] tax_units: tax_unit: - members: [parent, child] + members: [person1, person2] households: household: - members: [parent, child] + members: [person1, person2] state_code: WA output: wa_tanf_payment_standard: 570 + # Monthly unearned income: $6,000 / 12 = $500 + # No earned income disregard for unearned income wa_tanf_countable_income: 500 wa_tanf_eligible: true wa_tanf: 70 -- name: Family of 4 - mixed earned and unearned income - period: 2024-01 + +- name: Case 6, family size 1, pregnant woman. + period: 2025-01 input: people: - parent: - age: 40 - employment_income_before_lsr: 12000 - social_security: 3600 - child1: - age: 12 - is_tax_unit_dependent: true - child2: - age: 9 - is_tax_unit_dependent: true - child3: - age: 6 - is_tax_unit_dependent: true - families: - family: - members: [parent, child1, child2, child3] - spm_units: - spm_unit: - members: [parent, child1, child2, child3] - tax_units: - tax_unit: - members: [parent, child1, child2, child3] - households: - household: - members: [parent, child1, child2, child3] - state_code: WA - output: - wa_tanf_payment_standard: 833 - wa_tanf_countable_income: 550 - wa_tanf_eligible: true - wa_tanf: 283 -- name: Family size 1 - pregnant woman with no other children - period: 2024-01 - input: - people: - parent: + person1: age: 25 is_pregnant: true families: family: - members: [parent] + members: [person1] spm_units: spm_unit: - members: [parent] + members: [person1] tax_units: tax_unit: - members: [parent] + members: [person1] households: household: - members: [parent] + members: [person1] state_code: WA output: wa_tanf_payment_standard: 450 wa_tanf_countable_income: 0 wa_tanf_eligible: true wa_tanf: 450 -- name: Family size 6 - moderate income - period: 2024-01 - input: - people: - parent1: - age: 38 - employment_income_before_lsr: 18000 - parent2: - age: 36 - child1: - age: 14 - is_tax_unit_dependent: true - child2: - age: 11 - is_tax_unit_dependent: true - child3: - age: 8 - is_tax_unit_dependent: true - child4: - age: 5 - is_tax_unit_dependent: true - families: - family: - members: [parent1, parent2, child1, child2, child3, child4] - spm_units: - spm_unit: - members: [parent1, parent2, child1, child2, child3, child4] - tax_units: - tax_unit: - members: [parent1, parent2, child1, child2, child3, child4] - households: - household: - members: [parent1, parent2, child1, child2, child3, child4] - state_code: WA - output: - wa_tanf_payment_standard: 1090 - wa_tanf_countable_income: 500 - wa_tanf_eligible: true - wa_tanf: 590 -- name: Family size 8 - testing maximum grant cap with no income - period: 2024-01 + +- name: Case 7, family of 7, no income. + period: 2025-01 input: people: - parent1: - age: 42 - parent2: + person1: age: 40 - child1: - age: 16 - is_tax_unit_dependent: true - child2: - age: 14 + person2: + age: 38 + person3: + age: 15 is_tax_unit_dependent: true - child3: - age: 12 + person4: + age: 13 is_tax_unit_dependent: true - child4: - age: 10 + person5: + age: 11 is_tax_unit_dependent: true - child5: - age: 8 + person6: + age: 9 is_tax_unit_dependent: true - child6: - age: 6 + person7: + age: 7 is_tax_unit_dependent: true families: family: - members: [parent1, parent2, child1, child2, child3, child4, child5, child6] + members: [person1, person2, person3, person4, person5, person6, person7] spm_units: spm_unit: - members: [parent1, parent2, child1, child2, child3, child4, child5, child6] + members: [person1, person2, person3, person4, person5, person6, person7] tax_units: tax_unit: - members: [parent1, parent2, child1, child2, child3, child4, child5, child6] + members: [person1, person2, person3, person4, person5, person6, person7] households: household: - members: [parent1, parent2, child1, child2, child3, child4, child5, child6] + members: [person1, person2, person3, person4, person5, person6, person7] state_code: WA output: - wa_tanf_payment_standard: 1392 + wa_tanf_payment_standard: 1_258 wa_tanf_countable_income: 0 wa_tanf_eligible: true - wa_tanf: 1338 -- name: Family size 10 - testing maximum grant cap with low income - period: 2024-01 + wa_tanf: 1_258 + +- name: Case 8, family size 10, no income. + period: 2025-01 input: people: - parent1: + person1: age: 45 - employment_income_before_lsr: 9600 - parent2: + person2: age: 43 - child1: + person3: age: 18 - child2: + person4: age: 16 is_tax_unit_dependent: true - child3: + person5: age: 14 is_tax_unit_dependent: true - child4: + person6: age: 12 is_tax_unit_dependent: true - child5: + person7: age: 10 is_tax_unit_dependent: true - child6: + person8: age: 8 is_tax_unit_dependent: true - child7: + person9: age: 6 is_tax_unit_dependent: true - child8: + person10: age: 4 is_tax_unit_dependent: true families: family: - members: [parent1, parent2, child1, child2, child3, child4, child5, child6, - child7, child8] + members: [person1, person2, person3, person4, person5, person6, person7, + person8, person9, person10] spm_units: spm_unit: - members: [parent1, parent2, child1, child2, child3, child4, child5, child6, - child7, child8] + members: [person1, person2, person3, person4, person5, person6, person7, + person8, person9, person10] tax_units: tax_unit: - members: [parent1, parent2, child1, child2, child3, child4, child5, child6, - child7, child8] + members: [person1, person2, person3, person4, person5, person6, person7, + person8, person9, person10] households: household: - members: [parent1, parent2, child1, child2, child3, child4, child5, child6, - child7, child8] + members: [person1, person2, person3, person4, person5, person6, person7, + person8, person9, person10] state_code: WA output: - wa_tanf_payment_standard: 1662 - wa_tanf_countable_income: 150 + wa_tanf_payment_standard: 1_662 + wa_tanf_countable_income: 0 wa_tanf_eligible: true - wa_tanf: 1338 -- name: Single parent with 1 child - earned income below $500 disregard - period: 2024-01 + wa_tanf: 1_662 + +- name: Case 9, single parent with 1 child, earned income below $500. + period: 2025-01 input: people: - parent: + person1: age: 28 - employment_income_before_lsr: 4800 - child: + employment_income_before_lsr: 4_800 + person2: age: 3 is_tax_unit_dependent: true families: family: - members: [parent, child] + members: [person1, person2] spm_units: spm_unit: - members: [parent, child] + members: [person1, person2] tax_units: tax_unit: - members: [parent, child] + members: [person1, person2] households: household: - members: [parent, child] + members: [person1, person2] state_code: WA output: wa_tanf_payment_standard: 570 + # Monthly income: $4,800 / 12 = $400 + # Countable earned = max($400 - $500, 0) × 0.5 = $0 wa_tanf_countable_income: 0 wa_tanf_eligible: true wa_tanf: 570 -- name: Single parent with 3 children - earned income exactly at $500 - period: 2024-01 + +- name: Case 10, single parent with 3 children, earned income exactly at $500. + period: 2025-01 input: people: - parent: + person1: age: 32 - employment_income_before_lsr: 6000 - child1: + employment_income_before_lsr: 6_000 + person2: age: 10 is_tax_unit_dependent: true - child2: + person3: age: 7 is_tax_unit_dependent: true - child3: + person4: age: 4 is_tax_unit_dependent: true families: family: - members: [parent, child1, child2, child3] + members: [person1, person2, person3, person4] spm_units: spm_unit: - members: [parent, child1, child2, child3] + members: [person1, person2, person3, person4] tax_units: tax_unit: - members: [parent, child1, child2, child3] + members: [person1, person2, person3, person4] households: household: - members: [parent, child1, child2, child3] + members: [person1, person2, person3, person4] state_code: WA output: wa_tanf_payment_standard: 833 + # Monthly income: $6,000 / 12 = $500 + # Countable earned = max($500 - $500, 0) × 0.5 = $0 wa_tanf_countable_income: 0 wa_tanf_eligible: true wa_tanf: 833 -- name: Family of 5 - high unearned income exceeding payment standard - period: 2024-01 + +- name: Case 11, family of 5, high unearned income. + period: 2025-01 input: people: - parent: + person1: age: 50 - social_security: 12000 - child1: + social_security: 12_000 + person2: age: 15 is_tax_unit_dependent: true - child2: + person3: age: 13 is_tax_unit_dependent: true - child3: + person4: age: 11 is_tax_unit_dependent: true - child4: + person5: age: 9 is_tax_unit_dependent: true families: family: - members: [parent, child1, child2, child3, child4] + members: [person1, person2, person3, person4, person5] spm_units: spm_unit: - members: [parent, child1, child2, child3, child4] + members: [person1, person2, person3, person4, person5] tax_units: tax_unit: - members: [parent, child1, child2, child3, child4] + members: [person1, person2, person3, person4, person5] households: household: - members: [parent, child1, child2, child3, child4] + members: [person1, person2, person3, person4, person5] state_code: WA output: wa_tanf_payment_standard: 959 - wa_tanf_countable_income: 1000 + # Monthly unearned income: $12,000 / 12 = $1,000 + wa_tanf_countable_income: 1_000 wa_tanf_eligible: true wa_tanf: 0 -- name: Family of 7 - testing payment standard and cap boundary - period: 2024-01 - input: - people: - parent1: - age: 40 - parent2: - age: 38 - child1: - age: 15 - is_tax_unit_dependent: true - child2: - age: 13 - is_tax_unit_dependent: true - child3: - age: 11 - is_tax_unit_dependent: true - child4: - age: 9 - is_tax_unit_dependent: true - child5: - age: 7 - is_tax_unit_dependent: true - families: - family: - members: [parent1, parent2, child1, child2, child3, child4, child5] - spm_units: - spm_unit: - members: [parent1, parent2, child1, child2, child3, child4, child5] - tax_units: - tax_unit: - members: [parent1, parent2, child1, child2, child3, child4, child5] - households: - household: - members: [parent1, parent2, child1, child2, child3, child4, child5] - state_code: WA - output: - wa_tanf_payment_standard: 1258 - wa_tanf_countable_income: 0 - wa_tanf_eligible: true - wa_tanf: 1258 -- name: Family of 9 - testing grant cap with moderate income - period: 2024-01 - input: - people: - parent1: - age: 44 - employment_income_before_lsr: 12000 - parent2: - age: 42 - child1: - age: 17 - is_tax_unit_dependent: true - child2: - age: 15 - is_tax_unit_dependent: true - child3: - age: 13 - is_tax_unit_dependent: true - child4: - age: 11 - is_tax_unit_dependent: true - child5: - age: 9 - is_tax_unit_dependent: true - child6: - age: 7 - is_tax_unit_dependent: true - child7: - age: 5 - is_tax_unit_dependent: true - families: - family: - members: [parent1, parent2, child1, child2, child3, child4, child5, child6, - child7] - spm_units: - spm_unit: - members: [parent1, parent2, child1, child2, child3, child4, child5, child6, - child7] - tax_units: - tax_unit: - members: [parent1, parent2, child1, child2, child3, child4, child5, child6, - child7] - households: - household: - members: [parent1, parent2, child1, child2, child3, child4, child5, child6, - child7] - state_code: WA - output: - wa_tanf_payment_standard: 1529 - wa_tanf_countable_income: 250 - wa_tanf_eligible: true - wa_tanf: 1279 -- name: Single parent with 4 children - self-employment income - period: 2024-01 + +- name: Case 12, single parent with 4 children, self-employment income. + period: 2025-01 input: people: - parent: + person1: age: 34 - self_employment_income_before_lsr: 15600 - child1: + self_employment_income_before_lsr: 15_600 + person2: age: 12 is_tax_unit_dependent: true - child2: + person3: age: 10 is_tax_unit_dependent: true - child3: + person4: age: 8 is_tax_unit_dependent: true - child4: + person5: age: 6 is_tax_unit_dependent: true families: family: - members: [parent, child1, child2, child3, child4] + members: [person1, person2, person3, person4, person5] spm_units: spm_unit: - members: [parent, child1, child2, child3, child4] + members: [person1, person2, person3, person4, person5] tax_units: tax_unit: - members: [parent, child1, child2, child3, child4] + members: [person1, person2, person3, person4, person5] households: household: - members: [parent, child1, child2, child3, child4] + members: [person1, person2, person3, person4, person5] state_code: WA output: wa_tanf_payment_standard: 959 + # Monthly income: $15,600 / 12 = $1,300 + # Countable earned = max($1,300 - $500, 0) × 0.5 = $400 wa_tanf_countable_income: 400 wa_tanf_eligible: true wa_tanf: 559 diff --git a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf.yaml b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf.yaml index 182ce90f500..af802e387e0 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf.yaml @@ -52,7 +52,7 @@ output: wa_tanf: 0 -- name: Large family - benefit capped by maximum grant cap +- name: Large family - full payment standard period: 2024-01 input: state_code: WA @@ -60,12 +60,10 @@ wa_tanf_payment_standard: 1_662 wa_tanf_countable_income: 0 output: - # Benefit before cap = $1,662 - $0 = $1,662 - # Maximum grant cap = $1,338 - # Benefit = min($1,662, $1,338) = $1,338 - wa_tanf: 1_338 + # Benefit = $1,662 - $0 = $1,662 + wa_tanf: 1_662 -- name: Large family with income - benefit under cap +- name: Large family with income - reduced benefit period: 2024-01 input: state_code: WA @@ -73,12 +71,10 @@ wa_tanf_payment_standard: 1_529 wa_tanf_countable_income: 250 output: - # Benefit before cap = $1,529 - $250 = $1,279 - # Maximum grant cap = $1,338 - # Benefit = min($1,279, $1,338) = $1,279 (under cap) + # Benefit = $1,529 - $250 = $1,279 wa_tanf: 1_279 -- name: Medium family - benefit exactly at cap +- name: Medium family with partial income period: 2024-01 input: state_code: WA @@ -86,9 +82,7 @@ wa_tanf_payment_standard: 1_392 wa_tanf_countable_income: 54 output: - # Benefit before cap = $1,392 - $54 = $1,338 - # Maximum grant cap = $1,338 - # Benefit = min($1,338, $1,338) = $1,338 (exactly at cap) + # Benefit = $1,392 - $54 = $1,338 wa_tanf: 1_338 - name: Only calculate for WA @@ -100,3 +94,26 @@ wa_tanf_countable_income: 0 output: wa_tanf: 0 + +# Historical tests - verify 2016 payment standards in early 2018 +- name: Case 10, eligible with no income in 2018-01. + period: 2018-01 + input: + state_code: WA + wa_tanf_eligible: true + wa_tanf_payment_standard: 521 + wa_tanf_countable_income: 0 + output: + # Benefit = $521 - $0 = $521 (2016 value for size 3) + wa_tanf: 521 + +- name: Case 11, eligible with partial income in 2018-01. + period: 2018-01 + input: + state_code: WA + wa_tanf_eligible: true + wa_tanf_payment_standard: 521 + wa_tanf_countable_income: 200 + output: + # Benefit = $521 - $200 = $321 + wa_tanf: 321 diff --git a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.yaml index f5c722286d5..ea197c20540 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.yaml @@ -1,15 +1,52 @@ -- name: Households with assets at or below resource limit are eligible - period: 2024 +# Tests for Feb 2024+ resource limits ($12,000) +- name: Case 1, assets at $12,000 resource limit. + period: 2025 input: state_code: WA wa_tanf_countable_resources: 12_000 output: + # Resource limit: $12,000 (Feb 2024+) wa_tanf_resources_eligible: true -- name: Households with assets above resource limit are ineligible - period: 2024 +- name: Case 2, assets above $12,000 resource limit. + period: 2025 input: state_code: WA wa_tanf_countable_resources: 13_000 output: wa_tanf_resources_eligible: false + +# Historical tests - verify pre-Feb-2024 resource limits +- name: Case 3, 2024-01 uses $6,000 limit (before Feb 2024). + period: 2024-01 + input: + state_code: WA + wa_tanf_countable_resources: 6_000 + output: + # Resource limit in Jan 2024: $6,000 + wa_tanf_resources_eligible: true + +- name: Case 4, 2024-01 over $6,000 limit. + period: 2024-01 + input: + state_code: WA + wa_tanf_countable_resources: 6_001 + output: + wa_tanf_resources_eligible: false + +- name: Case 5, 2018-01 uses $1,000 limit (before 2019). + period: 2018-01 + input: + state_code: WA + wa_tanf_countable_resources: 1_000 + output: + # Resource limit in 2018: $1,000 + wa_tanf_resources_eligible: true + +- name: Case 6, 2018-01 over $1,000 limit. + period: 2018-01 + input: + state_code: WA + wa_tanf_countable_resources: 1_001 + output: + wa_tanf_resources_eligible: false From 5b3e359386157cc8b9c78e32ec0e8bb534665546 Mon Sep 17 00:00:00 2001 From: Ziming Date: Sun, 18 Jan 2026 23:16:38 -0500 Subject: [PATCH 3/6] remove MN part --- changelog_entry.yaml | 1 - .../child_support_disregard/amount.yaml | 12 +++++------ .../deductions/dependent_care/amount.yaml | 8 ++++---- .../earned_income_disregard/flat_amount.yaml | 2 +- .../income/earned_income_disregard/rate.yaml | 4 +--- .../income/family_wage_level_multiplier.yaml | 2 +- .../states/mn/dcyf/mfip/resources/limit.yaml | 2 +- .../additional_person_increment.yaml | 9 --------- .../mfip/transitional_standard/amount.yaml | 20 ------------------- .../transitional_standard/max_unit_size.yaml | 2 +- 10 files changed, 15 insertions(+), 47 deletions(-) diff --git a/changelog_entry.yaml b/changelog_entry.yaml index 989432e38d5..76ffeef0260 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -1,5 +1,4 @@ - bump: patch changes: changed: - - Add historical values to Minnesota MFIP parameters. - Add historical values to Washington TANF parameters. diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/child_support_disregard/amount.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/child_support_disregard/amount.yaml index 6c275ec8640..d94b0e648e6 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/child_support_disregard/amount.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/child_support_disregard/amount.yaml @@ -11,14 +11,14 @@ metadata: brackets: - threshold: - 2006-10-01: 0 + 2020-01-01: 0 amount: - 2006-10-01: 0 + 2020-01-01: 0 - threshold: - 2006-10-01: 1 + 2020-01-01: 1 amount: - 2006-10-01: 100 + 2020-01-01: 100 - threshold: - 2006-10-01: 2 + 2020-01-01: 2 amount: - 2006-10-01: 200 + 2020-01-01: 200 diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/deductions/dependent_care/amount.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/deductions/dependent_care/amount.yaml index 8f85fde890f..9b755e5fdb4 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/deductions/dependent_care/amount.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/deductions/dependent_care/amount.yaml @@ -14,10 +14,10 @@ metadata: brackets: - threshold: - 1998-01-01: 0 + 2020-01-01: 0 amount: - 1998-01-01: 200 + 2020-01-01: 200 - threshold: - 1998-01-01: 2 + 2020-01-01: 2 amount: - 1998-01-01: 175 + 2020-01-01: 175 diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/flat_amount.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/flat_amount.yaml index e9e26821af3..6e63fbc7b91 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/flat_amount.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/flat_amount.yaml @@ -1,7 +1,7 @@ description: Minnesota disregards this flat dollar amount of earned income per wage earner per month under the Minnesota Family Investment Program. values: - 2015-10-01: 65 + 2020-01-01: 65 metadata: unit: currency-USD diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/rate.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/rate.yaml index 6b5f8243aed..1596e7265cc 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/rate.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/earned_income_disregard/rate.yaml @@ -1,9 +1,7 @@ description: Minnesota disregards this percentage of remaining earned income (after flat disregard) under the Minnesota Family Investment Program. values: - 1998-01-01: 0.36 - 1999-10-01: 0.38 - 2015-10-01: 0.5 + 2020-01-01: 0.5 metadata: unit: /1 diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/family_wage_level_multiplier.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/family_wage_level_multiplier.yaml index 0001c5f02d1..afe3c919380 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/family_wage_level_multiplier.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/income/family_wage_level_multiplier.yaml @@ -1,7 +1,7 @@ description: Minnesota multiplies the Transitional Standard by this factor to determine the Family Wage Level used for income eligibility testing under the Minnesota Family Investment Program. values: - 1998-01-01: 1.1 + 2020-01-01: 1.1 metadata: unit: /1 diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/resources/limit.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/resources/limit.yaml index a4b8929da52..8b7122e044c 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/resources/limit.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/resources/limit.yaml @@ -1,7 +1,7 @@ description: Minnesota sets this dollar amount as the maximum countable assets an assistance unit may have to remain eligible for the Minnesota Family Investment Program. values: - 2016-06-01: 10_000 + 2020-01-01: 10_000 metadata: unit: currency-USD diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/additional_person_increment.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/additional_person_increment.yaml index a8ff32180b6..bd898005c53 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/additional_person_increment.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/additional_person_increment.yaml @@ -9,17 +9,8 @@ metadata: href: https://www.house.mn.gov/hrd/pubs/pap_mfip.pdf#page=5 - title: Minnesota Combined Manual MFIP/DWP Assistance Standards href: https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=cm_002009 - - title: Minnesota State Register Volume 41, Number 8 - MFIP COLA Adjustment October 1, 2016 - href: https://mn.gov/admin/assets/SR41_8%20-%20Accessible_tcm36-263468.pdf#page=57 - - title: Minnesota State Register Volume 42, Number 9 - MFIP COLA Adjustment October 1, 2017 - href: https://mn.gov/admin/assets/SR42_9%20-%20Accessible_tcm36-309361.pdf#page=10 - - title: Minnesota State Register Volume 43, Number 9 - MFIP COLA Adjustment October 1, 2018 - href: https://mn.gov/admin/assets/SR43_9%20-%20Accessible_tcm36-350686.pdf#page=76 - - title: Minnesota State Register Volume 44, Number 8 - MFIP COLA Adjustment October 1, 2019 - href: https://mn.gov/admin/assets/SR44_8%20-%20Accessible_tcm36-399622.pdf#page=24 values: - 2016-10-01: 174 2017-10-01: 172 2019-10-01: 174 2024-10-01: 249 diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/amount.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/amount.yaml index 8d0fa15ba62..47a695a305a 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/amount.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/amount.yaml @@ -5,87 +5,67 @@ metadata: period: month breakdown: - range(0, 20) - breakdown_label: - - Assistance unit size label: Minnesota MFIP Transitional Standard amount reference: - title: Minnesota House Research - Minnesota Family Investment Program href: https://www.house.mn.gov/hrd/pubs/pap_mfip.pdf#page=5 - title: Minnesota Combined Manual MFIP/DWP Assistance Standards href: https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=cm_002009 - - title: Minnesota State Register Volume 41, Number 8 - MFIP COLA Adjustment October 1, 2016 - href: https://mn.gov/admin/assets/SR41_8%20-%20Accessible_tcm36-263468.pdf#page=57 - - title: Minnesota State Register Volume 42, Number 9 - MFIP COLA Adjustment October 1, 2017 - href: https://mn.gov/admin/assets/SR42_9%20-%20Accessible_tcm36-309361.pdf#page=10 - - title: Minnesota State Register Volume 43, Number 9 - MFIP COLA Adjustment October 1, 2018 - href: https://mn.gov/admin/assets/SR43_9%20-%20Accessible_tcm36-350686.pdf#page=76 - - title: Minnesota State Register Volume 44, Number 8 - MFIP COLA Adjustment October 1, 2019 - href: https://mn.gov/admin/assets/SR44_8%20-%20Accessible_tcm36-399622.pdf#page=24 1: - 2016-10-01: 422 2017-10-01: 420 2019-10-01: 422 2024-10-01: 661 2025-10-01: 678 2: - 2016-10-01: 754 2017-10-01: 750 2018-10-01: 751 2019-10-01: 752 2024-10-01: 1_087 2025-10-01: 1_114 3: - 2016-10-01: 991 2017-10-01: 984 2018-10-01: 985 2019-10-01: 989 2024-10-01: 1_394 2025-10-01: 1_430 4: - 2016-10-01: 1_207 2017-10-01: 1_198 2018-10-01: 1_200 2019-10-01: 1_204 2024-10-01: 1_675 2025-10-01: 1_715 5: - 2016-10-01: 1_395 2017-10-01: 1_384 2018-10-01: 1_386 2019-10-01: 1_392 2024-10-01: 1_933 2025-10-01: 1_982 6: - 2016-10-01: 1_605 2017-10-01: 1_594 2018-10-01: 1_603 2019-10-01: 1_609 2024-10-01: 2_238 2025-10-01: 2_297 7: - 2016-10-01: 1_748 2017-10-01: 1_736 2018-10-01: 1_749 2019-10-01: 1_762 2024-10-01: 2_435 2025-10-01: 2_500 8: - 2016-10-01: 1_931 2017-10-01: 1_917 2018-10-01: 1_930 2019-10-01: 1_945 2024-10-01: 2_695 2025-10-01: 2_759 9: - 2016-10-01: 2_113 2017-10-01: 2_096 2018-10-01: 2_109 2019-10-01: 2_126 2024-10-01: 2_951 2025-10-01: 3_015 10: - 2016-10-01: 2_288 2017-10-01: 2_270 2018-10-01: 2_283 2019-10-01: 2_301 diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/max_unit_size.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/max_unit_size.yaml index f1159594005..fc0aef388d2 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/max_unit_size.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/mfip/transitional_standard/max_unit_size.yaml @@ -11,4 +11,4 @@ metadata: href: https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=cm_002009 values: - 1998-01-01: 10 + 2024-10-01: 10 From a14b9045ac900a151df1699234350304ee3809b6 Mon Sep 17 00:00:00 2001 From: Ziming Date: Thu, 22 Jan 2026 12:18:28 -0500 Subject: [PATCH 4/6] minor --- .../earned_income_disregard/rate.yaml | 2 - .../states/wa/dshs/tanf/resource_limit.yaml | 2 - .../gov/states/wa/dshs/tanf/integration.yaml | 206 ++++++++++++++++++ .../dshs/tanf/eligibility/wa_tanf_eligible.py | 8 +- 4 files changed, 209 insertions(+), 9 deletions(-) diff --git a/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/rate.yaml b/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/rate.yaml index 2f19530a4a5..6a7d649968f 100644 --- a/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/rate.yaml +++ b/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/rate.yaml @@ -10,5 +10,3 @@ metadata: reference: - title: WAC 388-450-0170(3) - Subtract 50% of remaining earned income href: https://app.leg.wa.gov/wac/default.aspx?cite=388-450-0170 - - title: WSR 98-16-044 - Original TANF earned income rules effective Sep 1, 1998 - href: https://app.leg.wa.gov/wac/default.aspx?cite=388-450-0170 diff --git a/policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml b/policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml index 03afb51adf2..2ca947b374a 100644 --- a/policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml +++ b/policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml @@ -18,8 +18,6 @@ metadata: reference: - title: WAC 388-470-0005 - Resource limits for cash assistance href: https://app.leg.wa.gov/wac/default.aspx?cite=388-470-0005 - - title: WSR 98-16-044 - Original TANF resource limit of $1,000 effective Sep 1, 1998 - href: https://app.leg.wa.gov/wac/default.aspx?cite=388-470-0005 - title: E2SHB 1831 (2018) - Resource limit increased to $6,000 effective Feb 1, 2019 href: https://app.leg.wa.gov/billsummary?BillNumber=1831&Year=2017 - title: HB 1447 (2023 c 418) - Increased asset limit to $12,000 effective Feb 1, 2024 diff --git a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml index 99f991249a7..c4cdd7d0982 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml @@ -438,3 +438,209 @@ wa_tanf_countable_income: 400 wa_tanf_eligible: true wa_tanf: 559 + +# Historical integration tests for 2018-01 period +# (50% disregard only, no $500 flat deduction, $1,000 resource limit) + +- name: Case 13, 2018-01 single parent with 2 children, no income. + period: 2018-01 + input: + people: + person1: + age: 30 + person2: + age: 5 + is_tax_unit_dependent: true + person3: + age: 3 + is_tax_unit_dependent: true + families: + family: + members: [person1, person2, person3] + spm_units: + spm_unit: + members: [person1, person2, person3] + tax_units: + tax_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: WA + output: + # 2016-02-01 payment standard for family of 3: $521 + wa_tanf_payment_standard: 521 + wa_tanf_countable_income: 0 + wa_tanf_eligible: true + wa_tanf: 521 + +- name: Case 14, 2018-01 single parent with 2 children, low earned income. + period: 2018-01 + input: + people: + person1: + age: 30 + employment_income_before_lsr: 6_000 + person2: + age: 5 + is_tax_unit_dependent: true + person3: + age: 3 + is_tax_unit_dependent: true + families: + family: + members: [person1, person2, person3] + spm_units: + spm_unit: + members: [person1, person2, person3] + tax_units: + tax_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: WA + output: + wa_tanf_payment_standard: 521 + # Monthly income: $6,000 / 12 = $500 + # Countable earned = $500 × 0.5 = $250 (no $500 flat disregard in 2018) + wa_tanf_countable_income: 250 + wa_tanf_eligible: true + wa_tanf: 271 + +- name: Case 15, 2018-01 single parent with 2 children, income at threshold. + period: 2018-01 + input: + people: + person1: + age: 30 + employment_income_before_lsr: 12_504 + person2: + age: 5 + is_tax_unit_dependent: true + person3: + age: 3 + is_tax_unit_dependent: true + families: + family: + members: [person1, person2, person3] + spm_units: + spm_unit: + members: [person1, person2, person3] + tax_units: + tax_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: WA + output: + wa_tanf_payment_standard: 521 + # Monthly income: $12,504 / 12 = $1,042 (at income limit) + # Countable earned = $1,042 × 0.5 = $521 + wa_tanf_countable_income: 521 + wa_tanf_eligible: true + wa_tanf: 0 + +# Historical integration tests for 2024-01 period +# (50% disregard only, no $500 flat deduction, $6,000 resource limit) + +- name: Case 16, 2024-01 single parent with 2 children, no income. + period: 2024-01 + input: + people: + person1: + age: 30 + person2: + age: 5 + is_tax_unit_dependent: true + person3: + age: 3 + is_tax_unit_dependent: true + families: + family: + members: [person1, person2, person3] + spm_units: + spm_unit: + members: [person1, person2, person3] + tax_units: + tax_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: WA + output: + # 2024-01-01 payment standard for family of 3: $706 + wa_tanf_payment_standard: 706 + wa_tanf_countable_income: 0 + wa_tanf_eligible: true + wa_tanf: 706 + +- name: Case 17, 2024-01 single parent with 2 children, low earned income. + period: 2024-01 + input: + people: + person1: + age: 30 + employment_income_before_lsr: 6_000 + person2: + age: 5 + is_tax_unit_dependent: true + person3: + age: 3 + is_tax_unit_dependent: true + families: + family: + members: [person1, person2, person3] + spm_units: + spm_unit: + members: [person1, person2, person3] + tax_units: + tax_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: WA + output: + wa_tanf_payment_standard: 706 + # Monthly income: $6,000 / 12 = $500 + # Countable earned = $500 × 0.5 = $250 (no $500 flat disregard until Aug 2024) + wa_tanf_countable_income: 250 + wa_tanf_eligible: true + wa_tanf: 456 + +- name: Case 18, 2024-01 single parent with 2 children, income at threshold. + period: 2024-01 + input: + people: + person1: + age: 30 + employment_income_before_lsr: 16_944 + person2: + age: 5 + is_tax_unit_dependent: true + person3: + age: 3 + is_tax_unit_dependent: true + families: + family: + members: [person1, person2, person3] + spm_units: + spm_unit: + members: [person1, person2, person3] + tax_units: + tax_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: WA + output: + wa_tanf_payment_standard: 706 + # Monthly income: $16,944 / 12 = $1,412 (at income limit) + # Countable earned = $1,412 × 0.5 = $706 + wa_tanf_countable_income: 706 + wa_tanf_eligible: true + wa_tanf: 0 diff --git a/policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.py b/policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.py index 73bd5e436e0..ae1678dbce8 100644 --- a/policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.py +++ b/policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.py @@ -10,8 +10,6 @@ class wa_tanf_eligible(Variable): defined_for = StateCode.WA def formula(spm_unit, period, parameters): - person = spm_unit.members - # Must meet demographic requirements (minor child with deprived parent # OR pregnant woman) # Per WAC 388-400-0005, eligibility follows federal TANF demographic rules @@ -19,8 +17,8 @@ def formula(spm_unit, period, parameters): # Must have at least one U.S. citizen or qualified immigrant # Per WAC 388-424-0001, follows federal immigration eligibility - has_citizen = spm_unit.any( - person("is_citizen_or_legal_immigrant", period) + immigration_eligible = ( + add(spm_unit, period, ["is_citizen_or_legal_immigrant"]) > 0 ) # Must meet income eligibility (gross earned income < limit) @@ -36,7 +34,7 @@ def formula(spm_unit, period, parameters): # All requirements must be met return ( demographic_eligible - & has_citizen + & immigration_eligible & income_eligible & resources_eligible ) From 1d07561997fe7edd8afb61bf1ea19703e485c5af Mon Sep 17 00:00:00 2001 From: Ziming Date: Thu, 22 Jan 2026 12:38:44 -0500 Subject: [PATCH 5/6] fix --- .../gov/states/wa/dshs/tanf/income/limit.yaml | 20 +-- .../wa/dshs/tanf/payment_standard/amount.yaml | 20 +-- .../benefit/wa_tanf_payment_standard.yaml | 28 +++++ .../eligibility/wa_tanf_income_eligible.yaml | 23 ++++ .../gov/states/wa/dshs/tanf/integration.yaml | 115 +++++++++++++++++- policyengine_us/tools/variables.py | 6 +- 6 files changed, 184 insertions(+), 28 deletions(-) diff --git a/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml b/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml index 81ce4017bfd..08e4ccc7d6f 100644 --- a/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml +++ b/policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml @@ -27,60 +27,60 @@ metadata: 1: 2016-02-01: 665 2018-07-01: 726 - 2021-12-01: 834 + 2021-07-01: 834 2024-01-01: 900 2024-08-01: 1_400 2: 2016-02-01: 839 2018-07-01: 918 - 2021-12-01: 1_056 + 2021-07-01: 1_056 2024-01-01: 1_140 2024-08-01: 1_640 3: 2016-02-01: 1_042 2018-07-01: 1_138 - 2021-12-01: 1_308 + 2021-07-01: 1_308 2024-01-01: 1_412 2024-08-01: 1_912 4: 2016-02-01: 1_225 2018-07-01: 1_340 - 2021-12-01: 1_542 + 2021-07-01: 1_542 2024-01-01: 1_666 2024-08-01: 2_166 5: 2016-02-01: 1_413 2018-07-01: 1_544 - 2021-12-01: 1_776 + 2021-07-01: 1_776 2024-01-01: 1_918 2024-08-01: 2_418 6: 2016-02-01: 1_604 2018-07-01: 1_754 - 2021-12-01: 2_018 + 2021-07-01: 2_018 2024-01-01: 2_180 2024-08-01: 2_680 7: 2016-02-01: 1_853 2018-07-01: 2_026 - 2021-12-01: 2_330 + 2021-07-01: 2_330 2024-01-01: 2_516 2024-08-01: 3_016 8: 2016-02-01: 2_051 2018-07-01: 2_242 - 2021-12-01: 2_578 + 2021-07-01: 2_578 2024-01-01: 2_784 2024-08-01: 3_284 9: 2016-02-01: 2_252 2018-07-01: 2_462 - 2021-12-01: 2_832 + 2021-07-01: 2_832 2024-01-01: 3_058 2024-08-01: 3_558 10: 2016-02-01: 2_448 2018-07-01: 2_676 - 2021-12-01: 3_078 + 2021-07-01: 3_078 2024-01-01: 3_324 2024-08-01: 3_824 diff --git a/policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml b/policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml index 27e0c82a020..9c524636efd 100644 --- a/policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml +++ b/policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml @@ -24,50 +24,50 @@ metadata: 1: 2016-02-01: 332 2018-07-01: 363 - 2021-12-01: 417 + 2021-07-01: 417 2024-01-01: 450 2: 2016-02-01: 420 2018-07-01: 459 - 2021-12-01: 528 + 2021-07-01: 528 2024-01-01: 570 3: 2016-02-01: 521 2018-07-01: 569 - 2021-12-01: 654 + 2021-07-01: 654 2024-01-01: 706 4: 2016-02-01: 613 2018-07-01: 670 - 2021-12-01: 771 + 2021-07-01: 771 2024-01-01: 833 5: 2016-02-01: 706 2018-07-01: 772 - 2021-12-01: 888 + 2021-07-01: 888 2024-01-01: 959 6: 2016-02-01: 802 2018-07-01: 877 - 2021-12-01: 1_009 + 2021-07-01: 1_009 2024-01-01: 1_090 7: 2016-02-01: 927 2018-07-01: 1_013 - 2021-12-01: 1_165 + 2021-07-01: 1_165 2024-01-01: 1_258 8: 2016-02-01: 1_026 2018-07-01: 1_121 - 2021-12-01: 1_289 + 2021-07-01: 1_289 2024-01-01: 1_392 9: 2016-02-01: 1_126 2018-07-01: 1_231 - 2021-12-01: 1_416 + 2021-07-01: 1_416 2024-01-01: 1_529 10: 2016-02-01: 1_224 2018-07-01: 1_338 - 2021-12-01: 1_539 + 2021-07-01: 1_539 2024-01-01: 1_662 diff --git a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml index 4f8b618be7c..f75443e974b 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml @@ -74,3 +74,31 @@ output: # Uses 2016-02-01 value (before 2018-07-01 update) wa_tanf_payment_standard: 1_224 + +# Historical tests - verify 2021 values apply in 2022 +- name: Case 10, family size 1 in 2022-01. + period: 2022-01 + input: + state_code: WA + spm_unit_size: 1 + output: + # Uses 2021-07-01 value (15% increase) + wa_tanf_payment_standard: 417 + +- name: Case 11, family size 3 in 2022-01. + period: 2022-01 + input: + state_code: WA + spm_unit_size: 3 + output: + # Uses 2021-07-01 value (15% increase) + wa_tanf_payment_standard: 654 + +- name: Case 12, family size 10 in 2022-01. + period: 2022-01 + input: + state_code: WA + spm_unit_size: 10 + output: + # Uses 2021-07-01 value (15% increase) + wa_tanf_payment_standard: 1_539 diff --git a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml index 1d8ab058edc..0c0bba89104 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml @@ -141,3 +141,26 @@ # Income limit for family of 3 in 2018-01: $1,042 # Gross earned: $1,043 > $1,042 wa_tanf_income_eligible: false + +# Historical tests - verify 2021-07 income limits (15% increase) +- name: Case 14, 2022-01 uses July 2021 income limits. + period: 2022-01 + input: + state_code: WA + spm_unit_size: 3 + tanf_gross_earned_income: 1_308 + output: + # Income limit for family of 3 in 2022-01: $1,308 (15% increase) + # Gross earned: $1,308 <= $1,308 + wa_tanf_income_eligible: true + +- name: Case 15, 2022-01 over July 2021 limit. + period: 2022-01 + input: + state_code: WA + spm_unit_size: 3 + tanf_gross_earned_income: 1_309 + output: + # Income limit for family of 3 in 2022-01: $1,308 + # Gross earned: $1,309 > $1,308 + wa_tanf_income_eligible: false diff --git a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml index c4cdd7d0982..a1ae214e363 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml @@ -439,10 +439,113 @@ wa_tanf_eligible: true wa_tanf: 559 +# Historical integration tests for 2022-01 period +# (50% disregard only, no $500 flat deduction, $6,000 resource limit) + +- name: Case 13, 2022-01 single parent with 2 children, no income. + period: 2022-01 + input: + people: + person1: + age: 30 + person2: + age: 5 + is_tax_unit_dependent: true + person3: + age: 3 + is_tax_unit_dependent: true + families: + family: + members: [person1, person2, person3] + spm_units: + spm_unit: + members: [person1, person2, person3] + tax_units: + tax_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: WA + output: + # 2021-07-01 payment standard for family of 3: $654 (15% increase, used in 2022-01) + wa_tanf_payment_standard: 654 + wa_tanf_countable_income: 0 + wa_tanf_eligible: true + wa_tanf: 654 + +- name: Case 14, 2022-01 single parent with 2 children, low earned income. + period: 2022-01 + input: + people: + person1: + age: 30 + employment_income_before_lsr: 6_000 + person2: + age: 5 + is_tax_unit_dependent: true + person3: + age: 3 + is_tax_unit_dependent: true + families: + family: + members: [person1, person2, person3] + spm_units: + spm_unit: + members: [person1, person2, person3] + tax_units: + tax_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: WA + output: + wa_tanf_payment_standard: 654 + # Monthly income: $6,000 / 12 = $500 + # Countable earned = $500 × 0.5 = $250 (no $500 flat disregard in 2022) + wa_tanf_countable_income: 250 + wa_tanf_eligible: true + wa_tanf: 404 + +- name: Case 15, 2022-01 single parent with 2 children, income at threshold. + period: 2022-01 + input: + people: + person1: + age: 30 + employment_income_before_lsr: 15_696 + person2: + age: 5 + is_tax_unit_dependent: true + person3: + age: 3 + is_tax_unit_dependent: true + families: + family: + members: [person1, person2, person3] + spm_units: + spm_unit: + members: [person1, person2, person3] + tax_units: + tax_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: WA + output: + wa_tanf_payment_standard: 654 + # Monthly income: $15,696 / 12 = $1,308 (at income limit) + # Countable earned = $1,308 × 0.5 = $654 + wa_tanf_countable_income: 654 + wa_tanf_eligible: true + wa_tanf: 0 + # Historical integration tests for 2018-01 period # (50% disregard only, no $500 flat deduction, $1,000 resource limit) -- name: Case 13, 2018-01 single parent with 2 children, no income. +- name: Case 16, 2018-01 single parent with 2 children, no income. period: 2018-01 input: people: @@ -474,7 +577,7 @@ wa_tanf_eligible: true wa_tanf: 521 -- name: Case 14, 2018-01 single parent with 2 children, low earned income. +- name: Case 17, 2018-01 single parent with 2 children, low earned income. period: 2018-01 input: people: @@ -508,7 +611,7 @@ wa_tanf_eligible: true wa_tanf: 271 -- name: Case 15, 2018-01 single parent with 2 children, income at threshold. +- name: Case 18, 2018-01 single parent with 2 children, income at threshold. period: 2018-01 input: people: @@ -545,7 +648,7 @@ # Historical integration tests for 2024-01 period # (50% disregard only, no $500 flat deduction, $6,000 resource limit) -- name: Case 16, 2024-01 single parent with 2 children, no income. +- name: Case 19, 2024-01 single parent with 2 children, no income. period: 2024-01 input: people: @@ -577,7 +680,7 @@ wa_tanf_eligible: true wa_tanf: 706 -- name: Case 17, 2024-01 single parent with 2 children, low earned income. +- name: Case 20, 2024-01 single parent with 2 children, low earned income. period: 2024-01 input: people: @@ -611,7 +714,7 @@ wa_tanf_eligible: true wa_tanf: 456 -- name: Case 18, 2024-01 single parent with 2 children, income at threshold. +- name: Case 21, 2024-01 single parent with 2 children, income at threshold. period: 2024-01 input: people: diff --git a/policyengine_us/tools/variables.py b/policyengine_us/tools/variables.py index 2ae0e45eb64..fe9805cec7d 100644 --- a/policyengine_us/tools/variables.py +++ b/policyengine_us/tools/variables.py @@ -13,7 +13,9 @@ def add_n(word): def print_variable_summary(variable_name: str): variable = variables.get(variable_name) - return Markdown(f""" + return Markdown( + f""" ## {variable.name} This variable models a{add_n(variable.entity.label)}**{variable.entity.label}**'s **{variable.label}**. - """) + """ + ) From 2763d1a49ba0b075ae222ee554947a6280962ab3 Mon Sep 17 00:00:00 2001 From: Ziming Date: Thu, 22 Jan 2026 12:41:05 -0500 Subject: [PATCH 6/6] format --- policyengine_us/tools/variables.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/policyengine_us/tools/variables.py b/policyengine_us/tools/variables.py index fe9805cec7d..2ae0e45eb64 100644 --- a/policyengine_us/tools/variables.py +++ b/policyengine_us/tools/variables.py @@ -13,9 +13,7 @@ def add_n(word): def print_variable_summary(variable_name: str): variable = variables.get(variable_name) - return Markdown( - f""" + return Markdown(f""" ## {variable.name} This variable models a{add_n(variable.entity.label)}**{variable.entity.label}**'s **{variable.label}**. - """ - ) + """)