From 5b251a6f4af0c11df85da09a92129c4805c66221 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 13 Feb 2026 16:04:27 -0800 Subject: [PATCH 01/16] Wire up all 39 state TANF programs, add takeup, remove reported short-circuit - Add `takes_up_tanf_if_eligible` variable (bool, SPMUnit, default True) - Wire all 39 implemented state TANF programs into tanf.py: 26 with standard naming ({st}_tanf) and 13 with program-specific names (ak_atap, ct_tfa, fl_tca, ia_fip, md_tca, mi_fip, mn_mfip, nj_wfnj, nm_works, ri_works, vt_reach_up, wi_works, wv_works) - Apply takeup in TANF formula: value * takes_up - Remove tanf_reported short-circuit that blocked reform microsimulations - Update tests for new behavior Companion to PolicyEngine/policyengine-us-data#536 which adds state-level TANF takeup rates to microdata construction. Closes #7400 Co-Authored-By: Claude Opus 4.6 --- changelog_entry.yaml | 4 ++ .../gov/hhs/tanf/cash/integration.yaml | 27 ++------ .../baseline/gov/hhs/tanf/cash/tanf.yaml | 30 ++++----- .../tanf/cash/takes_up_tanf_if_eligible.py | 9 +++ .../variables/gov/hhs/tanf/cash/tanf.py | 65 +++++++++++++++---- 5 files changed, 83 insertions(+), 52 deletions(-) create mode 100644 policyengine_us/variables/gov/hhs/tanf/cash/takes_up_tanf_if_eligible.py diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29bb2d..f30df143d57 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,4 @@ +- bump: minor + changes: + changed: + - Wire up all 39 state TANF programs, add takeup support, and remove tanf_reported short-circuit. diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/tanf/cash/integration.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/tanf/cash/integration.yaml index 23bb22cf9d6..2d2e71881c2 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/tanf/cash/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/tanf/cash/integration.yaml @@ -22,42 +22,25 @@ # CO TANF will be calculated - just check it's positive tanf: 6_540 # Actual CO TANF for family of 4 with low income -- name: Illinois family with reported TANF +- name: Takeup set to false zeroes TANF for eligible household period: 2023 input: people: parent: age: 30 - tanf_reported: 300 * 12 + employment_income: 500 * 12 child: age: 10 spm_units: spm_unit: members: [parent, child] + takes_up_tanf_if_eligible: false households: household: members: [parent, child] - state_code_str: IL - output: - tanf: 300 * 12 # Uses reported value - -- name: Florida family gets no TANF - period: 2023 - input: - people: - parent: - age: 30 - child: - age: 5 - spm_units: - spm_unit: - members: [parent, child] - households: - household: - members: [parent, child] - state_code_str: FL + state_code_str: CO output: - tanf: 0 # FL not implemented + tanf: 0 - name: DC family with no income period: 2023 diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/tanf/cash/tanf.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/tanf/cash/tanf.yaml index 6c77a72023f..abeed22e8a7 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/tanf/cash/tanf.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/tanf/cash/tanf.yaml @@ -1,28 +1,17 @@ -# Unit tests for tanf variable - testing only direct inputs +# Unit tests for tanf variable - name: TANF abolition parameter returns zero period: 2022 input: gov.hhs.tanf.abolish_tanf: true - tanf_reported: 500 ca_tanf: 300 co_tanf: 200 output: tanf: 0 -- name: TANF reported is used when positive +- name: State TANF values are summed period: 2022 input: - tanf_reported: 200 - ca_tanf: 100 - co_tanf: 50 - output: - tanf: 200 - -- name: State TANF values are summed when no reported value - period: 2022 - input: - tanf_reported: 0 ca_tanf: 150 co_tanf: 100 dc_tanf: 75 @@ -30,10 +19,9 @@ output: tanf: 450 -- name: Zero TANF when no state programs and no reported value +- name: Zero TANF when no state programs calculate a benefit period: 2022 input: - tanf_reported: 0 ca_tanf: 0 co_tanf: 0 dc_tanf: 0 @@ -41,10 +29,18 @@ output: tanf: 0 -- name: Only positive reported TANF overrides state values +- name: Takeup set to false zeroes out TANF + period: 2022 + input: + takes_up_tanf_if_eligible: false + ca_tanf: 500 + ny_tanf: 300 + output: + tanf: 0 + +- name: Takeup defaults to true period: 2022 input: - tanf_reported: 0 ca_tanf: 100 ny_tanf: 200 output: diff --git a/policyengine_us/variables/gov/hhs/tanf/cash/takes_up_tanf_if_eligible.py b/policyengine_us/variables/gov/hhs/tanf/cash/takes_up_tanf_if_eligible.py new file mode 100644 index 00000000000..91da4dc060e --- /dev/null +++ b/policyengine_us/variables/gov/hhs/tanf/cash/takes_up_tanf_if_eligible.py @@ -0,0 +1,9 @@ +from policyengine_us.model_api import * + + +class takes_up_tanf_if_eligible(Variable): + value_type = bool + entity = SPMUnit + label = "Whether an eligible SPM unit takes up TANF" + definition_period = YEAR + default_value = True diff --git a/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py b/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py index 71a37c4c1fd..ecb401ff3ba 100644 --- a/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py +++ b/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py @@ -1,14 +1,61 @@ from policyengine_us.model_api import * +# All implemented state TANF programs. +# Most use {st}_tanf naming; some states have their own program names. +STATE_TANF_VARIABLES = [ + # Standard {st}_tanf naming (26 states) + "al_tanf", + "az_tanf", + "ca_tanf", + "co_tanf", + "dc_tanf", + "de_tanf", + "ga_tanf", + "hi_tanf", + "il_tanf", + "in_tanf", + "ks_tanf", + "me_tanf", + "mo_tanf", + "ms_tanf", + "nc_tanf", + "nd_tanf", + "nv_tanf", + "ny_tanf", + "ok_tanf", + "or_tanf", + "pa_tanf", + "sc_tanf", + "sd_tanf", + "tx_tanf", + "va_tanf", + "wa_tanf", + # Non-standard program names (13 states) + "ak_atap", # Alaska Temporary Assistance Program + "ct_tfa", # Connecticut Temporary Family Assistance + "fl_tca", # Florida Temporary Cash Assistance + "ia_fip", # Iowa Family Investment Program + "md_tca", # Maryland Temporary Cash Assistance + "mi_fip", # Michigan Family Independence Program + "mn_mfip", # Minnesota Family Investment Program + "nj_wfnj", # New Jersey WorkFirst New Jersey + "nm_works", # New Mexico Works + "ri_works", # Rhode Island Works + "vt_reach_up", # Vermont Reach Up + "wi_works", # Wisconsin Works (W-2) + "wv_works", # West Virginia Works +] + + class tanf(Variable): value_type = float entity = SPMUnit definition_period = YEAR label = "TANF" documentation = ( - "Value of Temporary Assistance for Needy Families benefit received, " - "summing all state-specific TANF programs." + "Value of Temporary Assistance for Needy Families benefit " + "received, summing all state-specific TANF programs." ) unit = USD @@ -17,14 +64,6 @@ def formula(spm_unit, period, parameters): if p.abolish_tanf: return 0 - # Use reported TANF if available - tanf_reported = add(spm_unit, period, ["tanf_reported"]) - if tanf_reported.sum() > 0: - return tanf_reported - - # Sum all state TANF programs - # Each state has its own implementation in the states/ folder - STATES_WITH_TANF = ["ca", "co", "dc", "ny"] - return add( - spm_unit, period, [f"{state}_tanf" for state in STATES_WITH_TANF] - ) + takes_up = spm_unit("takes_up_tanf_if_eligible", period) + value = add(spm_unit, period, STATE_TANF_VARIABLES) + return value * takes_up From 0fb439becb3ad118364d577570ca931db0460f4a Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 13 Feb 2026 16:30:05 -0800 Subject: [PATCH 02/16] Improve documentation string wrapping Co-Authored-By: Claude Opus 4.6 --- policyengine_us/variables/gov/hhs/tanf/cash/tanf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py b/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py index ecb401ff3ba..d17a3813036 100644 --- a/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py +++ b/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py @@ -54,8 +54,8 @@ class tanf(Variable): definition_period = YEAR label = "TANF" documentation = ( - "Value of Temporary Assistance for Needy Families benefit " - "received, summing all state-specific TANF programs." + "Value of Temporary Assistance for Needy Families benefit received, " + "summing all state-specific TANF programs." ) unit = USD From d1f73d12806010717ed39da38bd2ecb9410a77dc Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 14 Feb 2026 14:24:34 -0800 Subject: [PATCH 03/16] Remove fl_tca from STATE_TANF_VARIABLES to fix circular dependency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit FL TCA's payment standard depends on housing_cost, which cycles back through rent → housing_assistance → hud_annual_income → tanf. Co-Authored-By: Claude Opus 4.6 --- policyengine_us/variables/gov/hhs/tanf/cash/tanf.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py b/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py index d17a3813036..198528eb46a 100644 --- a/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py +++ b/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py @@ -1,6 +1,5 @@ from policyengine_us.model_api import * - # All implemented state TANF programs. # Most use {st}_tanf naming; some states have their own program names. STATE_TANF_VARIABLES = [ @@ -34,7 +33,7 @@ # Non-standard program names (13 states) "ak_atap", # Alaska Temporary Assistance Program "ct_tfa", # Connecticut Temporary Family Assistance - "fl_tca", # Florida Temporary Cash Assistance + # "fl_tca" excluded: circular dependency via housing_cost → tanf "ia_fip", # Iowa Family Investment Program "md_tca", # Maryland Temporary Cash Assistance "mi_fip", # Michigan Family Independence Program From 2f7709a438b1f6656dfced7c6370d50ec3ec917a Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 14 Feb 2026 15:47:08 -0800 Subject: [PATCH 04/16] Fix FL TCA circular dependency using pre-subsidy shelter cost FL TCA payment standard now uses pre_subsidy_rent instead of housing_cost, avoiding the cycle: tanf -> fl_tca -> housing_cost -> rent -> housing_assistance -> hud_annual_income -> tanf. This is more accurate: TANF agencies assess shelter obligation based on what applicants owe, not the net amount after housing subsidies from a separate agency. Co-Authored-By: Claude Opus 4.6 --- .../variables/gov/hhs/tanf/cash/tanf.py | 2 +- .../states/fl/dcf/tanf/fl_tca_payment_standard.py | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py b/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py index 198528eb46a..e1e796fd808 100644 --- a/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py +++ b/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py @@ -33,7 +33,7 @@ # Non-standard program names (13 states) "ak_atap", # Alaska Temporary Assistance Program "ct_tfa", # Connecticut Temporary Family Assistance - # "fl_tca" excluded: circular dependency via housing_cost → tanf + "fl_tca", # Florida Temporary Cash Assistance "ia_fip", # Iowa Family Investment Program "md_tca", # Maryland Temporary Cash Assistance "mi_fip", # Michigan Family Independence Program diff --git a/policyengine_us/variables/gov/states/fl/dcf/tanf/fl_tca_payment_standard.py b/policyengine_us/variables/gov/states/fl/dcf/tanf/fl_tca_payment_standard.py index 79bafe25693..5e13b2920d9 100644 --- a/policyengine_us/variables/gov/states/fl/dcf/tanf/fl_tca_payment_standard.py +++ b/policyengine_us/variables/gov/states/fl/dcf/tanf/fl_tca_payment_standard.py @@ -16,9 +16,22 @@ class fl_tca_payment_standard(Variable): def formula(spm_unit, period, parameters): # Per Florida Statutes 414.095(10): Payment based on shelter tier # Per FAC 65A-4.220(2)(b): Shelter obligation = responsibility to pay for cost of housing + # Uses pre-subsidy rent to avoid circular dependency: + # tanf -> fl_tca -> housing_cost -> rent -> housing_assistance -> hud_annual_income -> tanf p = parameters(period).gov.states.fl.dcf.tanf - monthly_shelter = spm_unit("housing_cost", period) + pre_subsidy_rent = add(spm_unit, period, ["pre_subsidy_rent"]) + other_housing = add( + spm_unit, + period, + [ + "real_estate_taxes", + "homeowners_association_fees", + "mortgage_payments", + "homeowners_insurance", + ], + ) + monthly_shelter = pre_subsidy_rent + other_housing # Determine unit size, capped at max in parameter table size = spm_unit("spm_unit_size", period.this_year) From b93eb45fad7222d3143766569cd90d220553aa88 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 14 Feb 2026 15:54:43 -0800 Subject: [PATCH 05/16] Update FL TCA tests to use pre_subsidy_rent All FL TCA tests now use pre_subsidy_rent instead of rent/housing_cost, matching the formula change in fl_tca_payment_standard. Co-Authored-By: Claude Opus 4.6 --- .../gov/states/fl/dcf/tanf/fl_tca.yaml | 10 ++--- .../states/fl/dcf/tanf/fl_tca_eligible.yaml | 14 +++---- .../dcf/tanf/fl_tca_net_income_eligible.yaml | 8 ++-- .../fl/dcf/tanf/fl_tca_payment_standard.yaml | 22 +++++------ .../gov/states/fl/dcf/tanf/integration.yaml | 38 +++++++++---------- 5 files changed, 46 insertions(+), 46 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca.yaml b/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca.yaml index 6bea0d4964e..652153c950d 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca.yaml @@ -12,7 +12,7 @@ person1: age: 30 social_security: 2_760 # $230/month annual - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -35,7 +35,7 @@ person1: age: 30 social_security: 2_880 # $240/month annual - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -57,7 +57,7 @@ people: person1: age: 35 - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 33 person3: @@ -102,7 +102,7 @@ person1: age: 30 social_security: 2_892 # $241/month annual - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -125,7 +125,7 @@ person1: age: 30 social_security: 3_600 # $300/month annual - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: diff --git a/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca_eligible.yaml index 9e8770f4316..24ddfe0328b 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca_eligible.yaml @@ -8,7 +8,7 @@ people: person1: age: 30 - rent: 12_000 # $1,000/month + pre_subsidy_rent: 12_000 # $1,000/month person2: age: 10 spm_units: @@ -30,7 +30,7 @@ person1: age: 30 employment_income_before_lsr: 12_000 # $1,000/month - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -53,7 +53,7 @@ person1: age: 30 employment_income_before_lsr: 48_000 # $4,000/month - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -73,7 +73,7 @@ people: person1: age: 30 - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -96,7 +96,7 @@ person1: age: 30 employment_income_before_lsr: 6_000 # $500/month - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -118,7 +118,7 @@ person1: age: 30 employment_income_before_lsr: 12_000 # $1,000/month - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 person3: @@ -144,7 +144,7 @@ people: person1: age: 30 - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 28 spm_units: diff --git a/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca_net_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca_net_income_eligible.yaml index 0981301af24..7b1bb940fda 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca_net_income_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca_net_income_eligible.yaml @@ -10,7 +10,7 @@ people: person1: age: 30 - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -30,7 +30,7 @@ person1: age: 30 social_security: 2_880 # $240/month - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -50,7 +50,7 @@ person1: age: 30 social_security: 2_892 # $241/month - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -70,7 +70,7 @@ person1: age: 30 social_security: 2_904 # $242/month - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: diff --git a/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca_payment_standard.yaml b/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca_payment_standard.yaml index 795a4cd6031..3a37cf87049 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca_payment_standard.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/fl_tca_payment_standard.yaml @@ -6,7 +6,7 @@ period: 2024-01 input: spm_unit_size: 1 - housing_cost: 0 + pre_subsidy_rent: 0 state_code: FL output: fl_tca_payment_standard: 95 @@ -15,7 +15,7 @@ period: 2024-01 input: spm_unit_size: 1 - housing_cost: 300 # $25/month + pre_subsidy_rent: 300 # $25/month state_code: FL output: fl_tca_payment_standard: 153 @@ -24,7 +24,7 @@ period: 2024-01 input: spm_unit_size: 1 - housing_cost: 12_000 + pre_subsidy_rent: 12_000 state_code: FL output: fl_tca_payment_standard: 180 @@ -33,7 +33,7 @@ period: 2024-01 input: spm_unit_size: 2 - housing_cost: 0 + pre_subsidy_rent: 0 state_code: FL output: fl_tca_payment_standard: 158 @@ -42,7 +42,7 @@ period: 2024-01 input: spm_unit_size: 2 - housing_cost: 600 # $50/month (boundary) + pre_subsidy_rent: 600 # $50/month (boundary) state_code: FL output: fl_tca_payment_standard: 205 @@ -51,7 +51,7 @@ period: 2024-01 input: spm_unit_size: 2 - housing_cost: 612 # $51/month (just above boundary) + pre_subsidy_rent: 612 # $51/month (just above boundary) state_code: FL output: fl_tca_payment_standard: 241 @@ -60,7 +60,7 @@ period: 2024-01 input: spm_unit_size: 3 - housing_cost: 0 + pre_subsidy_rent: 0 state_code: FL output: fl_tca_payment_standard: 198 @@ -69,7 +69,7 @@ period: 2024-01 input: spm_unit_size: 3 - housing_cost: 300 + pre_subsidy_rent: 300 state_code: FL output: fl_tca_payment_standard: 258 @@ -78,7 +78,7 @@ period: 2024-01 input: spm_unit_size: 3 - housing_cost: 12_000 + pre_subsidy_rent: 12_000 state_code: FL output: fl_tca_payment_standard: 303 @@ -87,7 +87,7 @@ period: 2024-01 input: spm_unit_size: 14 - housing_cost: 12_000 + pre_subsidy_rent: 12_000 state_code: FL output: fl_tca_payment_standard: 919 @@ -96,7 +96,7 @@ period: 2024-01 input: spm_unit_size: 2 - housing_cost: 12 # $1/month + pre_subsidy_rent: 12 # $1/month state_code: FL output: fl_tca_payment_standard: 205 diff --git a/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/integration.yaml index 59db65f7eed..1512c85528b 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/fl/dcf/tanf/integration.yaml @@ -17,7 +17,7 @@ person1: age: 30 employment_income_before_lsr: 0 - rent: 12_000 # $1,000/month (>$50 shelter tier) + pre_subsidy_rent: 12_000 # $1,000/month (>$50 shelter tier) person2: age: 10 spm_units: @@ -54,7 +54,7 @@ person1: age: 30 employment_income_before_lsr: 6_000 # $500/month - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 8 spm_units: @@ -90,7 +90,7 @@ people: person1: age: 30 - rent: 0 # Zero shelter tier + pre_subsidy_rent: 0 # Zero shelter tier person2: age: 10 person3: @@ -117,7 +117,7 @@ people: person1: age: 30 - rent: 300 # $25/month ($1-$50 shelter tier) + pre_subsidy_rent: 300 # $25/month ($1-$50 shelter tier) person2: age: 10 person3: @@ -144,7 +144,7 @@ people: person1: age: 30 - rent: 1_200 # $100/month (>$50 shelter tier) + pre_subsidy_rent: 1_200 # $100/month (>$50 shelter tier) person2: age: 10 person3: @@ -172,7 +172,7 @@ person1: age: 30 employment_income_before_lsr: 12_000 # $1,000/month - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -208,7 +208,7 @@ person1: age: 30 employment_income_before_lsr: 48_000 # $4,000/month - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -236,7 +236,7 @@ person1: age: 30 social_security: 2_820 # $235/month annual # Unearned income - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -265,7 +265,7 @@ person1: age: 35 employment_income_before_lsr: 3_600 # $300/month - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 32 person3: @@ -301,7 +301,7 @@ age: 30 employment_income_before_lsr: 4_800 # $400/month social_security: 2_400 # $200/month annual - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 person3: @@ -333,7 +333,7 @@ people: person1: age: 35 - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 12 person3: @@ -369,7 +369,7 @@ person1: age: 30 employment_income_before_lsr: 2_400 # $200/month exactly - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -398,7 +398,7 @@ people: person1: age: 30 - rent: 600 # $50/month exactly + pre_subsidy_rent: 600 # $50/month exactly person2: age: 10 spm_units: @@ -423,7 +423,7 @@ people: person1: age: 30 - rent: 612 # $51/month + pre_subsidy_rent: 612 # $51/month person2: age: 10 spm_units: @@ -449,7 +449,7 @@ person1: age: 30 social_security: 2_772 # $231/month annual - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -477,7 +477,7 @@ person1: age: 30 social_security: 2_784 # $232/month annual - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -504,7 +504,7 @@ person1: age: 35 employment_income_before_lsr: 3_600 # $300/month - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 33 employment_income_before_lsr: 2_400 # $200/month @@ -538,7 +538,7 @@ person1: age: 30 employment_income_before_lsr: 3_600 # $300/month - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: @@ -568,7 +568,7 @@ people: person1: age: 30 - rent: 12_000 + pre_subsidy_rent: 12_000 person2: age: 10 spm_units: From 8088250418f28a715a4eae31e22d6007f6618a86 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 15 Feb 2026 18:47:42 -0800 Subject: [PATCH 06/16] Fix AZ TANF circular dependency using pre-subsidy shelter cost Same pattern as FL TCA fix: use pre_subsidy_rent + other housing components instead of housing_cost to break the cycle tanf -> az_tanf -> housing_cost -> rent -> housing_assistance -> hud_annual_income -> tanf. Co-Authored-By: Claude Opus 4.6 --- .../gov/states/az/hhs/tanf/az_tanf.yaml | 12 ++++------ .../states/az/hhs/tanf/az_tanf_eligible.yaml | 20 ++++++++-------- .../az/hhs/tanf/az_tanf_income_eligible.yaml | 9 ++++---- .../az/hhs/tanf/az_tanf_payment_standard.yaml | 10 ++++---- .../gov/states/az/hhs/tanf/integration.yaml | 23 +++++++++---------- .../eligibility/az_tanf_payment_standard.py | 17 ++++++++++++-- 6 files changed, 49 insertions(+), 42 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf.yaml b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf.yaml index 55f3c7caca1..40b6b156cac 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf.yaml @@ -12,13 +12,13 @@ employment_income_before_lsr: 0 is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] spm_unit_assets: 1_000 - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -43,13 +43,13 @@ employment_income_before_lsr: 3_600 # $300/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] spm_unit_assets: 1_000 - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -72,13 +72,13 @@ employment_income_before_lsr: 24_000 # $2,000/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] spm_unit_assets: 1_000 - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -100,6 +100,7 @@ employment_income_before_lsr: 0 is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 7_200 person2: age: 5 person3: @@ -108,7 +109,6 @@ spm_unit: members: [person1, person2, person3] spm_unit_assets: 1_000 - housing_cost: 600 tax_units: tax_unit: members: [person1, person2, person3] @@ -134,13 +134,13 @@ child_support_received: 1_200 # $100/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] spm_unit_assets: 1_000 - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -170,7 +170,6 @@ spm_unit: members: [person1, person2] spm_unit_assets: 1_000 - housing_cost: 0 tax_units: tax_unit: members: [person1, person2] @@ -202,7 +201,6 @@ spm_unit: members: [person1, person2] spm_unit_assets: 1_000 - housing_cost: 0 # A2 lower standard tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_eligible.yaml index aa4972efb8d..c102917fa5a 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_eligible.yaml @@ -11,13 +11,13 @@ employment_income_before_lsr: 0 is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] spm_unit_assets: 1_000 - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -36,11 +36,11 @@ age: 30 employment_income_before_lsr: 0 is_tax_unit_head: true + pre_subsidy_rent: 6_000 spm_units: spm_unit: members: [person1] spm_unit_assets: 1_000 - housing_cost: 500 tax_units: tax_unit: members: [person1] @@ -61,13 +61,13 @@ employment_income_before_lsr: 24_000 # $2,000/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] spm_unit_assets: 1_000 - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -91,13 +91,13 @@ employment_income_before_lsr: 0 is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] spm_unit_assets: 3_000 - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -118,11 +118,11 @@ employment_income_before_lsr: 0 is_tax_unit_head: true is_pregnant: true + pre_subsidy_rent: 4_800 spm_units: spm_unit: members: [person1] spm_unit_assets: 500 - housing_cost: 400 tax_units: tax_unit: members: [person1] @@ -143,6 +143,7 @@ employment_income_before_lsr: 3_600 # $300/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 7_200 person2: age: 5 person3: @@ -151,7 +152,6 @@ spm_unit: members: [person1, person2, person3] spm_unit_assets: 1_500 - housing_cost: 600 tax_units: tax_unit: members: [person1, person2, person3] @@ -176,6 +176,7 @@ is_tax_unit_head: true own_children_in_household: 1 immigration_status: UNDOCUMENTED + pre_subsidy_rent: 6_000 person2: age: 5 immigration_status: UNDOCUMENTED @@ -183,7 +184,6 @@ spm_unit: members: [person1, person2] spm_unit_assets: 1_000 - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -205,13 +205,13 @@ is_tax_unit_head: true own_children_in_household: 1 immigration_status: LEGAL_PERMANENT_RESIDENT + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] spm_unit_assets: 1_000 - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -232,13 +232,13 @@ employment_income_before_lsr: 0 is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] spm_unit_assets: 2_000 # Exactly at $2,000 limit - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -259,13 +259,13 @@ employment_income_before_lsr: 0 is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] spm_unit_assets: 2_001 # $1 over limit - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_income_eligible.yaml index 8f442513d20..65c74b73650 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_income_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_income_eligible.yaml @@ -12,12 +12,12 @@ employment_income_before_lsr: 0 is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -38,12 +38,12 @@ employment_income_before_lsr: 3_600 # $300/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -68,12 +68,12 @@ employment_income_before_lsr: 9_600 # $800/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -101,7 +101,6 @@ spm_units: spm_unit: members: [person1, person2] - housing_cost: 0 tax_units: tax_unit: members: [person1, person2] @@ -125,6 +124,7 @@ child_support_received: 600 # $50/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 7_200 person2: age: 5 person3: @@ -132,7 +132,6 @@ spm_units: spm_unit: members: [person1, person2, person3] - housing_cost: 600 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_payment_standard.yaml b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_payment_standard.yaml index 690c678035f..95d6d85d812 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_payment_standard.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_payment_standard.yaml @@ -10,12 +10,12 @@ people: person1: age: 30 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] - housing_cost: 500 # $500/month rent households: household: members: [person1, person2] @@ -39,7 +39,6 @@ spm_units: spm_unit: members: [person1, person2] - housing_cost: 0 households: household: members: [person1, person2] @@ -58,6 +57,7 @@ people: person1: age: 30 + pre_subsidy_rent: 7_200 person2: age: 5 person3: @@ -65,7 +65,6 @@ spm_units: spm_unit: members: [person1, person2, person3] - housing_cost: 600 households: household: members: [person1, person2, person3] @@ -91,7 +90,6 @@ spm_units: spm_unit: members: [person1, person2, person3] - housing_cost: 0 households: household: members: [person1, person2, person3] @@ -110,6 +108,7 @@ people: person1: age: 30 + pre_subsidy_rent: 8_400 person2: age: 5 person3: @@ -119,7 +118,6 @@ spm_units: spm_unit: members: [person1, person2, person3, person4] - housing_cost: 700 households: household: members: [person1, person2, person3, person4] @@ -138,6 +136,7 @@ people: person1: age: 30 + pre_subsidy_rent: 9_600 person2: age: 28 person3: @@ -149,7 +148,6 @@ spm_units: spm_unit: members: [person1, person2, person3, person4, person5] - housing_cost: 800 households: household: members: [person1, person2, person3, person4, person5] diff --git a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/integration.yaml index 0fec6153a97..c44feb91867 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/integration.yaml @@ -20,6 +20,7 @@ employment_income_before_lsr: 0 is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 7_200 person2: age: 5 person3: @@ -28,7 +29,6 @@ spm_unit: members: [person1, person2, person3] spm_unit_assets: 1_000 - housing_cost: 600 tax_units: tax_unit: members: [person1, person2, person3] @@ -66,6 +66,7 @@ employment_income_before_lsr: 6_000 # $500/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_600 person2: age: 4 person3: @@ -74,7 +75,6 @@ spm_unit: members: [person1, person2, person3] spm_unit_assets: 500 - housing_cost: 550 tax_units: tax_unit: members: [person1, person2, person3] @@ -110,6 +110,7 @@ employment_income_before_lsr: 6_000 # $500/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 4_800 person2: age: 1 is_child: true @@ -117,7 +118,6 @@ spm_unit: members: [person1, person2] spm_unit_assets: 800 - housing_cost: 400 childcare_expenses: 3_600 # $300/month annual tax_units: tax_unit: @@ -160,13 +160,13 @@ employment_income_before_lsr: 9_600 # $800/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 7 spm_units: spm_unit: members: [person1, person2] spm_unit_assets: 1_200 - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -200,13 +200,13 @@ employment_income_before_lsr: 0 is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 6_000 person2: age: 5 spm_units: spm_unit: members: [person1, person2] spm_unit_assets: 3_000 # Exceeds $2,000 limit - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -232,13 +232,13 @@ child_support_received: 1_200 # $100/month annual unearned is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 5_400 person2: age: 4 spm_units: spm_unit: members: [person1, person2] spm_unit_assets: 1_000 - housing_cost: 450 tax_units: tax_unit: members: [person1, person2] @@ -276,6 +276,7 @@ employment_income_before_lsr: 4_800 # $400/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 9_600 person2: age: 36 own_children_in_household: 1 @@ -289,7 +290,6 @@ spm_unit: members: [person1, person2, person3, person4, person5] spm_unit_assets: 1_500 - housing_cost: 800 tax_units: tax_unit: members: [person1, person2, person3, person4, person5] @@ -328,6 +328,7 @@ employment_income_before_lsr: 6_000 # $500/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 8_400 person2: age: 28 employment_income_before_lsr: 4_800 # $400/month annual @@ -342,7 +343,6 @@ spm_unit: members: [person1, person2, person3, person4] spm_unit_assets: 1_200 - housing_cost: 700 childcare_expenses: 6_000 # $500/month annual tax_units: tax_unit: @@ -395,7 +395,6 @@ spm_unit: members: [person1, person2, person3] spm_unit_assets: 500 - housing_cost: 0 # No shelter costs tax_units: tax_unit: members: [person1, person2, person3] @@ -435,6 +434,7 @@ employment_income_before_lsr: 0 is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 7_200 person2: age: 5 person3: @@ -443,7 +443,6 @@ spm_unit: members: [person1, person2, person3] spm_unit_assets: 1_000 - housing_cost: 600 tax_units: tax_unit: members: [person1, person2, person3] @@ -480,6 +479,7 @@ employment_income_before_lsr: 3_600 # $300/month annual is_tax_unit_head: true own_children_in_household: 0 # Not the parent + pre_subsidy_rent: 6_000 person2: age: 8 is_child: true @@ -487,7 +487,6 @@ spm_unit: members: [person1, person2] spm_unit_assets: 1_500 - housing_cost: 500 tax_units: tax_unit: members: [person1, person2] @@ -529,6 +528,7 @@ employment_income_before_lsr: 3_600 # $300/month annual is_tax_unit_head: true own_children_in_household: 1 + pre_subsidy_rent: 10_800 person2: age: 38 own_children_in_household: 1 @@ -544,7 +544,6 @@ spm_unit: members: [person1, person2, person3, person4, person5, person6] spm_unit_assets: 1_800 - housing_cost: 900 tax_units: tax_unit: members: [person1, person2, person3, person4, person5, person6] diff --git a/policyengine_us/variables/gov/states/az/hhs/tanf/eligibility/az_tanf_payment_standard.py b/policyengine_us/variables/gov/states/az/hhs/tanf/eligibility/az_tanf_payment_standard.py index bac168724e1..6609de8dd57 100644 --- a/policyengine_us/variables/gov/states/az/hhs/tanf/eligibility/az_tanf_payment_standard.py +++ b/policyengine_us/variables/gov/states/az/hhs/tanf/eligibility/az_tanf_payment_standard.py @@ -24,8 +24,21 @@ def formula(spm_unit, period, parameters): base_standard = p.rate * monthly_fpg_baseline # A2 = A1 reduced by 37% for those without shelter costs per A.R.S. § 46-207 - shelter_cost = spm_unit("housing_cost", period) - has_shelter_costs = shelter_cost > 0 + # Uses pre-subsidy rent to avoid circular dependency: + # tanf -> az_tanf -> housing_cost -> rent -> housing_assistance + # -> hud_annual_income -> tanf + pre_subsidy_rent = add(spm_unit, period, ["pre_subsidy_rent"]) + other_housing = add( + spm_unit, + period, + [ + "real_estate_taxes", + "homeowners_association_fees", + "mortgage_payments", + "homeowners_insurance", + ], + ) + has_shelter_costs = (pre_subsidy_rent + other_housing) > 0 reduced_standard = base_standard * (1 - p.reduction) From 899b3a2f36541188f06df84d93b3d2eb150a074a Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 15 Feb 2026 19:31:40 -0800 Subject: [PATCH 07/16] Update ECPA test to suppress TANF benefits The baseline test used FL because it had no TANF implementation, but now that fl_tca is wired up, this household receives TANF. Set takes_up_tanf_if_eligible to false since this test is about ECPA, not TANF. Co-Authored-By: Claude Opus 4.6 --- .../congress/tlaib/end_child_poverty_act/integration.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/policyengine_us/tests/policy/contrib/congress/tlaib/end_child_poverty_act/integration.yaml b/policyengine_us/tests/policy/contrib/congress/tlaib/end_child_poverty_act/integration.yaml index 40a492459f6..efcb2a02a04 100644 --- a/policyengine_us/tests/policy/contrib/congress/tlaib/end_child_poverty_act/integration.yaml +++ b/policyengine_us/tests/policy/contrib/congress/tlaib/end_child_poverty_act/integration.yaml @@ -86,10 +86,11 @@ free_school_meals: 0 snap: 0 ca_capi: 0 + takes_up_tanf_if_eligible: false households: household: members: [head, child_1, child_2] - state_code_str: FL # Florida has no TANF implementation + state_code_str: FL output: non_refundable_ctc: 800 household_benefits: 0 From 3dceadde0565f1ea9a4c6f13c840ca79eec84863 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 15 Feb 2026 19:55:37 -0800 Subject: [PATCH 08/16] Suppress TANF in MI home heating credit test MI household resources includes tanf. Now that mi_fip is wired up, this family receives TANF which increases their household resources and changes the home heating credit. Suppress TANF since this test is about the home heating credit, not TANF. Co-Authored-By: Claude Opus 4.6 --- .../mi/tax/income/credits/home_heating/integration.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/home_heating/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/home_heating/integration.yaml index dc208bbec38..0c769f9cfa8 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/home_heating/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/home_heating/integration.yaml @@ -97,6 +97,10 @@ person6: age: 4 employment_income: 0 + spm_units: + spm_unit: + members: [person1, person2, person3, person4, person5, person6] + takes_up_tanf_if_eligible: false tax_units: tax_unit: # heating_expenses: 1_000 From ee96605c3872edc0f03eae8ad30fc679622efdf2 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 15 Feb 2026 21:07:52 -0800 Subject: [PATCH 09/16] Fix childcare and housing circular dependencies in 22 state TANF programs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed 22 state TANF childcare deduction formulas to use spm_unit_pre_subsidy_childcare_expenses instead of childcare_expenses, breaking the cycle: TANF → childcare_expenses → childcare subsidies → SNAP → tanf. Also fixed VT Reach Up housing allowance to use pre_subsidy_rent instead of housing_cost, breaking the same type of cycle as FL TCA and AZ TANF. States affected (childcare): AL, AK, AZ, DC, DE, GA, HI, IL, KY, MD, ME, MN, MO, NH, NM, OK, RI, TN, TX, VA, VT, WV States affected (housing): VT Co-Authored-By: Claude Opus 4.6 --- .../dpa/atap/ak_atap_childcare_deduction.yaml | 12 ++++++++++- .../gov/states/al/dhs/tanf/al_tanf.yaml | 2 ++ .../tanf/al_tanf_countable_earned_income.yaml | 3 +++ .../states/al/dhs/tanf/al_tanf_eligible.yaml | 1 + .../al/dhs/tanf/al_tanf_income_eligible.yaml | 1 + .../gov/states/al/dhs/tanf/integration.yaml | 2 ++ .../tanf/az_tanf_countable_earned_income.yaml | 2 ++ .../az/hhs/tanf/az_tanf_countable_income.yaml | 1 + .../az_tanf_dependent_care_deduction.yaml | 6 ++++++ .../gov/states/az/hhs/tanf/integration.yaml | 2 ++ .../income/dc_tanf_childcare_deduction.yaml | 13 ++++++++---- .../gov/states/dc/dhs/tanf/integration.yaml | 3 +++ .../de_tanf_countable_earned_income.yaml | 2 ++ .../de_tanf_dependent_care_deduction.yaml | 10 +++++++++ .../earned/de_tanf_net_earned_income.yaml | 1 + .../gov/states/de/dhss/tanf/integration.yaml | 3 +++ .../eligibility/ga_tanf_income_eligible.yaml | 1 + .../income/ga_tanf_childcare_deduction.yaml | 13 ++++++++++++ .../tanf/income/ga_tanf_countable_income.yaml | 3 +++ .../gov/states/ga/dfcs/tanf/integration.yaml | 2 ++ .../tanf/hi_tanf_countable_earned_income.yaml | 3 +++ .../hi_tanf_dependent_care_deduction.yaml | 11 ++++++++++ .../gov/states/hi/dhs/tanf/integration.yaml | 1 + .../gov/states/il/dhs/tanf/il_tanf.yaml | 3 +++ .../il_tanf_childcare_deduction.yaml | 9 +++++--- ...e_earned_income_for_grant_calculation.yaml | 1 + ...earned_income_for_initial_eligibility.yaml | 1 + .../ky_ktap_dependent_care_disregard.yaml | 7 +++++++ .../md_tca_childcare_deduction.yaml | 10 +++++++++ .../gov/states/md/tca/integration.yaml | 5 +++++ .../gov/states/me/dhhs/tanf/integration.yaml | 7 +++++++ .../tanf/me_tanf_child_care_deduction.yaml | 5 +++++ ...untable_earned_income_for_eligibility.yaml | 3 +++ .../mn_mfip_dependent_care_deduction.yaml | 3 +++ .../tanf/mo_tanf_child_care_deduction.yaml | 9 ++++++++ .../gov/states/nh/dhhs/fanf/integration.yaml | 3 +++ .../fanf/nh_fanf_child_care_deduction.yaml | 11 ++++++++++ .../fanf/nh_fanf_countable_earned_income.yaml | 4 ++++ .../income/nm_works_childcare_deduction.yaml | 14 +++++++++++++ .../nm_works_countable_earned_income.yaml | 2 ++ .../states/nm/hca/nm_works/integration.yaml | 3 +++ .../ok_tanf_dependent_care_deduction.yaml | 5 +++++ .../gov/states/ri/dhs/works/integration.yaml | 1 + .../ri_works_countable_earned_income.yaml | 2 ++ .../ri_works_dependent_care_deduction.yaml | 9 ++++++++ .../ff/eligibility/tn_ff_income_eligible.yaml | 1 + .../ff/income/tn_ff_child_care_deduction.yaml | 8 +++++++ .../gov/states/tn/dhs/ff/integration.yaml | 1 + .../baseline/gov/states/tn/dhs/ff/tn_ff.yaml | 6 ++++++ .../tx_tanf_dependent_care_deduction.yaml | 3 +++ .../gov/states/tx/tanf/integration.yaml | 1 + .../tx/tanf/ottanf/tx_ottanf_eligible.yaml | 1 + .../income/va_tanf_childcare_deduction.yaml | 7 +++++++ .../va_tanf_countable_earned_income.yaml | 1 + .../gov/states/va/dss/tanf/integration.yaml | 10 +++++++++ .../states/vt/dcf/reach_up/integration.yaml | 21 ++++++++++--------- .../vt_reach_up_dependent_care_deduction.yaml | 5 +++++ .../vt_reach_up_housing_allowance.yaml | 9 ++++---- .../wv_works_countable_earned_income.yaml | 5 +++++ .../gov/states/wv/dhhr/works/integration.yaml | 1 + .../earned/ak_atap_childcare_deduction.py | 6 +++++- .../income/al_tanf_countable_earned_income.py | 6 +++++- .../az_tanf_dependent_care_deduction.py | 7 +++++-- .../deductions/dc_tanf_childcare_deduction.py | 6 +++++- .../de_tanf_dependent_care_deduction.py | 8 +++++-- .../deductions/ga_tanf_childcare_deduction.py | 6 +++++- .../hi_tanf_dependent_care_deduction.py | 5 +++-- .../deductions/il_tanf_childcare_deduction.py | 6 +++++- .../ky_ktap_dependent_care_disregard.py | 6 +++++- .../tca/income/md_tca_childcare_deduction.py | 8 +++++-- .../me_tanf_child_care_deduction.py | 8 +++++-- .../mn_mfip_dependent_care_deduction.py | 6 +++++- .../mo_tanf_child_care_deduction.py | 6 +++++- .../income/nh_fanf_child_care_deduction.py | 8 +++++-- .../nm_works_childcare_deduction.py | 6 +++++- .../ok_tanf_dependent_care_deduction.py | 8 +++++-- .../ri_works_dependent_care_deduction.py | 6 +++++- .../ff/income/tn_ff_child_care_deduction.py | 6 +++++- .../tx_tanf_dependent_care_deduction.py | 7 +++++-- .../income/va_tanf_childcare_deduction.py | 6 +++++- .../vt_reach_up_dependent_care_deduction.py | 6 +++++- .../reach_up/vt_reach_up_housing_allowance.py | 17 +++++++++++++-- .../wv_works_countable_earned_income.py | 6 +++++- 83 files changed, 400 insertions(+), 55 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/atap/ak_atap_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/atap/ak_atap_childcare_deduction.yaml index 5e53880104e..d598f6646fc 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/atap/ak_atap_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/atap/ak_atap_childcare_deduction.yaml @@ -16,6 +16,7 @@ spm_unit: members: [person1] childcare_expenses: 6_000 # $500/month annual = $6,000 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1] @@ -38,6 +39,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_800 # $150/month annual = $1,800 + spm_unit_pre_subsidy_childcare_expenses: 1_800 households: household: members: [person1, person2] @@ -60,6 +62,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month annual = $2,400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -82,6 +85,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual = $3,600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -104,6 +108,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month annual = $2,400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -126,6 +131,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_200 # $100/month annual = $1,200 + spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: members: [person1, person2] @@ -148,6 +154,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month annual = $3,000 + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -172,6 +179,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_800 # $400/month annual = $4,800 + spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [person1, person2, person3] @@ -198,6 +206,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 3_600 # $300/month annual = $3,600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2, person3] @@ -206,7 +215,7 @@ # Child age 1: cap = $200/month # Child age 4: cap = $175/month # Total max disregard = $200 + $175 = $375 - # Monthly expenses = $3,600 / 12 = $300 + # Monthly expenses = $3_600 / 12 = $300 # Disregard = min($300, $375) = $300 (expenses below cap) ak_atap_childcare_deduction: 300 @@ -222,6 +231,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf.yaml b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf.yaml index 71a45357d80..f849907f983 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf.yaml @@ -216,6 +216,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -267,6 +268,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_countable_earned_income.yaml index 2655d66e8b2..f54eb369641 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_countable_earned_income.yaml @@ -150,6 +150,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -175,6 +176,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -207,6 +209,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_eligible.yaml index 69ee0a26592..6a0695ee896 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_eligible.yaml @@ -154,6 +154,7 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_income_eligible.yaml index de5917a6870..bd4464859df 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_income_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_income_eligible.yaml @@ -140,6 +140,7 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/integration.yaml index 161f067c808..262d61bda63 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/integration.yaml @@ -213,6 +213,7 @@ spm_unit: members: [person1, person2, person3, person4, person5] childcare_expenses: 2_400 # $200/month childcare + spm_unit_pre_subsidy_childcare_expenses: 2_400 tax_units: tax_unit: members: [person1, person2, person3, person4, person5] @@ -342,6 +343,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_earned_income.yaml index a062258a746..de5043658bd 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_earned_income.yaml @@ -81,6 +81,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -105,6 +106,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_income.yaml index 2090267d4c6..1762d327acb 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_income.yaml @@ -103,6 +103,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_dependent_care_deduction.yaml index 125dc2bbc8b..41b1794c0a2 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_dependent_care_deduction.yaml @@ -16,6 +16,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 tax_units: tax_unit: members: [person1, person2] @@ -39,6 +40,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -64,6 +66,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -89,6 +92,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_800 # $150/month annual + spm_unit_pre_subsidy_childcare_expenses: 1_800 tax_units: tax_unit: members: [person1, person2] @@ -117,6 +121,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month annual + spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3] @@ -144,6 +149,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month annual + spm_unit_pre_subsidy_childcare_expenses: 3_000 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/integration.yaml index c44feb91867..9bf8342cb17 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/integration.yaml @@ -119,6 +119,7 @@ members: [person1, person2] spm_unit_assets: 800 childcare_expenses: 3_600 # $300/month annual + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -344,6 +345,7 @@ members: [person1, person2, person3, person4] spm_unit_assets: 1_200 childcare_expenses: 6_000 # $500/month annual + spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/income/dc_tanf_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/income/dc_tanf_childcare_deduction.yaml index c982ad8f44b..1c90ff9713a 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/income/dc_tanf_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/income/dc_tanf_childcare_deduction.yaml @@ -13,8 +13,9 @@ input: state_code: DC is_tax_unit_dependent: true - monthly_age: 1 + monthly_age: 1 childcare_expenses: 250*12 + spm_unit_pre_subsidy_childcare_expenses: 250*12 output: dc_tanf_childcare_deduction: 200 @@ -23,8 +24,9 @@ input: state_code: DC is_tax_unit_dependent: true - monthly_age: 15 + monthly_age: 15 childcare_expenses: 250*12 + spm_unit_pre_subsidy_childcare_expenses: 250*12 output: dc_tanf_childcare_deduction: 175 @@ -33,8 +35,9 @@ input: state_code: DC is_tax_unit_dependent: false - monthly_age: 15 - childcare_expenses: 250*12 + monthly_age: 15 + childcare_expenses: 250*12 + spm_unit_pre_subsidy_childcare_expenses: 250*12 output: dc_tanf_childcare_deduction: 0 @@ -59,10 +62,12 @@ members: [person1, person2] is_tanf_enrolled: false childcare_expenses: 4_300 + spm_unit_pre_subsidy_childcare_expenses: 4_300 spm_unit2: members: [person3, person4] is_tanf_enrolled: false childcare_expenses: 4_300 + spm_unit_pre_subsidy_childcare_expenses: 4_300 tax_units: tax_unit: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/integration.yaml index 4118b8e6191..904f91228a5 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/integration.yaml @@ -31,6 +31,7 @@ members: [person1, person2] is_tanf_enrolled: false childcare_expenses: 5_000 + spm_unit_pre_subsidy_childcare_expenses: 5_000 dc_tanf_meets_work_requirements: true tax_units: tax_unit: @@ -62,6 +63,7 @@ members: [person1, person2] is_tanf_enrolled: true childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 dc_tanf_meets_work_requirements: true tax_units: tax_unit: @@ -93,6 +95,7 @@ members: [person1, person2] is_tanf_enrolled: false childcare_expenses: 1_200 + spm_unit_pre_subsidy_childcare_expenses: 1_200 dc_tanf_meets_work_requirements: true tax_units: tax_unit: diff --git a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_countable_earned_income.yaml index af424f58355..c342cae5357 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_countable_earned_income.yaml @@ -51,6 +51,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -74,6 +75,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.yaml index 90d2a495927..71313806d07 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.yaml @@ -13,6 +13,7 @@ spm_unit: members: [person1] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1] @@ -31,6 +32,7 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month > $200 max + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1] @@ -50,6 +52,7 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month > $175 max + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1] @@ -69,6 +72,7 @@ spm_unit: members: [person1] childcare_expenses: 1_800 # $150/month < $200 max + spm_unit_pre_subsidy_childcare_expenses: 1_800 households: household: members: [person1] @@ -88,6 +92,7 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1] @@ -107,6 +112,7 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1] @@ -131,6 +137,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -153,6 +160,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -172,6 +180,7 @@ spm_unit: members: [person1] childcare_expenses: 2_400 # $200/month exactly + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1] @@ -199,6 +208,7 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 9_600 # $800/month + spm_unit_pre_subsidy_childcare_expenses: 9_600 households: household: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_net_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_net_earned_income.yaml index 04f7c868eeb..4564f909397 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_net_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_net_earned_income.yaml @@ -70,6 +70,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_800 # $150/month + spm_unit_pre_subsidy_childcare_expenses: 1_800 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/integration.yaml index 66bbb8da26e..d3b7c22ad76 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/integration.yaml @@ -70,6 +70,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_800 # $400/month annual + spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3] @@ -198,6 +199,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_800 # $150/month annual + spm_unit_pre_subsidy_childcare_expenses: 1_800 tax_units: tax_unit: members: [person1, person2] @@ -465,6 +467,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/eligibility/ga_tanf_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/eligibility/ga_tanf_income_eligible.yaml index c6361d2a7bf..6ede2cf491d 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/eligibility/ga_tanf_income_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/eligibility/ga_tanf_income_eligible.yaml @@ -148,6 +148,7 @@ spm_unit: members: [parent, child] childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, child] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_childcare_deduction.yaml index 0396a0d4221..30f145353d3 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_childcare_deduction.yaml @@ -15,6 +15,7 @@ spm_unit: members: [adult] childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [adult] @@ -37,6 +38,7 @@ spm_unit: members: [parent, child] childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [parent, child] @@ -60,6 +62,7 @@ spm_unit: members: [parent, child] childcare_expenses: 1_800 # $150/month + spm_unit_pre_subsidy_childcare_expenses: 1_800 households: household: members: [parent, child] @@ -84,6 +87,7 @@ spm_unit: members: [parent, child] childcare_expenses: 3_000 # $250/month + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [parent, child] @@ -107,6 +111,7 @@ spm_unit: members: [parent, child] childcare_expenses: 1_200 # $100/month + spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: members: [parent, child] @@ -134,6 +139,7 @@ spm_unit: members: [parent, infant, toddler] childcare_expenses: 6_000 # $500/month + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [parent, infant, toddler] @@ -159,6 +165,7 @@ spm_unit: members: [parent, child] childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, child] @@ -185,6 +192,7 @@ spm_unit: members: [parent, infant1, infant2] childcare_expenses: 6_000 # $500/month + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [parent, infant1, infant2] @@ -211,6 +219,7 @@ spm_unit: members: [parent, child1, child2] childcare_expenses: 6_000 # $500/month + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [parent, child1, child2] @@ -234,6 +243,7 @@ spm_unit: members: [parent, child] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [parent, child] @@ -258,6 +268,7 @@ spm_unit: members: [parent, child] childcare_expenses: 2_400 # $200/month exactly + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, child] @@ -282,6 +293,7 @@ spm_unit: members: [parent, child] childcare_expenses: 2_100 # $175/month exactly + spm_unit_pre_subsidy_childcare_expenses: 2_100 households: household: members: [parent, child] @@ -306,6 +318,7 @@ spm_unit: members: [parent, child] childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, child] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_countable_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_countable_income.yaml index 53221bf315f..f4fd03d7671 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_countable_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_countable_income.yaml @@ -96,6 +96,7 @@ spm_unit: members: [parent, child] childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, child] @@ -119,6 +120,7 @@ spm_unit: members: [parent, child] childcare_expenses: 3_000 # $250/month + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [parent, child] @@ -165,6 +167,7 @@ spm_unit: members: [parent, child] childcare_expenses: 3_000 # $250/month + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [parent, child] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/integration.yaml index ee757693974..0c7d293fe04 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/integration.yaml @@ -135,6 +135,7 @@ members: [parent, child] spm_unit_cash_assets: 500 childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 is_tanf_enrolled: false # New applicant households: household: @@ -169,6 +170,7 @@ members: [parent, child] spm_unit_cash_assets: 500 childcare_expenses: 2_100 # $175/month + spm_unit_pre_subsidy_childcare_expenses: 2_100 is_tanf_enrolled: false # New applicant households: household: diff --git a/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/hi_tanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/hi_tanf_countable_earned_income.yaml index 8a28757eca2..0f40bc5dc3b 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/hi_tanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/hi_tanf_countable_earned_income.yaml @@ -52,6 +52,7 @@ members: [person1, person2] # $1,200/year = $100/month childcare childcare_expenses: 1_200 + spm_unit_pre_subsidy_childcare_expenses: 1_200 tax_units: tax_unit: members: [person1, person2] @@ -80,6 +81,7 @@ members: [person1, person2] # $6,000/year = $500/month childcare, exceeds $175 cap childcare_expenses: 6_000 + spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2] @@ -108,6 +110,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.yaml index 5c03b208cb8..9e62a462019 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.yaml @@ -40,6 +40,7 @@ members: [person1, person2] # $1,200/year = $100/month, below $175 cap childcare_expenses: 1_200 + spm_unit_pre_subsidy_childcare_expenses: 1_200 tax_units: tax_unit: members: [person1, person2] @@ -66,6 +67,7 @@ members: [person1, person2] # $3,600/year = $300/month, above $175 cap childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -92,6 +94,7 @@ members: [person1, person2] # $3,600/year = $300/month, above $165 cap childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -121,6 +124,7 @@ members: [person1, person2, person3] # $3,600/year = $300/month childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2, person3] @@ -150,6 +154,7 @@ members: [person1, person2, person3] # $3,600/year = $300/month childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2, person3] @@ -178,6 +183,7 @@ members: [person1, person2, person3] # $6,000/year = $500/month, above 2 × $175 = $350 cap childcare_expenses: 6_000 + spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3] @@ -204,6 +210,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 tax_units: tax_unit: members: [person1, person2] @@ -228,6 +235,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -255,6 +263,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2, person3] @@ -279,6 +288,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -308,6 +318,7 @@ members: [person1, person2, person3, person4] # $8,400/year = $700/month, above 3 × $175 = $525 cap childcare_expenses: 8_400 + spm_unit_pre_subsidy_childcare_expenses: 8_400 tax_units: tax_unit: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/integration.yaml index 4292fe8a3d8..3943219124e 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/integration.yaml @@ -270,6 +270,7 @@ members: [person1, person2] # $1,800/year = $150/month childcare childcare_expenses: 1_800 + spm_unit_pre_subsidy_childcare_expenses: 1_800 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/il_tanf.yaml b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/il_tanf.yaml index e8af68183a5..045b685b952 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/il_tanf.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/il_tanf.yaml @@ -56,6 +56,7 @@ members: [person1, person2, person3] spm_unit_size: 3 childcare_expenses: 4_800 # $400 per month + spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3] @@ -102,6 +103,7 @@ members: [person1, person2, person3] spm_unit_size: 3 childcare_expenses: 4_800 + spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3] @@ -148,6 +150,7 @@ members: [person1, person2, person3] spm_unit_size: 3 childcare_expenses: 400 + spm_unit_pre_subsidy_childcare_expenses: 400 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.yaml index c1a1b6eb276..9c3aa50cf9d 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.yaml @@ -13,8 +13,9 @@ input: state_code: IL is_tax_unit_dependent: true - monthly_age: 1 + monthly_age: 1 childcare_expenses: 250 * 12 + spm_unit_pre_subsidy_childcare_expenses: 250 * 12 output: il_tanf_childcare_deduction: 200 * 12 @@ -25,6 +26,7 @@ is_tax_unit_dependent: true monthly_age: 2 childcare_expenses: 250 * 12 + spm_unit_pre_subsidy_childcare_expenses: 250 * 12 output: il_tanf_childcare_deduction: 175 @@ -33,7 +35,8 @@ input: state_code: IL is_tax_unit_dependent: false - monthly_age: 15 - childcare_expenses: 250 * 12 + monthly_age: 15 + childcare_expenses: 250 * 12 + spm_unit_pre_subsidy_childcare_expenses: 250 * 12 output: il_tanf_childcare_deduction: 0 diff --git a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_grant_calculation.yaml b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_grant_calculation.yaml index 786e02b8054..a566ba37346 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_grant_calculation.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_grant_calculation.yaml @@ -43,6 +43,7 @@ members: [person1, person2, person3] spm_unit_size: 3 childcare_expenses: 4_800 # $400 per month + spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_initial_eligibility.yaml b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_initial_eligibility.yaml index f905adf0f87..cb4b0bf5c6a 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_initial_eligibility.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_initial_eligibility.yaml @@ -47,6 +47,7 @@ members: [person1, person2, person3] spm_unit_size: 3 childcare_expenses: 4_800 # $400 per month + spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.yaml b/policyengine_us/tests/policy/baseline/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.yaml index c5de05535e2..89a90669344 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.yaml @@ -16,6 +16,7 @@ spm_unit: members: [parent, child] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [parent, child] @@ -36,6 +37,7 @@ members: [parent, child] # $100/month * 12 = $1,200/year childcare_expenses: 1_200 + spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: members: [parent, child] @@ -58,6 +60,7 @@ members: [parent, child] # $300/month * 12 = $3,600/year childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [parent, child] @@ -80,6 +83,7 @@ members: [parent, infant] # $400/month * 12 = $4,800/year childcare_expenses: 4_800 + spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [parent, infant] @@ -104,6 +108,7 @@ members: [parent, infant, child] # $500/month * 12 = $6,000/year childcare_expenses: 6_000 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [parent, infant, child] @@ -127,6 +132,7 @@ members: [parent, teen] # $200/month * 12 = $2,400/year childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, teen] @@ -148,6 +154,7 @@ spm_unit: members: [parent, child] childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, child] diff --git a/policyengine_us/tests/policy/baseline/gov/states/md/tca/income/deductions/md_tca_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/md/tca/income/deductions/md_tca_childcare_deduction.yaml index 1e023ba1a40..58faceb5ff5 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/md/tca/income/deductions/md_tca_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/md/tca/income/deductions/md_tca_childcare_deduction.yaml @@ -16,6 +16,7 @@ spm_units: spm_unit: members: [person1, person2] + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: state_code: MD @@ -36,6 +37,7 @@ spm_units: spm_unit: members: [person1, person2] + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: state_code: MD @@ -57,6 +59,7 @@ spm_units: spm_unit: members: [person1, person2] + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: state_code: MD @@ -78,6 +81,7 @@ spm_units: spm_unit: members: [person1, person2] + spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: state_code: MD @@ -99,6 +103,7 @@ spm_units: spm_unit: members: [person1, person2] + spm_unit_pre_subsidy_childcare_expenses: 600 households: household: state_code: MD @@ -141,6 +146,7 @@ spm_units: spm_unit: members: [person1, person2, person3] + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: state_code: MD @@ -164,6 +170,7 @@ spm_units: spm_unit: members: [person1, person2, person3] + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: state_code: MD @@ -189,6 +196,7 @@ spm_units: spm_unit: members: [person1, person2, person3, person4] + spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: state_code: MD @@ -210,6 +218,7 @@ spm_units: spm_unit: members: [person1, person2] + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: state_code: MD @@ -232,6 +241,7 @@ spm_units: spm_unit: members: [person1, person2] + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: state_code: MD diff --git a/policyengine_us/tests/policy/baseline/gov/states/md/tca/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/md/tca/integration.yaml index 77fce67d576..b1ecab98c96 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/md/tca/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/md/tca/integration.yaml @@ -17,6 +17,7 @@ spm_unit: members: [person1, person2] is_tanf_enrolled: true + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: state_code: MD @@ -58,6 +59,7 @@ spm_unit: members: [person1, person2] is_tanf_enrolled: false + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: state_code: MD @@ -102,6 +104,7 @@ spm_unit: members: [person1, person2, person3] is_tanf_enrolled: true + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: state_code: MD @@ -190,6 +193,7 @@ spm_unit: members: [person1, person2] is_tanf_enrolled: true + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: state_code: MD @@ -263,6 +267,7 @@ spm_unit: members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] is_tanf_enrolled: true + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: state_code: MD diff --git a/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/integration.yaml index 74d9bd37273..63466571bd2 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/integration.yaml @@ -24,6 +24,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_200 # $350/month child care + spm_unit_pre_subsidy_childcare_expenses: 4_200 tax_units: tax_unit: members: [person1, person2, person3] @@ -318,6 +319,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month child care + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -475,6 +477,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 tax_units: tax_unit: members: [person1, person2] @@ -589,6 +592,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 tax_units: tax_unit: members: [person1, person2] @@ -711,6 +715,7 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 6_000 # $500/month + spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3, person4] @@ -833,6 +838,7 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 9_600 # $800/month child care + spm_unit_pre_subsidy_childcare_expenses: 9_600 tax_units: tax_unit: members: [person1, person2, person3, person4] @@ -888,6 +894,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month + spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/me_tanf_child_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/me_tanf_child_care_deduction.yaml index fdd18614a45..3fe73d489f0 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/me_tanf_child_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/me_tanf_child_care_deduction.yaml @@ -23,6 +23,7 @@ spm_unit: members: [adult, infant, toddler, child_at_boundary, school_age, disabled_child] childcare_expenses: 12_000 # $1,000/month (above total limit) + spm_unit_pre_subsidy_childcare_expenses: 12_000 households: household: members: [adult, infant, toddler, child_at_boundary, school_age, disabled_child] @@ -47,6 +48,7 @@ spm_unit: members: [adult, child1, child2] childcare_expenses: 2_400 # $200/month (below $375 limit) + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [adult, child1, child2] @@ -70,6 +72,7 @@ spm_unit: members: [adult, child1, child2] childcare_expenses: 4_500 # $375/month (exactly at limit) + spm_unit_pre_subsidy_childcare_expenses: 4_500 households: household: members: [adult, child1, child2] @@ -91,6 +94,7 @@ spm_unit: members: [adult1, adult2] childcare_expenses: 6_000 # $500/month + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [adult1, adult2] @@ -111,6 +115,7 @@ spm_unit: members: [adult, child] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [adult, child] diff --git a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_countable_earned_income_for_eligibility.yaml b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_countable_earned_income_for_eligibility.yaml index a8a5021f898..aae2b3305cb 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_countable_earned_income_for_eligibility.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_countable_earned_income_for_eligibility.yaml @@ -14,6 +14,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2, person3] @@ -38,6 +39,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_500 # $375/month (max for 1 under 2 + 1 over 2) + spm_unit_pre_subsidy_childcare_expenses: 4_500 households: household: members: [person1, person2, person3] @@ -71,6 +73,7 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 4_500 # $375/month + spm_unit_pre_subsidy_childcare_expenses: 4_500 households: household: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_dependent_care_deduction.yaml index 3e2dc762073..24f73d7d374 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_dependent_care_deduction.yaml @@ -14,6 +14,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2, person3] @@ -37,6 +38,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 3_600 # $300/month annual + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2, person3] @@ -65,6 +67,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month annual + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_child_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_child_care_deduction.yaml index 9b80cbe54b4..932ab72336a 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_child_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_child_care_deduction.yaml @@ -10,6 +10,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2] @@ -30,6 +31,7 @@ members: [person1, person2] # $100/month * 12 = $1,200/year childcare_expenses: 1_200 + spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: members: [person1, person2] @@ -51,6 +53,7 @@ members: [person1, person2] # $175/month * 12 = $2,100/year childcare_expenses: 2_100 + spm_unit_pre_subsidy_childcare_expenses: 2_100 households: household: members: [person1, person2] @@ -71,6 +74,7 @@ members: [person1, person2] # $300/month * 12 = $3,600/year childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -92,6 +96,7 @@ members: [person1, person2] # $200/month * 12 = $2,400/year childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -115,6 +120,7 @@ members: [person1, person2, person3] # $500/month * 12 = $6,000/year childcare_expenses: 6_000 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -139,6 +145,7 @@ members: [person1, person2, person3] # $250/month * 12 = $3,000/year childcare_expenses: 3_000 + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2, person3] @@ -160,6 +167,7 @@ members: [person1, person2] # $200/month * 12 = $2,400/year childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -179,6 +187,7 @@ members: [person1] # $200/month * 12 = $2,400/year childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1] diff --git a/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/integration.yaml index be5a4b069f4..3283c57c425 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/integration.yaml @@ -222,6 +222,7 @@ spm_unit_assets: 500 is_tanf_enrolled: true childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -288,6 +289,7 @@ spm_unit_assets: 500 is_tanf_enrolled: false childcare_expenses: 6_000 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -321,6 +323,7 @@ spm_unit_assets: 500 is_tanf_enrolled: true childcare_expenses: 4_800 + spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_child_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_child_care_deduction.yaml index 5774df75b1e..0be03bae57b 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_child_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_child_care_deduction.yaml @@ -37,6 +37,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -58,6 +59,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -79,6 +81,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -100,6 +103,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -121,6 +125,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -142,6 +147,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -165,6 +171,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -186,6 +193,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_200 # $100/month + spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: members: [person1, person2] @@ -207,6 +215,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -228,6 +237,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -249,6 +259,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_countable_earned_income.yaml index 5fd10457415..764bc238f30 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_countable_earned_income.yaml @@ -46,6 +46,7 @@ members: [person1, person2] is_tanf_enrolled: false childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -70,6 +71,7 @@ members: [person1, person2] is_tanf_enrolled: true childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -94,6 +96,7 @@ members: [person1, person2] is_tanf_enrolled: true childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -118,6 +121,7 @@ members: [person1, person2] is_tanf_enrolled: true childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_childcare_deduction.yaml index aaf7fa28703..198ff4d5a21 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_childcare_deduction.yaml @@ -15,6 +15,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2] @@ -34,6 +35,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -55,6 +57,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -76,6 +79,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_200 # $100/month + spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: members: [person1, person2] @@ -99,6 +103,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month total + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -124,6 +129,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 3_000 # $250/month total + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2, person3] @@ -149,6 +155,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -170,6 +177,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -192,6 +200,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -216,6 +225,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -240,6 +250,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_800 # $400/month + spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [person1, person2, person3] @@ -264,6 +275,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_500 # $375/month = exact limit + spm_unit_pre_subsidy_childcare_expenses: 4_500 households: household: members: [person1, person2, person3] @@ -291,6 +303,7 @@ spm_unit: members: [person1, person2, person3, person4, person5] childcare_expenses: 12_000 # $1,000/month + spm_unit_pre_subsidy_childcare_expenses: 12_000 households: household: members: [person1, person2, person3, person4, person5] @@ -316,6 +329,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_countable_earned_income.yaml index 40a982609d1..2327d6d1afe 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_countable_earned_income.yaml @@ -156,6 +156,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_500 # $125/month + spm_unit_pre_subsidy_childcare_expenses: 1_500 tax_units: tax_unit: members: [person1, person2] @@ -186,6 +187,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month + spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/integration.yaml index 59291a5b934..2aac0622eba 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/integration.yaml @@ -96,6 +96,7 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 4_800 # $400/month + spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3, person4] @@ -306,6 +307,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month + spm_unit_pre_subsidy_childcare_expenses: 3_000 tax_units: tax_unit: members: [person1, person2] @@ -393,6 +395,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month + spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ok/dhs/tanf/ok_tanf_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/ok/dhs/tanf/ok_tanf_dependent_care_deduction.yaml index 39228cf7943..c15fb290c9f 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ok/dhs/tanf/ok_tanf_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ok/dhs/tanf/ok_tanf_dependent_care_deduction.yaml @@ -14,6 +14,7 @@ spm_unit: members: [child] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [child] @@ -32,6 +33,7 @@ spm_unit: members: [child] childcare_expenses: 300 * 12 # $300/month annual + spm_unit_pre_subsidy_childcare_expenses: 300 * 12 households: household: members: [child] @@ -52,6 +54,7 @@ spm_unit: members: [child] childcare_expenses: 300 * 12 # $300/month annual + spm_unit_pre_subsidy_childcare_expenses: 300 * 12 households: household: members: [child] @@ -72,6 +75,7 @@ spm_unit: members: [child] childcare_expenses: 150 * 12 # $150/month annual + spm_unit_pre_subsidy_childcare_expenses: 150 * 12 households: household: members: [child] @@ -97,6 +101,7 @@ spm_unit: members: [adult, child1, child2] childcare_expenses: 500 * 12 # $500/month annual + spm_unit_pre_subsidy_childcare_expenses: 500 * 12 households: household: members: [adult, child1, child2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/integration.yaml index 5bba2695c63..d7b56c80664 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/integration.yaml @@ -525,6 +525,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_800 # $400/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_countable_earned_income.yaml index f774f449e9c..099d0b5228e 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_countable_earned_income.yaml @@ -148,6 +148,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 4_800 # $400/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [person1, person2] @@ -175,6 +176,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_dependent_care_deduction.yaml index bc477b41dba..22068771ea1 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_dependent_care_deduction.yaml @@ -13,6 +13,7 @@ spm_unit: members: [person1] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1] @@ -31,6 +32,7 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1] @@ -51,6 +53,7 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1] @@ -71,6 +74,7 @@ spm_unit: members: [person1] childcare_expenses: 1_800 # $150/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 1_800 households: household: members: [person1] @@ -96,6 +100,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -120,6 +125,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -143,6 +149,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -173,6 +180,7 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 7_200 # $600/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 7_200 households: household: members: [person1, person2, person3, person4] @@ -204,6 +212,7 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 4_800 # $400/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/eligibility/tn_ff_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/eligibility/tn_ff_income_eligible.yaml index 52814b795ee..4cc46481fe1 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/eligibility/tn_ff_income_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/eligibility/tn_ff_income_eligible.yaml @@ -55,6 +55,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.yaml index 7f1eaa03b21..1f7a5ab8939 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.yaml @@ -17,6 +17,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2] @@ -35,6 +36,7 @@ spm_unit: members: [person1] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1] @@ -55,6 +57,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -75,6 +78,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -98,6 +102,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -122,6 +127,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -146,6 +152,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -172,6 +179,7 @@ # Max deduction would be $200 + $175 = $375/month # Only $300/month in expenses ($3,600/year) childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/integration.yaml index e5a8eb19d36..dfdb120692a 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/integration.yaml @@ -234,6 +234,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/tn_ff.yaml b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/tn_ff.yaml index c19c47db6a7..6bbf6efa259 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/tn_ff.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/tn_ff.yaml @@ -21,6 +21,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -45,6 +46,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -69,6 +71,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -93,6 +96,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -117,6 +121,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -141,6 +146,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.yaml index 17c0a6cbc0f..108646368c4 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.yaml @@ -10,6 +10,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -29,6 +30,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -46,6 +48,7 @@ spm_unit: members: [person1] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1] diff --git a/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/integration.yaml index e4a14c654c5..136341387de 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/integration.yaml @@ -57,6 +57,7 @@ members: [person1, person2] spm_unit_cash_assets: 800 childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 is_tanf_enrolled: false households: household: diff --git a/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf_eligible.yaml index 2f750cb3912..36953834a1d 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf_eligible.yaml @@ -148,6 +148,7 @@ spm_unit_size: 2 spm_unit_cash_assets: 500 childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 tx_ottanf_crisis_criteria: true households: household: diff --git a/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.yaml index 0102cc67fe3..a9291a94050 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.yaml @@ -12,6 +12,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -45,6 +46,7 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 4_800 + spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [person1, person2, person3, person4] @@ -69,6 +71,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2] @@ -93,6 +96,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -121,6 +125,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 + spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -148,6 +153,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -175,6 +181,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 5_000 + spm_unit_pre_subsidy_childcare_expenses: 5_000 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_countable_earned_income.yaml index aa1c5e604ea..fcf99cd0dfb 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_countable_earned_income.yaml @@ -175,6 +175,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/integration.yaml index c03e3918078..02e9d4ddd06 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/integration.yaml @@ -20,6 +20,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -71,6 +72,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -127,6 +129,7 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 6_000 + spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3, person4] @@ -180,6 +183,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -233,6 +237,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 + spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -290,6 +295,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -369,6 +375,7 @@ spm_unit: members: [person1, person2, person3, person4, person5, person6, person7, person8] childcare_expenses: 18_000 + spm_unit_pre_subsidy_childcare_expenses: 18_000 households: household: members: [person1, person2, person3, person4, person5, person6, person7, person8] @@ -429,6 +436,7 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 + spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -483,6 +491,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2] @@ -537,6 +546,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_100 + spm_unit_pre_subsidy_childcare_expenses: 2_100 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/integration.yaml index 527ebad8d04..7a1c0d5accb 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/integration.yaml @@ -11,6 +11,7 @@ person1: age: 30 employment_income_before_lsr: 12_000 # $1,000/month + pre_subsidy_rent: 6_000 # $500/month (capped at $400) is_tax_unit_head_or_spouse: true immigration_status: CITIZEN person2: @@ -27,7 +28,6 @@ spm_unit: members: [person1, person2, person3] spm_unit_size: 3 - housing_cost: 6_000 # $500/month (capped at $400) tax_units: tax_unit: members: [person1, person2, person3] @@ -70,6 +70,7 @@ person1: age: 28 employment_income_before_lsr: 0 + pre_subsidy_rent: 14_400 # $1,200/month (capped at $450) is_tax_unit_head_or_spouse: true immigration_status: CITIZEN person2: @@ -86,7 +87,6 @@ spm_unit: members: [person1, person2, person3] spm_unit_size: 3 - housing_cost: 14_400 # $1,200/month (capped at $450) tax_units: tax_unit: members: [person1, person2, person3] @@ -129,6 +129,7 @@ age: 32 employment_income_before_lsr: 6_000 # $500/month child_support_received: 1_800 # $150/month + pre_subsidy_rent: 4_800 # $400/month is_tax_unit_head_or_spouse: true immigration_status: CITIZEN person2: @@ -140,7 +141,6 @@ spm_unit: members: [person1, person2] spm_unit_size: 2 - housing_cost: 4_800 # $400/month tax_units: tax_unit: members: [person1, person2] @@ -183,6 +183,7 @@ person1: age: 35 employment_income_before_lsr: 18_000 # $1,500/month + pre_subsidy_rent: 9_600 # $800/month (capped at $400) is_tax_unit_head_or_spouse: true immigration_status: CITIZEN person2: @@ -204,7 +205,6 @@ spm_unit: members: [person1, person2, person3, person4] spm_unit_size: 4 - housing_cost: 9_600 # $800/month (capped at $400) tax_units: tax_unit: members: [person1, person2, person3, person4] @@ -248,6 +248,7 @@ age: 40 employment_income_before_lsr: 9_600 # $800/month social_security: 0 + pre_subsidy_rent: 15_600 # $1,300/month (capped at $450) is_tax_unit_head_or_spouse: true immigration_status: CITIZEN person2: @@ -275,7 +276,6 @@ spm_unit: members: [person1, person2, person3, person4, person5] spm_unit_size: 5 - housing_cost: 15_600 # $1,300/month (capped at $450) tax_units: tax_unit: members: [person1, person2, person3, person4, person5] @@ -319,13 +319,13 @@ age: 25 employment_income_before_lsr: 0 is_pregnant: true + pre_subsidy_rent: 4_800 # $400/month is_tax_unit_head_or_spouse: true immigration_status: CITIZEN spm_units: spm_unit: members: [person1] spm_unit_size: 1 - housing_cost: 4_800 # $400/month tax_units: tax_unit: members: [person1] @@ -363,6 +363,7 @@ person1: age: 30 employment_income_before_lsr: 10_800 # $900/month + pre_subsidy_rent: 4_800 # $400/month is_tax_unit_head_or_spouse: true immigration_status: CITIZEN person2: @@ -374,7 +375,6 @@ spm_unit: members: [person1, person2] spm_unit_size: 2 - housing_cost: 4_800 # $400/month tax_units: tax_unit: members: [person1, person2] @@ -417,6 +417,7 @@ person1: age: 35 employment_income_before_lsr: 9_600 # $800/month + pre_subsidy_rent: 6_000 # $500/month (capped at $400) is_tax_unit_head_or_spouse: true immigration_status: CITIZEN person2: @@ -433,7 +434,6 @@ spm_unit: members: [person1, person2, person3] spm_unit_size: 3 - housing_cost: 6_000 # $500/month (capped at $400) tax_units: tax_unit: members: [person1, person2, person3] @@ -478,6 +478,7 @@ person1: age: 40 employment_income_before_lsr: 0 + pre_subsidy_rent: 12_000 # $1,000/month (capped at $450) is_tax_unit_head_or_spouse: true immigration_status: CITIZEN person2: @@ -529,7 +530,6 @@ spm_unit: members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] spm_unit_size: 10 - housing_cost: 12_000 # $1,000/month (capped at $450) tax_units: tax_unit: members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] @@ -571,6 +571,7 @@ person1: age: 35 employment_income_before_lsr: 9_600 # $800/month + pre_subsidy_rent: 6_000 # $500/month (capped at $400) is_tax_unit_head_or_spouse: true immigration_status: CITIZEN person2: @@ -587,8 +588,8 @@ spm_unit: members: [person1, person2, person3] spm_unit_size: 3 - housing_cost: 6_000 # $500/month (capped at $400) childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/vt_reach_up_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/vt_reach_up_dependent_care_deduction.yaml index 45532fdd3dc..b4885fc95a6 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/vt_reach_up_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/vt_reach_up_dependent_care_deduction.yaml @@ -12,6 +12,7 @@ spm_unit: members: [person1] childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 tax_units: tax_unit: members: [person1] @@ -32,6 +33,7 @@ spm_unit: members: [person1] childcare_expenses: 1_200 # $100/month + spm_unit_pre_subsidy_childcare_expenses: 1_200 tax_units: tax_unit: members: [person1] @@ -53,6 +55,7 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month + spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1] @@ -76,6 +79,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month + spm_unit_pre_subsidy_childcare_expenses: 3_000 tax_units: tax_unit: members: [person1, person2] @@ -100,6 +104,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month + spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/vt_reach_up_housing_allowance.yaml b/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/vt_reach_up_housing_allowance.yaml index 74e6f779cb3..55ec31aa5a6 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/vt_reach_up_housing_allowance.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/vt_reach_up_housing_allowance.yaml @@ -13,7 +13,6 @@ spm_units: spm_unit: members: [person1] - housing_cost: 0 households: household: members: [person1] @@ -29,15 +28,15 @@ people: person1: age: 30 + pre_subsidy_rent: 4_200 # $350/month, below $450 cap person2: age: 35 + pre_subsidy_rent: 7_200 # $600/month, above $450 cap spm_units: spm_unit1: members: [person1] - housing_cost: 4_200 # $350/month, below $450 cap spm_unit2: members: [person2] - housing_cost: 7_200 # $600/month, above $450 cap households: household1: members: [person1] @@ -58,15 +57,15 @@ people: person1: age: 30 + pre_subsidy_rent: 3_600 # $300/month, below $400 cap person2: age: 35 + pre_subsidy_rent: 6_000 # $500/month, above $400 cap spm_units: spm_unit1: members: [person1] - housing_cost: 3_600 # $300/month, below $400 cap spm_unit2: members: [person2] - housing_cost: 6_000 # $500/month, above $400 cap households: household1: members: [person1] diff --git a/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.yaml index fe11c845801..f069a7c5fec 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.yaml @@ -13,6 +13,7 @@ state_code: WV tanf_gross_earned_income: 1_000 childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 output: # Step 1: Gross earned = $1,000/month # Step 2: After 40% disregard = 1,000 * 0.60 = $600 @@ -27,6 +28,7 @@ state_code: WV tanf_gross_earned_income: 1_000 childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 output: # Step 1: Gross earned = $1,000/month # Step 2: After 40% disregard = 1,000 * 0.60 = $600 @@ -41,6 +43,7 @@ state_code: WV tanf_gross_earned_income: 1_000 childcare_expenses: 7_200 # $600/month + spm_unit_pre_subsidy_childcare_expenses: 7_200 output: # Step 1: Gross earned = $1,000/month # Step 2: After 40% disregard = 1,000 * 0.60 = $600 @@ -55,6 +58,7 @@ state_code: WV tanf_gross_earned_income: 1_000 childcare_expenses: 9_600 # $800/month + spm_unit_pre_subsidy_childcare_expenses: 9_600 output: # Step 1: Gross earned = $1,000/month # Step 2: After 40% disregard = 1,000 * 0.60 = $600 @@ -70,6 +74,7 @@ state_code: WV tanf_gross_earned_income: 0 childcare_expenses: 2_400 # $200/month + spm_unit_pre_subsidy_childcare_expenses: 2_400 output: # Step 1: Gross earned = $0 # Step 2: After 40% disregard = 0 * 0.60 = $0 diff --git a/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/integration.yaml index 870ccf7f619..baa685641db 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/integration.yaml @@ -279,6 +279,7 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_200 # $100/month + spm_unit_pre_subsidy_childcare_expenses: 1_200 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/variables/gov/states/ak/dpa/atap/income/earned/ak_atap_childcare_deduction.py b/policyengine_us/variables/gov/states/ak/dpa/atap/income/earned/ak_atap_childcare_deduction.py index 75166467298..1905f33609c 100644 --- a/policyengine_us/variables/gov/states/ak/dpa/atap/income/earned/ak_atap_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/ak/dpa/atap/income/earned/ak_atap_childcare_deduction.py @@ -18,7 +18,11 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("age", period.this_year) - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) max_per_dependent = p.childcare.calc(age) * dependent total_max_disregard = spm_unit.sum(max_per_dependent) return min_(childcare_expenses, total_max_disregard) diff --git a/policyengine_us/variables/gov/states/al/dhs/tanf/income/al_tanf_countable_earned_income.py b/policyengine_us/variables/gov/states/al/dhs/tanf/income/al_tanf_countable_earned_income.py index 811c7f07973..ef68384c1a9 100644 --- a/policyengine_us/variables/gov/states/al/dhs/tanf/income/al_tanf_countable_earned_income.py +++ b/policyengine_us/variables/gov/states/al/dhs/tanf/income/al_tanf_countable_earned_income.py @@ -15,5 +15,9 @@ def formula(spm_unit, period, parameters): gross_earned = add(spm_unit, period, ["tanf_gross_earned_income"]) work_expense = gross_earned * p.work_expense_rate # Child care is deducted from earned income per Section 3115.B - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) return max_(gross_earned - work_expense - childcare_expenses, 0) diff --git a/policyengine_us/variables/gov/states/az/hhs/tanf/income/az_tanf_dependent_care_deduction.py b/policyengine_us/variables/gov/states/az/hhs/tanf/income/az_tanf_dependent_care_deduction.py index 1f883b1f6ef..a2598eb8005 100644 --- a/policyengine_us/variables/gov/states/az/hhs/tanf/income/az_tanf_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/az/hhs/tanf/income/az_tanf_dependent_care_deduction.py @@ -18,8 +18,11 @@ def formula(spm_unit, period, parameters): person = spm_unit.members age = person("age", period.this_year) - # Actual childcare expenses - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) # Calculate eligible deduction for dependent children (based on age) is_dependent = person("is_tax_unit_dependent", period.this_year) diff --git a/policyengine_us/variables/gov/states/dc/dhs/tanf/income/deductions/dc_tanf_childcare_deduction.py b/policyengine_us/variables/gov/states/dc/dhs/tanf/income/deductions/dc_tanf_childcare_deduction.py index bda6d7b293b..34c603ce53f 100644 --- a/policyengine_us/variables/gov/states/dc/dhs/tanf/income/deductions/dc_tanf_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/dc/dhs/tanf/income/deductions/dc_tanf_childcare_deduction.py @@ -17,7 +17,11 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("monthly_age", period) - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) childcare_deduction_person = p.amount.calc(age) * dependent total_childcare_deduction = spm_unit.sum(childcare_deduction_person) diff --git a/policyengine_us/variables/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.py b/policyengine_us/variables/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.py index 1a92110ce57..d92b0cb6a26 100644 --- a/policyengine_us/variables/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.py @@ -26,7 +26,11 @@ def formula(spm_unit, period, parameters): max_per_dependent = p.dependent_care.calc(age) total_max = spm_unit.sum(max_per_dependent * is_dependent) - # Cap at actual childcare expenses - childcare_expenses = spm_unit("childcare_expenses", period) + # Cap at actual childcare expenses. + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) return min_(childcare_expenses, total_max) diff --git a/policyengine_us/variables/gov/states/ga/dfcs/tanf/income/deductions/ga_tanf_childcare_deduction.py b/policyengine_us/variables/gov/states/ga/dfcs/tanf/income/deductions/ga_tanf_childcare_deduction.py index 967f66b390d..5e0ca9772d0 100644 --- a/policyengine_us/variables/gov/states/ga/dfcs/tanf/income/deductions/ga_tanf_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/ga/dfcs/tanf/income/deductions/ga_tanf_childcare_deduction.py @@ -18,7 +18,11 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("monthly_age", period) - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) # PAMMS 1615: "$200 monthly for each child under the age of two" # and "$175 monthly for each individual age two or above" diff --git a/policyengine_us/variables/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.py b/policyengine_us/variables/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.py index 3e33e3581ed..b0912c9de69 100644 --- a/policyengine_us/variables/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.py @@ -15,8 +15,9 @@ class hi_tanf_dependent_care_deduction(Variable): def formula(spm_unit, period, parameters): p = parameters(period).gov.states.hi.dhs.tanf.deductions.dependent_care - # Get actual childcare expenses (YEAR variable, auto-converts to monthly) - expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + expenses = spm_unit("spm_unit_pre_subsidy_childcare_expenses", period) # Count children in the unit for the per-child cap person = spm_unit.members diff --git a/policyengine_us/variables/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.py b/policyengine_us/variables/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.py index 999a3354478..979e1c2925c 100644 --- a/policyengine_us/variables/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.py @@ -17,7 +17,11 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("monthly_age", period) - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) childcare_deduction_person = p.calc(age) * dependent total_childcare_deduction = spm_unit.sum(childcare_deduction_person) diff --git a/policyengine_us/variables/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.py b/policyengine_us/variables/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.py index 5391662e61e..25ce081b3fe 100644 --- a/policyengine_us/variables/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.py +++ b/policyengine_us/variables/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.py @@ -24,5 +24,9 @@ def formula(spm_unit, period, parameters): age = person("age", period.this_year) max_per_child = p.dependent_care.calc(age) total_max_disregard = spm_unit.sum(max_per_child) - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) return min_(childcare_expenses, total_max_disregard) diff --git a/policyengine_us/variables/gov/states/md/tca/income/md_tca_childcare_deduction.py b/policyengine_us/variables/gov/states/md/tca/income/md_tca_childcare_deduction.py index 42ea29e8c0e..0887bdb15f6 100644 --- a/policyengine_us/variables/gov/states/md/tca/income/md_tca_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/md/tca/income/md_tca_childcare_deduction.py @@ -23,6 +23,10 @@ def formula(spm_unit, period, parameters): # Maximum deduction per child based on monthly work hours per_child_cap = p.childcare_expenses.cap.calc(max_monthly_hours) max_deduction = per_child_cap * num_children - # Actual childcare expenses (capped at regulatory maximum) - childcare_expenses = spm_unit("childcare_expenses", period) + # Actual childcare expenses (capped at regulatory maximum). + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) return min_(childcare_expenses, max_deduction) diff --git a/policyengine_us/variables/gov/states/me/dhhs/tanf/income/deductions/me_tanf_child_care_deduction.py b/policyengine_us/variables/gov/states/me/dhhs/tanf/income/deductions/me_tanf_child_care_deduction.py index e72a4b6ed27..a4afdcfe044 100644 --- a/policyengine_us/variables/gov/states/me/dhhs/tanf/income/deductions/me_tanf_child_care_deduction.py +++ b/policyengine_us/variables/gov/states/me/dhhs/tanf/income/deductions/me_tanf_child_care_deduction.py @@ -30,6 +30,10 @@ def formula(spm_unit, period, parameters): max_deduction_per_person = max_per_child * is_child total_max_deduction = spm_unit.sum(max_deduction_per_person) - # Deduction is lesser of actual expenses or maximum - childcare_expenses = spm_unit("childcare_expenses", period) + # Deduction is lesser of actual expenses or maximum. + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) return min_(childcare_expenses, total_max_deduction) diff --git a/policyengine_us/variables/gov/states/mn/dcyf/mfip/income/earned/mn_mfip_dependent_care_deduction.py b/policyengine_us/variables/gov/states/mn/dcyf/mfip/income/earned/mn_mfip_dependent_care_deduction.py index c2f51d9ca60..b52425df0d4 100644 --- a/policyengine_us/variables/gov/states/mn/dcyf/mfip/income/earned/mn_mfip_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/mn/dcyf/mfip/income/earned/mn_mfip_dependent_care_deduction.py @@ -20,7 +20,11 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("monthly_age", period) - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) max_deduction_per_child = p.calc(age) * dependent total_max_deduction = spm_unit.sum(max_deduction_per_child) return min_(childcare_expenses, total_max_deduction) diff --git a/policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_child_care_deduction.py b/policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_child_care_deduction.py index 531041ed92e..71f7121fb76 100644 --- a/policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_child_care_deduction.py +++ b/policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_child_care_deduction.py @@ -18,7 +18,11 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("age", period.this_year) - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) max_deduction_per_child = p.amount.calc(age) * dependent total_max_deduction = spm_unit.sum(max_deduction_per_child) return min_(childcare_expenses, total_max_deduction) diff --git a/policyengine_us/variables/gov/states/nh/dhhs/fanf/income/nh_fanf_child_care_deduction.py b/policyengine_us/variables/gov/states/nh/dhhs/fanf/income/nh_fanf_child_care_deduction.py index cac87672be9..c9e650906ec 100644 --- a/policyengine_us/variables/gov/states/nh/dhhs/fanf/income/nh_fanf_child_care_deduction.py +++ b/policyengine_us/variables/gov/states/nh/dhhs/fanf/income/nh_fanf_child_care_deduction.py @@ -34,7 +34,11 @@ def formula(spm_unit, period, parameters): max_deduction_per_child = max_per_child * is_child total_max_deduction = spm_unit.sum(max_deduction_per_child) - # Cap at actual childcare expenses - childcare_expenses = spm_unit("childcare_expenses", period) + # Cap at actual childcare expenses. + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) return min_(childcare_expenses, total_max_deduction) diff --git a/policyengine_us/variables/gov/states/nm/hca/nm_works/income/deductions/nm_works_childcare_deduction.py b/policyengine_us/variables/gov/states/nm/hca/nm_works/income/deductions/nm_works_childcare_deduction.py index 8e272cb0e35..c294db5b56c 100644 --- a/policyengine_us/variables/gov/states/nm/hca/nm_works/income/deductions/nm_works_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/nm/hca/nm_works/income/deductions/nm_works_childcare_deduction.py @@ -21,7 +21,11 @@ def formula(spm_unit, period, parameters): person = spm_unit.members is_dependent = person("is_tax_unit_dependent", period) age = person("age", period.this_year) - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) # Max deduction per child based on age childcare_max_per_child = p.amount.calc(age) * is_dependent diff --git a/policyengine_us/variables/gov/states/ok/dhs/tanf/income/ok_tanf_dependent_care_deduction.py b/policyengine_us/variables/gov/states/ok/dhs/tanf/income/ok_tanf_dependent_care_deduction.py index 338e9684448..4fbe1fda9c1 100644 --- a/policyengine_us/variables/gov/states/ok/dhs/tanf/income/ok_tanf_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/ok/dhs/tanf/income/ok_tanf_dependent_care_deduction.py @@ -29,7 +29,11 @@ def formula(spm_unit, period, parameters): max_deduction_per_dependent * dependent ) - # Cap at actual childcare expenses - childcare_expenses = spm_unit("childcare_expenses", period) + # Cap at actual childcare expenses. + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) return min_(childcare_expenses, total_max_deduction) diff --git a/policyengine_us/variables/gov/states/ri/dhs/works/income/deductions/ri_works_dependent_care_deduction.py b/policyengine_us/variables/gov/states/ri/dhs/works/income/deductions/ri_works_dependent_care_deduction.py index fb7d93605cc..c945263733c 100644 --- a/policyengine_us/variables/gov/states/ri/dhs/works/income/deductions/ri_works_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/ri/dhs/works/income/deductions/ri_works_dependent_care_deduction.py @@ -26,6 +26,10 @@ def formula(spm_unit, period, parameters): max_per_dependent = p.amount.calc(age) total_max_deduction = spm_unit.sum(max_per_dependent * is_dependent) - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) return min_(childcare_expenses, total_max_deduction) diff --git a/policyengine_us/variables/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.py b/policyengine_us/variables/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.py index b8a9e09e1e8..927c552706f 100644 --- a/policyengine_us/variables/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.py +++ b/policyengine_us/variables/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.py @@ -15,7 +15,11 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("monthly_age", period) - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) childcare_deduction_person = ( p.child_care_deduction.calc(age) * dependent ) diff --git a/policyengine_us/variables/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.py b/policyengine_us/variables/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.py index 3b7c7219ec0..96fa656990b 100644 --- a/policyengine_us/variables/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.py @@ -17,8 +17,11 @@ def formula(spm_unit, period, parameters): # Actual cost of dependent child care, capped at maximum by age # Per § 372.409 (a)(3): up to $200/month for children under 2, $175/month for children 2+ - # Get actual childcare expenses - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) # Calculate maximum deduction for dependents (children or incapacitated adults) person = spm_unit.members diff --git a/policyengine_us/variables/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.py b/policyengine_us/variables/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.py index ae53f5145bf..45827f441d7 100644 --- a/policyengine_us/variables/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.py @@ -21,6 +21,10 @@ def formula(spm_unit, period, parameters): "is_disabled", period.this_year ) care_recipient = dependent | disabled_adult - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) max_deduction = spm_unit.sum(p.full_time.calc(age) * care_recipient) return min_(childcare_expenses, max_deduction) diff --git a/policyengine_us/variables/gov/states/vt/dcf/reach_up/income/deductions/vt_reach_up_dependent_care_deduction.py b/policyengine_us/variables/gov/states/vt/dcf/reach_up/income/deductions/vt_reach_up_dependent_care_deduction.py index df4fd0bdaaa..9b7dc3d6417 100644 --- a/policyengine_us/variables/gov/states/vt/dcf/reach_up/income/deductions/vt_reach_up_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/vt/dcf/reach_up/income/deductions/vt_reach_up_dependent_care_deduction.py @@ -18,5 +18,9 @@ def formula(spm_unit, period, parameters): head_or_spouse = person("is_tax_unit_head_or_spouse", period) num_participants = spm_unit.sum(head_or_spouse) max_deduction = p.dependent_care * num_participants - childcare_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) return min_(childcare_expenses, max_deduction) diff --git a/policyengine_us/variables/gov/states/vt/dcf/reach_up/vt_reach_up_housing_allowance.py b/policyengine_us/variables/gov/states/vt/dcf/reach_up/vt_reach_up_housing_allowance.py index cd02ed4e6de..7d8b58688bd 100644 --- a/policyengine_us/variables/gov/states/vt/dcf/reach_up/vt_reach_up_housing_allowance.py +++ b/policyengine_us/variables/gov/states/vt/dcf/reach_up/vt_reach_up_housing_allowance.py @@ -20,6 +20,19 @@ def formula(spm_unit, period, parameters): in_chittenden = county == County.CHITTENDEN_COUNTY_VT # Select maximum based on county housing_max = where(in_chittenden, p.chittenden, p.non_chittenden) - # Cap actual housing costs at maximum - housing_cost = spm_unit("housing_cost", period) + # Cap actual housing costs at maximum. + # Uses pre-subsidy rent to avoid circular dependency + # through housing assistance and HUD annual income. + pre_subsidy_rent = add(spm_unit, period, ["pre_subsidy_rent"]) + other_housing = add( + spm_unit, + period, + [ + "real_estate_taxes", + "homeowners_association_fees", + "mortgage_payments", + "homeowners_insurance", + ], + ) + housing_cost = pre_subsidy_rent + other_housing return min_(housing_cost, housing_max) diff --git a/policyengine_us/variables/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.py b/policyengine_us/variables/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.py index f259ebe39d4..bb7430e57ce 100644 --- a/policyengine_us/variables/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.py +++ b/policyengine_us/variables/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.py @@ -17,5 +17,9 @@ def formula(spm_unit, period, parameters): # Step 2: Subtract 40% (Earned Income Disregard) after_disregard = gross_earned * (1 - p.earned_income_disregard.rate) # Step 3: Subtract Dependent Care Deduction (no maximum, per Section 4.5.2.A.2) - dependent_care = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + dependent_care = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) return max_(after_disregard - dependent_care, 0) From 9f792818e5493bacff124dcecf51031c8322490a Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 15 Feb 2026 21:28:36 -0800 Subject: [PATCH 10/16] Add spm_unit_pre_subsidy_childcare_expenses to DC DHS integration test Co-Authored-By: Claude Opus 4.6 --- .../policy/baseline/gov/states/dc/dhs/integration_tests.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/integration_tests.yaml b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/integration_tests.yaml index 64ca7bb7f31..de0c9d0781e 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/integration_tests.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/integration_tests.yaml @@ -14,6 +14,7 @@ members: [person1, person2] is_tanf_enrolled: false childcare_expenses: 5_000 + spm_unit_pre_subsidy_childcare_expenses: 5_000 tax_units: tax_unit: members: [person1, person2] From d81498d3cfae136c82d52e8deba9e323d58a7b48 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 16 Feb 2026 07:20:14 -0800 Subject: [PATCH 11/16] Add KY, MT, NH, TN TANF programs to state list; fix MT childcare and NH broadcast MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add ky_ktap, mt_tanf, nh_fanf, tn_ff to STATE_TANF_VARIABLES (39 → 43) - Fix MT TANF childcare deduction to use spm_unit_pre_subsidy_childcare_expenses - Fix NH FANF childcare deduction entity broadcast (any_full_time SPMUnit→Person) Co-Authored-By: Claude Opus 4.6 --- .../mt_tanf_dependent_care_deduction.yaml | 22 +++++++++---------- .../gov/states/mt/dhs/tanf/integration.yaml | 1 + .../variables/gov/hhs/tanf/cash/tanf.py | 8 +++++-- .../mt_tanf_dependent_care_deduction.py | 6 ++++- .../income/nh_fanf_child_care_deduction.py | 5 ++++- 5 files changed, 27 insertions(+), 15 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/income/mt_tanf_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/income/mt_tanf_dependent_care_deduction.yaml index 2f9dd5cc3a1..55c64e156d7 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/income/mt_tanf_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/income/mt_tanf_dependent_care_deduction.yaml @@ -5,7 +5,7 @@ state_code: MT is_tax_unit_dependent: true mt_tanf_eligible_child: true - childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 output: mt_tanf_dependent_care_deduction: 0 @@ -16,7 +16,7 @@ state_code: MT is_tax_unit_dependent: true mt_tanf_eligible_child: true - childcare_expenses: 250*12 + spm_unit_pre_subsidy_childcare_expenses: 250*12 output: mt_tanf_dependent_care_deduction: 200 @@ -27,7 +27,7 @@ state_code: MT is_tax_unit_dependent: false mt_tanf_eligible_child: true - childcare_expenses: 250*12 + spm_unit_pre_subsidy_childcare_expenses: 250*12 output: mt_tanf_dependent_care_deduction: 0 @@ -38,7 +38,7 @@ state_code: MT is_tax_unit_dependent: true mt_tanf_eligible_child: false - childcare_expenses: 250*12 + spm_unit_pre_subsidy_childcare_expenses: 250*12 output: mt_tanf_dependent_care_deduction: 0 @@ -49,7 +49,7 @@ state_code: MT is_tax_unit_dependent: true mt_tanf_eligible_child: true - childcare_expenses: 100*12 + spm_unit_pre_subsidy_childcare_expenses: 100*12 output: mt_tanf_dependent_care_deduction: 100 @@ -61,7 +61,7 @@ is_tax_unit_dependent: true mt_tanf_eligible_child: false is_incapable_of_self_care: true - childcare_expenses: 250*12 + spm_unit_pre_subsidy_childcare_expenses: 250*12 output: mt_tanf_dependent_care_deduction: 200 @@ -73,7 +73,7 @@ is_tax_unit_dependent: false mt_tanf_eligible_child: false is_incapable_of_self_care: true - childcare_expenses: 250*12 + spm_unit_pre_subsidy_childcare_expenses: 250*12 output: mt_tanf_dependent_care_deduction: 0 @@ -85,7 +85,7 @@ is_tax_unit_dependent: true mt_tanf_eligible_child: false is_incapable_of_self_care: true - childcare_expenses: 0 + spm_unit_pre_subsidy_childcare_expenses: 0 output: mt_tanf_dependent_care_deduction: 0 @@ -97,7 +97,7 @@ is_tax_unit_dependent: true mt_tanf_eligible_child: false is_incapable_of_self_care: true - childcare_expenses: 100*12 + spm_unit_pre_subsidy_childcare_expenses: 100*12 output: mt_tanf_dependent_care_deduction: 100 @@ -127,11 +127,11 @@ spm_unit1: members: [person1, person2, person4] is_tanf_enrolled: false - childcare_expenses: 5_000 + spm_unit_pre_subsidy_childcare_expenses: 5_000 spm_unit2: members: [person3, person5] is_tanf_enrolled: false - childcare_expenses: 5_000 + spm_unit_pre_subsidy_childcare_expenses: 5_000 tax_units: tax_unit: members: [person1, person2, person3, person4, person5] diff --git a/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/integration.yaml index 4f76eb1c68c..769701ef1a3 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/integration.yaml @@ -57,6 +57,7 @@ spm_units: spm_unit: childcare_expenses: 2_400 + spm_unit_pre_subsidy_childcare_expenses: 2_400 members: [person1, person2] households: household: diff --git a/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py b/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py index e1e796fd808..f40659a37fa 100644 --- a/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py +++ b/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py @@ -3,7 +3,7 @@ # All implemented state TANF programs. # Most use {st}_tanf naming; some states have their own program names. STATE_TANF_VARIABLES = [ - # Standard {st}_tanf naming (26 states) + # Standard {st}_tanf naming (28 states) "al_tanf", "az_tanf", "ca_tanf", @@ -18,6 +18,7 @@ "me_tanf", "mo_tanf", "ms_tanf", + "mt_tanf", "nc_tanf", "nd_tanf", "nv_tanf", @@ -30,17 +31,20 @@ "tx_tanf", "va_tanf", "wa_tanf", - # Non-standard program names (13 states) + # Non-standard program names (15 states) "ak_atap", # Alaska Temporary Assistance Program "ct_tfa", # Connecticut Temporary Family Assistance "fl_tca", # Florida Temporary Cash Assistance "ia_fip", # Iowa Family Investment Program + "ky_ktap", # Kentucky K-TAP "md_tca", # Maryland Temporary Cash Assistance "mi_fip", # Michigan Family Independence Program "mn_mfip", # Minnesota Family Investment Program + "nh_fanf", # New Hampshire FANF "nj_wfnj", # New Jersey WorkFirst New Jersey "nm_works", # New Mexico Works "ri_works", # Rhode Island Works + "tn_ff", # Tennessee Families First "vt_reach_up", # Vermont Reach Up "wi_works", # Wisconsin Works (W-2) "wv_works", # West Virginia Works diff --git a/policyengine_us/variables/gov/states/mt/dhs/tanf/income/deductions/mt_tanf_dependent_care_deduction.py b/policyengine_us/variables/gov/states/mt/dhs/tanf/income/deductions/mt_tanf_dependent_care_deduction.py index 3f21b040446..4b38de08a25 100644 --- a/policyengine_us/variables/gov/states/mt/dhs/tanf/income/deductions/mt_tanf_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/mt/dhs/tanf/income/deductions/mt_tanf_dependent_care_deduction.py @@ -25,7 +25,11 @@ def formula(spm_unit, period, parameters): is_child | is_incapable_of_self_care ) - dependent_expenses = spm_unit("childcare_expenses", period) + # Uses pre-subsidy expenses to avoid circular dependency + # through childcare subsidies and SNAP. + dependent_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) dependent_deduction_person = p.amount * is_eligible_person total_dependent_deduction = spm_unit.sum(dependent_deduction_person) diff --git a/policyengine_us/variables/gov/states/nh/dhhs/fanf/income/nh_fanf_child_care_deduction.py b/policyengine_us/variables/gov/states/nh/dhhs/fanf/income/nh_fanf_child_care_deduction.py index c9e650906ec..5d53965f4a1 100644 --- a/policyengine_us/variables/gov/states/nh/dhhs/fanf/income/nh_fanf_child_care_deduction.py +++ b/policyengine_us/variables/gov/states/nh/dhhs/fanf/income/nh_fanf_child_care_deduction.py @@ -28,7 +28,10 @@ def formula(spm_unit, period, parameters): # Calculate max deduction per child based on employment status and age full_time_max = p.full_time.calc(age) part_time_max = p.part_time.calc(age) - max_per_child = where(any_full_time, full_time_max, part_time_max) + any_full_time_person = spm_unit.project(any_full_time) + max_per_child = where( + any_full_time_person, full_time_max, part_time_max + ) # Only count children max_deduction_per_child = max_per_child * is_child From 2b1518c7642db436bdc77d633d03725fdf86a4bd Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 16 Feb 2026 07:33:27 -0800 Subject: [PATCH 12/16] =?UTF-8?q?Add=20remaining=208=20state=20TANF=20prog?= =?UTF-8?q?rams:=20AR,=20ID,=20LA,=20MA,=20NE,=20OH,=20UT,=20WY=20(43=20?= =?UTF-8?q?=E2=86=92=2051)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All 51 US jurisdictions now have TANF programs wired up. Co-Authored-By: Claude Opus 4.6 --- policyengine_us/variables/gov/hhs/tanf/cash/tanf.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py b/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py index f40659a37fa..d595b9ed85a 100644 --- a/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py +++ b/policyengine_us/variables/gov/hhs/tanf/cash/tanf.py @@ -31,23 +31,31 @@ "tx_tanf", "va_tanf", "wa_tanf", - # Non-standard program names (15 states) + # Non-standard program names (23 states + DC) "ak_atap", # Alaska Temporary Assistance Program + "ar_tea", # Arkansas Transitional Employment Assistance "ct_tfa", # Connecticut Temporary Family Assistance "fl_tca", # Florida Temporary Cash Assistance "ia_fip", # Iowa Family Investment Program + "id_tafi", # Idaho Temporary Assistance for Families "ky_ktap", # Kentucky K-TAP + "la_fitap", # Louisiana Family Independence TAP + "ma_tafdc", # Massachusetts TAFDC "md_tca", # Maryland Temporary Cash Assistance "mi_fip", # Michigan Family Independence Program "mn_mfip", # Minnesota Family Investment Program + "ne_adc", # Nebraska Aid to Dependent Children "nh_fanf", # New Hampshire FANF "nj_wfnj", # New Jersey WorkFirst New Jersey "nm_works", # New Mexico Works + "oh_owf", # Ohio Works First "ri_works", # Rhode Island Works "tn_ff", # Tennessee Families First + "ut_fep", # Utah Family Employment Program "vt_reach_up", # Vermont Reach Up "wi_works", # Wisconsin Works (W-2) "wv_works", # West Virginia Works + "wy_power", # Wyoming POWER ] From 258b7437d08483353b9b444a43a29c6da2c45d8f Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 16 Feb 2026 16:42:25 -0800 Subject: [PATCH 13/16] Fix false childcare circular dependency across 24 TANF states and SNAP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The childcare "cycle" (TANF → childcare_expenses → childcare subsidies → SNAP → TANF) was an implementation artifact, not a real policy interaction. Root cause: CO CCAP's co_ccap_countable_income used SNAP income variables as a placeholder (with a TODO comment), creating a false dependency chain. California, Nebraska, and Massachusetts childcare subsidies never included SNAP in their income definitions. Changes: - Replace CO CCAP placeholder with actual income sources per 8 CCR 1403-1 - Switch 24 state TANF programs from spm_unit_pre_subsidy_childcare_expenses to childcare_expenses (the accurate post-subsidy amount) - Switch SNAP dependent care deduction from pre_subsidy_childcare_expenses to childcare_expenses (workaround no longer needed) - Update 65+ test files to match Co-Authored-By: Claude Opus 4.6 --- .../dpa/atap/ak_atap_childcare_deduction.yaml | 10 ------- .../gov/states/al/dhs/tanf/al_tanf.yaml | 2 -- .../tanf/al_tanf_countable_earned_income.yaml | 3 -- .../states/al/dhs/tanf/al_tanf_eligible.yaml | 1 - .../al/dhs/tanf/al_tanf_income_eligible.yaml | 1 - .../gov/states/al/dhs/tanf/integration.yaml | 2 -- .../tanf/az_tanf_countable_earned_income.yaml | 2 -- .../az/hhs/tanf/az_tanf_countable_income.yaml | 1 - .../az_tanf_dependent_care_deduction.yaml | 6 ---- .../gov/states/az/hhs/tanf/integration.yaml | 2 -- .../gov/states/dc/dhs/integration_tests.yaml | 1 - .../income/dc_tanf_childcare_deduction.yaml | 5 ---- .../gov/states/dc/dhs/tanf/integration.yaml | 3 -- .../de_tanf_countable_earned_income.yaml | 2 -- .../de_tanf_dependent_care_deduction.yaml | 10 ------- .../earned/de_tanf_net_earned_income.yaml | 1 - .../gov/states/de/dhss/tanf/integration.yaml | 3 -- .../eligibility/ga_tanf_income_eligible.yaml | 1 - .../income/ga_tanf_childcare_deduction.yaml | 13 --------- .../tanf/income/ga_tanf_countable_income.yaml | 3 -- .../gov/states/ga/dfcs/tanf/integration.yaml | 2 -- .../tanf/hi_tanf_countable_earned_income.yaml | 3 -- .../hi_tanf_dependent_care_deduction.yaml | 11 -------- .../gov/states/hi/dhs/tanf/integration.yaml | 1 - .../gov/states/il/dhs/tanf/il_tanf.yaml | 3 -- .../il_tanf_childcare_deduction.yaml | 3 -- ...e_earned_income_for_grant_calculation.yaml | 1 - ...earned_income_for_initial_eligibility.yaml | 1 - .../gov/states/ks/dcf/tanf/integration.yaml | 2 +- .../tanf/ks_tanf_countable_earned_income.yaml | 10 +++---- .../ky_ktap_dependent_care_disregard.yaml | 7 ----- .../md_tca_childcare_deduction.yaml | 10 ------- .../gov/states/md/tca/integration.yaml | 5 ---- .../gov/states/me/dhhs/tanf/integration.yaml | 7 ----- .../tanf/me_tanf_child_care_deduction.yaml | 5 ---- ...untable_earned_income_for_eligibility.yaml | 3 -- .../mn_mfip_dependent_care_deduction.yaml | 3 -- .../tanf/mo_tanf_child_care_deduction.yaml | 9 ------ .../mt_tanf_dependent_care_deduction.yaml | 22 +++++++-------- .../gov/states/mt/dhs/tanf/integration.yaml | 1 - .../gov/states/nh/dhhs/fanf/integration.yaml | 3 -- .../fanf/nh_fanf_child_care_deduction.yaml | 11 -------- .../fanf/nh_fanf_countable_earned_income.yaml | 4 --- .../income/nm_works_childcare_deduction.yaml | 14 ---------- .../nm_works_countable_earned_income.yaml | 2 -- .../states/nm/hca/nm_works/integration.yaml | 3 -- .../ok_tanf_dependent_care_deduction.yaml | 5 ---- .../gov/states/ri/dhs/works/integration.yaml | 1 - .../ri_works_countable_earned_income.yaml | 2 -- .../ri_works_dependent_care_deduction.yaml | 9 ------ .../ff/eligibility/tn_ff_income_eligible.yaml | 1 - .../ff/income/tn_ff_child_care_deduction.yaml | 8 ------ .../gov/states/tn/dhs/ff/integration.yaml | 1 - .../baseline/gov/states/tn/dhs/ff/tn_ff.yaml | 6 ---- .../tx_tanf_dependent_care_deduction.yaml | 3 -- .../gov/states/tx/tanf/integration.yaml | 1 - .../tx/tanf/ottanf/tx_ottanf_eligible.yaml | 1 - .../income/va_tanf_childcare_deduction.yaml | 7 ----- .../va_tanf_countable_earned_income.yaml | 1 - .../gov/states/va/dss/tanf/integration.yaml | 10 ------- .../states/vt/dcf/reach_up/integration.yaml | 1 - .../vt_reach_up_dependent_care_deduction.yaml | 5 ---- .../wv_works_countable_earned_income.yaml | 5 ---- .../gov/states/wv/dhhr/works/integration.yaml | 1 - .../earned/ak_atap_childcare_deduction.py | 6 +--- .../income/al_tanf_countable_earned_income.py | 6 +--- .../az_tanf_dependent_care_deduction.py | 6 +--- .../co/ccap/co_ccap_countable_income.py | 28 +++++++++++++++++-- .../deductions/dc_tanf_childcare_deduction.py | 6 +--- .../de_tanf_dependent_care_deduction.py | 6 +--- .../deductions/ga_tanf_childcare_deduction.py | 6 +--- .../hi_tanf_dependent_care_deduction.py | 4 +-- .../deductions/il_tanf_childcare_deduction.py | 6 +--- .../income/ks_tanf_countable_earned_income.py | 4 +-- .../ky_ktap_dependent_care_disregard.py | 6 +--- .../tca/income/md_tca_childcare_deduction.py | 6 +--- .../me_tanf_child_care_deduction.py | 6 +--- .../mn_mfip_dependent_care_deduction.py | 6 +--- .../mo_tanf_child_care_deduction.py | 6 +--- .../mt_tanf_dependent_care_deduction.py | 6 +--- .../income/nh_fanf_child_care_deduction.py | 6 +--- .../nm_works_childcare_deduction.py | 6 +--- .../ok_tanf_dependent_care_deduction.py | 6 +--- .../ri_works_dependent_care_deduction.py | 6 +--- .../ff/income/tn_ff_child_care_deduction.py | 6 +--- .../tx_tanf_dependent_care_deduction.py | 6 +--- .../income/va_tanf_childcare_deduction.py | 6 +--- .../vt_reach_up_dependent_care_deduction.py | 6 +--- .../wv_works_countable_earned_income.py | 6 +--- .../snap_dependent_care_deduction.py | 6 +--- 90 files changed, 67 insertions(+), 393 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/atap/ak_atap_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/atap/ak_atap_childcare_deduction.yaml index d598f6646fc..c64711a08e1 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/atap/ak_atap_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/atap/ak_atap_childcare_deduction.yaml @@ -16,7 +16,6 @@ spm_unit: members: [person1] childcare_expenses: 6_000 # $500/month annual = $6,000 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1] @@ -39,7 +38,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_800 # $150/month annual = $1,800 - spm_unit_pre_subsidy_childcare_expenses: 1_800 households: household: members: [person1, person2] @@ -62,7 +60,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month annual = $2,400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -85,7 +82,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual = $3,600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -108,7 +104,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month annual = $2,400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -131,7 +126,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_200 # $100/month annual = $1,200 - spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: members: [person1, person2] @@ -154,7 +148,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month annual = $3,000 - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -179,7 +172,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_800 # $400/month annual = $4,800 - spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [person1, person2, person3] @@ -206,7 +198,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 3_600 # $300/month annual = $3,600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2, person3] @@ -231,7 +222,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf.yaml b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf.yaml index f849907f983..71a45357d80 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf.yaml @@ -216,7 +216,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -268,7 +267,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_countable_earned_income.yaml index f54eb369641..2655d66e8b2 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_countable_earned_income.yaml @@ -150,7 +150,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -176,7 +175,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -209,7 +207,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_eligible.yaml index 6a0695ee896..69ee0a26592 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_eligible.yaml @@ -154,7 +154,6 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_income_eligible.yaml index bd4464859df..de5917a6870 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_income_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/al_tanf_income_eligible.yaml @@ -140,7 +140,6 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/integration.yaml index 262d61bda63..161f067c808 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/al/dhs/tanf/integration.yaml @@ -213,7 +213,6 @@ spm_unit: members: [person1, person2, person3, person4, person5] childcare_expenses: 2_400 # $200/month childcare - spm_unit_pre_subsidy_childcare_expenses: 2_400 tax_units: tax_unit: members: [person1, person2, person3, person4, person5] @@ -343,7 +342,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_earned_income.yaml index de5043658bd..a062258a746 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_earned_income.yaml @@ -81,7 +81,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -106,7 +105,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_income.yaml index 1762d327acb..2090267d4c6 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_countable_income.yaml @@ -103,7 +103,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_dependent_care_deduction.yaml index 41b1794c0a2..125dc2bbc8b 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/az_tanf_dependent_care_deduction.yaml @@ -16,7 +16,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 tax_units: tax_unit: members: [person1, person2] @@ -40,7 +39,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -66,7 +64,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -92,7 +89,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_800 # $150/month annual - spm_unit_pre_subsidy_childcare_expenses: 1_800 tax_units: tax_unit: members: [person1, person2] @@ -121,7 +117,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month annual - spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3] @@ -149,7 +144,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month annual - spm_unit_pre_subsidy_childcare_expenses: 3_000 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/integration.yaml index 9bf8342cb17..c44feb91867 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/az/hhs/tanf/integration.yaml @@ -119,7 +119,6 @@ members: [person1, person2] spm_unit_assets: 800 childcare_expenses: 3_600 # $300/month annual - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -345,7 +344,6 @@ members: [person1, person2, person3, person4] spm_unit_assets: 1_200 childcare_expenses: 6_000 # $500/month annual - spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/integration_tests.yaml b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/integration_tests.yaml index de0c9d0781e..64ca7bb7f31 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/integration_tests.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/integration_tests.yaml @@ -14,7 +14,6 @@ members: [person1, person2] is_tanf_enrolled: false childcare_expenses: 5_000 - spm_unit_pre_subsidy_childcare_expenses: 5_000 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/income/dc_tanf_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/income/dc_tanf_childcare_deduction.yaml index 1c90ff9713a..804e9243951 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/income/dc_tanf_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/income/dc_tanf_childcare_deduction.yaml @@ -15,7 +15,6 @@ is_tax_unit_dependent: true monthly_age: 1 childcare_expenses: 250*12 - spm_unit_pre_subsidy_childcare_expenses: 250*12 output: dc_tanf_childcare_deduction: 200 @@ -26,7 +25,6 @@ is_tax_unit_dependent: true monthly_age: 15 childcare_expenses: 250*12 - spm_unit_pre_subsidy_childcare_expenses: 250*12 output: dc_tanf_childcare_deduction: 175 @@ -37,7 +35,6 @@ is_tax_unit_dependent: false monthly_age: 15 childcare_expenses: 250*12 - spm_unit_pre_subsidy_childcare_expenses: 250*12 output: dc_tanf_childcare_deduction: 0 @@ -62,12 +59,10 @@ members: [person1, person2] is_tanf_enrolled: false childcare_expenses: 4_300 - spm_unit_pre_subsidy_childcare_expenses: 4_300 spm_unit2: members: [person3, person4] is_tanf_enrolled: false childcare_expenses: 4_300 - spm_unit_pre_subsidy_childcare_expenses: 4_300 tax_units: tax_unit: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/integration.yaml index 904f91228a5..4118b8e6191 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/tanf/integration.yaml @@ -31,7 +31,6 @@ members: [person1, person2] is_tanf_enrolled: false childcare_expenses: 5_000 - spm_unit_pre_subsidy_childcare_expenses: 5_000 dc_tanf_meets_work_requirements: true tax_units: tax_unit: @@ -63,7 +62,6 @@ members: [person1, person2] is_tanf_enrolled: true childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 dc_tanf_meets_work_requirements: true tax_units: tax_unit: @@ -95,7 +93,6 @@ members: [person1, person2] is_tanf_enrolled: false childcare_expenses: 1_200 - spm_unit_pre_subsidy_childcare_expenses: 1_200 dc_tanf_meets_work_requirements: true tax_units: tax_unit: diff --git a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_countable_earned_income.yaml index c342cae5357..af424f58355 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_countable_earned_income.yaml @@ -51,7 +51,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -75,7 +74,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.yaml index 71313806d07..90d2a495927 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.yaml @@ -13,7 +13,6 @@ spm_unit: members: [person1] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1] @@ -32,7 +31,6 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month > $200 max - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1] @@ -52,7 +50,6 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month > $175 max - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1] @@ -72,7 +69,6 @@ spm_unit: members: [person1] childcare_expenses: 1_800 # $150/month < $200 max - spm_unit_pre_subsidy_childcare_expenses: 1_800 households: household: members: [person1] @@ -92,7 +88,6 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1] @@ -112,7 +107,6 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1] @@ -137,7 +131,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -160,7 +153,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -180,7 +172,6 @@ spm_unit: members: [person1] childcare_expenses: 2_400 # $200/month exactly - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1] @@ -208,7 +199,6 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 9_600 # $800/month - spm_unit_pre_subsidy_childcare_expenses: 9_600 households: household: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_net_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_net_earned_income.yaml index 4564f909397..04f7c868eeb 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_net_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/income/earned/de_tanf_net_earned_income.yaml @@ -70,7 +70,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_800 # $150/month - spm_unit_pre_subsidy_childcare_expenses: 1_800 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/integration.yaml index d3b7c22ad76..66bbb8da26e 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/de/dhss/tanf/integration.yaml @@ -70,7 +70,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_800 # $400/month annual - spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3] @@ -199,7 +198,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_800 # $150/month annual - spm_unit_pre_subsidy_childcare_expenses: 1_800 tax_units: tax_unit: members: [person1, person2] @@ -467,7 +465,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month annual - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/eligibility/ga_tanf_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/eligibility/ga_tanf_income_eligible.yaml index 6ede2cf491d..c6361d2a7bf 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/eligibility/ga_tanf_income_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/eligibility/ga_tanf_income_eligible.yaml @@ -148,7 +148,6 @@ spm_unit: members: [parent, child] childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, child] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_childcare_deduction.yaml index 30f145353d3..0396a0d4221 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_childcare_deduction.yaml @@ -15,7 +15,6 @@ spm_unit: members: [adult] childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [adult] @@ -38,7 +37,6 @@ spm_unit: members: [parent, child] childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [parent, child] @@ -62,7 +60,6 @@ spm_unit: members: [parent, child] childcare_expenses: 1_800 # $150/month - spm_unit_pre_subsidy_childcare_expenses: 1_800 households: household: members: [parent, child] @@ -87,7 +84,6 @@ spm_unit: members: [parent, child] childcare_expenses: 3_000 # $250/month - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [parent, child] @@ -111,7 +107,6 @@ spm_unit: members: [parent, child] childcare_expenses: 1_200 # $100/month - spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: members: [parent, child] @@ -139,7 +134,6 @@ spm_unit: members: [parent, infant, toddler] childcare_expenses: 6_000 # $500/month - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [parent, infant, toddler] @@ -165,7 +159,6 @@ spm_unit: members: [parent, child] childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, child] @@ -192,7 +185,6 @@ spm_unit: members: [parent, infant1, infant2] childcare_expenses: 6_000 # $500/month - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [parent, infant1, infant2] @@ -219,7 +211,6 @@ spm_unit: members: [parent, child1, child2] childcare_expenses: 6_000 # $500/month - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [parent, child1, child2] @@ -243,7 +234,6 @@ spm_unit: members: [parent, child] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [parent, child] @@ -268,7 +258,6 @@ spm_unit: members: [parent, child] childcare_expenses: 2_400 # $200/month exactly - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, child] @@ -293,7 +282,6 @@ spm_unit: members: [parent, child] childcare_expenses: 2_100 # $175/month exactly - spm_unit_pre_subsidy_childcare_expenses: 2_100 households: household: members: [parent, child] @@ -318,7 +306,6 @@ spm_unit: members: [parent, child] childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, child] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_countable_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_countable_income.yaml index f4fd03d7671..53221bf315f 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_countable_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/income/ga_tanf_countable_income.yaml @@ -96,7 +96,6 @@ spm_unit: members: [parent, child] childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, child] @@ -120,7 +119,6 @@ spm_unit: members: [parent, child] childcare_expenses: 3_000 # $250/month - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [parent, child] @@ -167,7 +165,6 @@ spm_unit: members: [parent, child] childcare_expenses: 3_000 # $250/month - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [parent, child] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/integration.yaml index 0c7d293fe04..ee757693974 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ga/dfcs/tanf/integration.yaml @@ -135,7 +135,6 @@ members: [parent, child] spm_unit_cash_assets: 500 childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 is_tanf_enrolled: false # New applicant households: household: @@ -170,7 +169,6 @@ members: [parent, child] spm_unit_cash_assets: 500 childcare_expenses: 2_100 # $175/month - spm_unit_pre_subsidy_childcare_expenses: 2_100 is_tanf_enrolled: false # New applicant households: household: diff --git a/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/hi_tanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/hi_tanf_countable_earned_income.yaml index 0f40bc5dc3b..8a28757eca2 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/hi_tanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/hi_tanf_countable_earned_income.yaml @@ -52,7 +52,6 @@ members: [person1, person2] # $1,200/year = $100/month childcare childcare_expenses: 1_200 - spm_unit_pre_subsidy_childcare_expenses: 1_200 tax_units: tax_unit: members: [person1, person2] @@ -81,7 +80,6 @@ members: [person1, person2] # $6,000/year = $500/month childcare, exceeds $175 cap childcare_expenses: 6_000 - spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2] @@ -110,7 +108,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.yaml index 9e62a462019..5c03b208cb8 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.yaml @@ -40,7 +40,6 @@ members: [person1, person2] # $1,200/year = $100/month, below $175 cap childcare_expenses: 1_200 - spm_unit_pre_subsidy_childcare_expenses: 1_200 tax_units: tax_unit: members: [person1, person2] @@ -67,7 +66,6 @@ members: [person1, person2] # $3,600/year = $300/month, above $175 cap childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -94,7 +92,6 @@ members: [person1, person2] # $3,600/year = $300/month, above $165 cap childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -124,7 +121,6 @@ members: [person1, person2, person3] # $3,600/year = $300/month childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2, person3] @@ -154,7 +150,6 @@ members: [person1, person2, person3] # $3,600/year = $300/month childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2, person3] @@ -183,7 +178,6 @@ members: [person1, person2, person3] # $6,000/year = $500/month, above 2 × $175 = $350 cap childcare_expenses: 6_000 - spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3] @@ -210,7 +204,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 tax_units: tax_unit: members: [person1, person2] @@ -235,7 +228,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -263,7 +255,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2, person3] @@ -288,7 +279,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -318,7 +308,6 @@ members: [person1, person2, person3, person4] # $8,400/year = $700/month, above 3 × $175 = $525 cap childcare_expenses: 8_400 - spm_unit_pre_subsidy_childcare_expenses: 8_400 tax_units: tax_unit: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/integration.yaml index 3943219124e..4292fe8a3d8 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/hi/dhs/tanf/integration.yaml @@ -270,7 +270,6 @@ members: [person1, person2] # $1,800/year = $150/month childcare childcare_expenses: 1_800 - spm_unit_pre_subsidy_childcare_expenses: 1_800 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/il_tanf.yaml b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/il_tanf.yaml index 045b685b952..e8af68183a5 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/il_tanf.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/il_tanf.yaml @@ -56,7 +56,6 @@ members: [person1, person2, person3] spm_unit_size: 3 childcare_expenses: 4_800 # $400 per month - spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3] @@ -103,7 +102,6 @@ members: [person1, person2, person3] spm_unit_size: 3 childcare_expenses: 4_800 - spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3] @@ -150,7 +148,6 @@ members: [person1, person2, person3] spm_unit_size: 3 childcare_expenses: 400 - spm_unit_pre_subsidy_childcare_expenses: 400 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.yaml index 9c3aa50cf9d..5ba44eb817e 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.yaml @@ -15,7 +15,6 @@ is_tax_unit_dependent: true monthly_age: 1 childcare_expenses: 250 * 12 - spm_unit_pre_subsidy_childcare_expenses: 250 * 12 output: il_tanf_childcare_deduction: 200 * 12 @@ -26,7 +25,6 @@ is_tax_unit_dependent: true monthly_age: 2 childcare_expenses: 250 * 12 - spm_unit_pre_subsidy_childcare_expenses: 250 * 12 output: il_tanf_childcare_deduction: 175 @@ -37,6 +35,5 @@ is_tax_unit_dependent: false monthly_age: 15 childcare_expenses: 250 * 12 - spm_unit_pre_subsidy_childcare_expenses: 250 * 12 output: il_tanf_childcare_deduction: 0 diff --git a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_grant_calculation.yaml b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_grant_calculation.yaml index a566ba37346..786e02b8054 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_grant_calculation.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_grant_calculation.yaml @@ -43,7 +43,6 @@ members: [person1, person2, person3] spm_unit_size: 3 childcare_expenses: 4_800 # $400 per month - spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_initial_eligibility.yaml b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_initial_eligibility.yaml index cb4b0bf5c6a..f905adf0f87 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_initial_eligibility.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/income/earned/il_tanf_countable_earned_income_for_initial_eligibility.yaml @@ -47,7 +47,6 @@ members: [person1, person2, person3] spm_unit_size: 3 childcare_expenses: 4_800 # $400 per month - spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ks/dcf/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/ks/dcf/tanf/integration.yaml index 11784a941f6..84828efdcd6 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ks/dcf/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ks/dcf/tanf/integration.yaml @@ -334,7 +334,7 @@ spm_unit: members: [person1, person2, person3] spm_unit_cash_assets: 500 - spm_unit_pre_subsidy_childcare_expenses: 1_200 # $100/month + childcare_expenses: 1_200 # $100/month tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ks/dcf/tanf/ks_tanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/ks/dcf/tanf/ks_tanf_countable_earned_income.yaml index 8752c50de20..2bda4f21ce5 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ks/dcf/tanf/ks_tanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ks/dcf/tanf/ks_tanf_countable_earned_income.yaml @@ -7,7 +7,7 @@ input: state_code: KS ks_tanf_earned_income_after_deductions: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 + childcare_expenses: 0 output: ks_tanf_countable_earned_income: 0 @@ -16,7 +16,7 @@ input: state_code: KS ks_tanf_earned_income_after_deductions: 164 - spm_unit_pre_subsidy_childcare_expenses: 0 + childcare_expenses: 0 output: ks_tanf_countable_earned_income: 164 @@ -25,7 +25,7 @@ input: state_code: KS ks_tanf_earned_income_after_deductions: 164 - spm_unit_pre_subsidy_childcare_expenses: 1_200 # $100/month + childcare_expenses: 1_200 # $100/month output: # $164 - $100 = $64 ks_tanf_countable_earned_income: 64 @@ -35,7 +35,7 @@ input: state_code: KS ks_tanf_earned_income_after_deductions: 50 - spm_unit_pre_subsidy_childcare_expenses: 1_200 # $100/month + childcare_expenses: 1_200 # $100/month output: # max($50 - $100, 0) = $0 ks_tanf_countable_earned_income: 0 @@ -45,7 +45,7 @@ input: state_code: KS ks_tanf_earned_income_after_deductions: 400 - spm_unit_pre_subsidy_childcare_expenses: 3_600 # $300/month - no cap + childcare_expenses: 3_600 # $300/month - no cap output: # $400 - $300 = $100 ks_tanf_countable_earned_income: 100 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.yaml b/policyengine_us/tests/policy/baseline/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.yaml index 89a90669344..c5de05535e2 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.yaml @@ -16,7 +16,6 @@ spm_unit: members: [parent, child] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [parent, child] @@ -37,7 +36,6 @@ members: [parent, child] # $100/month * 12 = $1,200/year childcare_expenses: 1_200 - spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: members: [parent, child] @@ -60,7 +58,6 @@ members: [parent, child] # $300/month * 12 = $3,600/year childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [parent, child] @@ -83,7 +80,6 @@ members: [parent, infant] # $400/month * 12 = $4,800/year childcare_expenses: 4_800 - spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [parent, infant] @@ -108,7 +104,6 @@ members: [parent, infant, child] # $500/month * 12 = $6,000/year childcare_expenses: 6_000 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [parent, infant, child] @@ -132,7 +127,6 @@ members: [parent, teen] # $200/month * 12 = $2,400/year childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, teen] @@ -154,7 +148,6 @@ spm_unit: members: [parent, child] childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [parent, child] diff --git a/policyengine_us/tests/policy/baseline/gov/states/md/tca/income/deductions/md_tca_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/md/tca/income/deductions/md_tca_childcare_deduction.yaml index 58faceb5ff5..1e023ba1a40 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/md/tca/income/deductions/md_tca_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/md/tca/income/deductions/md_tca_childcare_deduction.yaml @@ -16,7 +16,6 @@ spm_units: spm_unit: members: [person1, person2] - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: state_code: MD @@ -37,7 +36,6 @@ spm_units: spm_unit: members: [person1, person2] - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: state_code: MD @@ -59,7 +57,6 @@ spm_units: spm_unit: members: [person1, person2] - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: state_code: MD @@ -81,7 +78,6 @@ spm_units: spm_unit: members: [person1, person2] - spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: state_code: MD @@ -103,7 +99,6 @@ spm_units: spm_unit: members: [person1, person2] - spm_unit_pre_subsidy_childcare_expenses: 600 households: household: state_code: MD @@ -146,7 +141,6 @@ spm_units: spm_unit: members: [person1, person2, person3] - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: state_code: MD @@ -170,7 +164,6 @@ spm_units: spm_unit: members: [person1, person2, person3] - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: state_code: MD @@ -196,7 +189,6 @@ spm_units: spm_unit: members: [person1, person2, person3, person4] - spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: state_code: MD @@ -218,7 +210,6 @@ spm_units: spm_unit: members: [person1, person2] - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: state_code: MD @@ -241,7 +232,6 @@ spm_units: spm_unit: members: [person1, person2] - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: state_code: MD diff --git a/policyengine_us/tests/policy/baseline/gov/states/md/tca/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/md/tca/integration.yaml index b1ecab98c96..77fce67d576 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/md/tca/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/md/tca/integration.yaml @@ -17,7 +17,6 @@ spm_unit: members: [person1, person2] is_tanf_enrolled: true - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: state_code: MD @@ -59,7 +58,6 @@ spm_unit: members: [person1, person2] is_tanf_enrolled: false - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: state_code: MD @@ -104,7 +102,6 @@ spm_unit: members: [person1, person2, person3] is_tanf_enrolled: true - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: state_code: MD @@ -193,7 +190,6 @@ spm_unit: members: [person1, person2] is_tanf_enrolled: true - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: state_code: MD @@ -267,7 +263,6 @@ spm_unit: members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] is_tanf_enrolled: true - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: state_code: MD diff --git a/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/integration.yaml index 63466571bd2..74d9bd37273 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/integration.yaml @@ -24,7 +24,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_200 # $350/month child care - spm_unit_pre_subsidy_childcare_expenses: 4_200 tax_units: tax_unit: members: [person1, person2, person3] @@ -319,7 +318,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month child care - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2] @@ -477,7 +475,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 tax_units: tax_unit: members: [person1, person2] @@ -592,7 +589,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 tax_units: tax_unit: members: [person1, person2] @@ -715,7 +711,6 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 6_000 # $500/month - spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3, person4] @@ -838,7 +833,6 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 9_600 # $800/month child care - spm_unit_pre_subsidy_childcare_expenses: 9_600 tax_units: tax_unit: members: [person1, person2, person3, person4] @@ -894,7 +888,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month - spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/me_tanf_child_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/me_tanf_child_care_deduction.yaml index 3fe73d489f0..fdd18614a45 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/me_tanf_child_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/me/dhhs/tanf/me_tanf_child_care_deduction.yaml @@ -23,7 +23,6 @@ spm_unit: members: [adult, infant, toddler, child_at_boundary, school_age, disabled_child] childcare_expenses: 12_000 # $1,000/month (above total limit) - spm_unit_pre_subsidy_childcare_expenses: 12_000 households: household: members: [adult, infant, toddler, child_at_boundary, school_age, disabled_child] @@ -48,7 +47,6 @@ spm_unit: members: [adult, child1, child2] childcare_expenses: 2_400 # $200/month (below $375 limit) - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [adult, child1, child2] @@ -72,7 +70,6 @@ spm_unit: members: [adult, child1, child2] childcare_expenses: 4_500 # $375/month (exactly at limit) - spm_unit_pre_subsidy_childcare_expenses: 4_500 households: household: members: [adult, child1, child2] @@ -94,7 +91,6 @@ spm_unit: members: [adult1, adult2] childcare_expenses: 6_000 # $500/month - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [adult1, adult2] @@ -115,7 +111,6 @@ spm_unit: members: [adult, child] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [adult, child] diff --git a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_countable_earned_income_for_eligibility.yaml b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_countable_earned_income_for_eligibility.yaml index aae2b3305cb..a8a5021f898 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_countable_earned_income_for_eligibility.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_countable_earned_income_for_eligibility.yaml @@ -14,7 +14,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2, person3] @@ -39,7 +38,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_500 # $375/month (max for 1 under 2 + 1 over 2) - spm_unit_pre_subsidy_childcare_expenses: 4_500 households: household: members: [person1, person2, person3] @@ -73,7 +71,6 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 4_500 # $375/month - spm_unit_pre_subsidy_childcare_expenses: 4_500 households: household: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_dependent_care_deduction.yaml index 24f73d7d374..3e2dc762073 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/mfip/mn_mfip_dependent_care_deduction.yaml @@ -14,7 +14,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2, person3] @@ -38,7 +37,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 3_600 # $300/month annual - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2, person3] @@ -67,7 +65,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month annual - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_child_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_child_care_deduction.yaml index 932ab72336a..9b80cbe54b4 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_child_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_child_care_deduction.yaml @@ -10,7 +10,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2] @@ -31,7 +30,6 @@ members: [person1, person2] # $100/month * 12 = $1,200/year childcare_expenses: 1_200 - spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: members: [person1, person2] @@ -53,7 +51,6 @@ members: [person1, person2] # $175/month * 12 = $2,100/year childcare_expenses: 2_100 - spm_unit_pre_subsidy_childcare_expenses: 2_100 households: household: members: [person1, person2] @@ -74,7 +71,6 @@ members: [person1, person2] # $300/month * 12 = $3,600/year childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -96,7 +92,6 @@ members: [person1, person2] # $200/month * 12 = $2,400/year childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -120,7 +115,6 @@ members: [person1, person2, person3] # $500/month * 12 = $6,000/year childcare_expenses: 6_000 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -145,7 +139,6 @@ members: [person1, person2, person3] # $250/month * 12 = $3,000/year childcare_expenses: 3_000 - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2, person3] @@ -167,7 +160,6 @@ members: [person1, person2] # $200/month * 12 = $2,400/year childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -187,7 +179,6 @@ members: [person1] # $200/month * 12 = $2,400/year childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1] diff --git a/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/income/mt_tanf_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/income/mt_tanf_dependent_care_deduction.yaml index 55c64e156d7..2f9dd5cc3a1 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/income/mt_tanf_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/income/mt_tanf_dependent_care_deduction.yaml @@ -5,7 +5,7 @@ state_code: MT is_tax_unit_dependent: true mt_tanf_eligible_child: true - spm_unit_pre_subsidy_childcare_expenses: 0 + childcare_expenses: 0 output: mt_tanf_dependent_care_deduction: 0 @@ -16,7 +16,7 @@ state_code: MT is_tax_unit_dependent: true mt_tanf_eligible_child: true - spm_unit_pre_subsidy_childcare_expenses: 250*12 + childcare_expenses: 250*12 output: mt_tanf_dependent_care_deduction: 200 @@ -27,7 +27,7 @@ state_code: MT is_tax_unit_dependent: false mt_tanf_eligible_child: true - spm_unit_pre_subsidy_childcare_expenses: 250*12 + childcare_expenses: 250*12 output: mt_tanf_dependent_care_deduction: 0 @@ -38,7 +38,7 @@ state_code: MT is_tax_unit_dependent: true mt_tanf_eligible_child: false - spm_unit_pre_subsidy_childcare_expenses: 250*12 + childcare_expenses: 250*12 output: mt_tanf_dependent_care_deduction: 0 @@ -49,7 +49,7 @@ state_code: MT is_tax_unit_dependent: true mt_tanf_eligible_child: true - spm_unit_pre_subsidy_childcare_expenses: 100*12 + childcare_expenses: 100*12 output: mt_tanf_dependent_care_deduction: 100 @@ -61,7 +61,7 @@ is_tax_unit_dependent: true mt_tanf_eligible_child: false is_incapable_of_self_care: true - spm_unit_pre_subsidy_childcare_expenses: 250*12 + childcare_expenses: 250*12 output: mt_tanf_dependent_care_deduction: 200 @@ -73,7 +73,7 @@ is_tax_unit_dependent: false mt_tanf_eligible_child: false is_incapable_of_self_care: true - spm_unit_pre_subsidy_childcare_expenses: 250*12 + childcare_expenses: 250*12 output: mt_tanf_dependent_care_deduction: 0 @@ -85,7 +85,7 @@ is_tax_unit_dependent: true mt_tanf_eligible_child: false is_incapable_of_self_care: true - spm_unit_pre_subsidy_childcare_expenses: 0 + childcare_expenses: 0 output: mt_tanf_dependent_care_deduction: 0 @@ -97,7 +97,7 @@ is_tax_unit_dependent: true mt_tanf_eligible_child: false is_incapable_of_self_care: true - spm_unit_pre_subsidy_childcare_expenses: 100*12 + childcare_expenses: 100*12 output: mt_tanf_dependent_care_deduction: 100 @@ -127,11 +127,11 @@ spm_unit1: members: [person1, person2, person4] is_tanf_enrolled: false - spm_unit_pre_subsidy_childcare_expenses: 5_000 + childcare_expenses: 5_000 spm_unit2: members: [person3, person5] is_tanf_enrolled: false - spm_unit_pre_subsidy_childcare_expenses: 5_000 + childcare_expenses: 5_000 tax_units: tax_unit: members: [person1, person2, person3, person4, person5] diff --git a/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/integration.yaml index 769701ef1a3..4f76eb1c68c 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mt/dhs/tanf/integration.yaml @@ -57,7 +57,6 @@ spm_units: spm_unit: childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 members: [person1, person2] households: household: diff --git a/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/integration.yaml index 3283c57c425..be5a4b069f4 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/integration.yaml @@ -222,7 +222,6 @@ spm_unit_assets: 500 is_tanf_enrolled: true childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -289,7 +288,6 @@ spm_unit_assets: 500 is_tanf_enrolled: false childcare_expenses: 6_000 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -323,7 +321,6 @@ spm_unit_assets: 500 is_tanf_enrolled: true childcare_expenses: 4_800 - spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_child_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_child_care_deduction.yaml index 0be03bae57b..5774df75b1e 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_child_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_child_care_deduction.yaml @@ -37,7 +37,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -59,7 +58,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -81,7 +79,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -103,7 +100,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -125,7 +121,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -147,7 +142,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -171,7 +165,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -193,7 +186,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_200 # $100/month - spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: members: [person1, person2] @@ -215,7 +207,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -237,7 +228,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -259,7 +249,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_countable_earned_income.yaml index 764bc238f30..5fd10457415 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/nh/dhhs/fanf/nh_fanf_countable_earned_income.yaml @@ -46,7 +46,6 @@ members: [person1, person2] is_tanf_enrolled: false childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -71,7 +70,6 @@ members: [person1, person2] is_tanf_enrolled: true childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -96,7 +94,6 @@ members: [person1, person2] is_tanf_enrolled: true childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -121,7 +118,6 @@ members: [person1, person2] is_tanf_enrolled: true childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_childcare_deduction.yaml index 198ff4d5a21..aaf7fa28703 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_childcare_deduction.yaml @@ -15,7 +15,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2] @@ -35,7 +34,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -57,7 +55,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -79,7 +76,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_200 # $100/month - spm_unit_pre_subsidy_childcare_expenses: 1_200 households: household: members: [person1, person2] @@ -103,7 +99,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month total - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -129,7 +124,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 3_000 # $250/month total - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2, person3] @@ -155,7 +149,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -177,7 +170,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -200,7 +192,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] @@ -225,7 +216,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -250,7 +240,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_800 # $400/month - spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [person1, person2, person3] @@ -275,7 +264,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_500 # $375/month = exact limit - spm_unit_pre_subsidy_childcare_expenses: 4_500 households: household: members: [person1, person2, person3] @@ -303,7 +291,6 @@ spm_unit: members: [person1, person2, person3, person4, person5] childcare_expenses: 12_000 # $1,000/month - spm_unit_pre_subsidy_childcare_expenses: 12_000 households: household: members: [person1, person2, person3, person4, person5] @@ -329,7 +316,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_countable_earned_income.yaml index 2327d6d1afe..40a982609d1 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/income/nm_works_countable_earned_income.yaml @@ -156,7 +156,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_500 # $125/month - spm_unit_pre_subsidy_childcare_expenses: 1_500 tax_units: tax_unit: members: [person1, person2] @@ -187,7 +186,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month - spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/integration.yaml index 2aac0622eba..59291a5b934 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/nm/hca/nm_works/integration.yaml @@ -96,7 +96,6 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 4_800 # $400/month - spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3, person4] @@ -307,7 +306,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month - spm_unit_pre_subsidy_childcare_expenses: 3_000 tax_units: tax_unit: members: [person1, person2] @@ -395,7 +393,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month - spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ok/dhs/tanf/ok_tanf_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/ok/dhs/tanf/ok_tanf_dependent_care_deduction.yaml index c15fb290c9f..39228cf7943 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ok/dhs/tanf/ok_tanf_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ok/dhs/tanf/ok_tanf_dependent_care_deduction.yaml @@ -14,7 +14,6 @@ spm_unit: members: [child] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [child] @@ -33,7 +32,6 @@ spm_unit: members: [child] childcare_expenses: 300 * 12 # $300/month annual - spm_unit_pre_subsidy_childcare_expenses: 300 * 12 households: household: members: [child] @@ -54,7 +52,6 @@ spm_unit: members: [child] childcare_expenses: 300 * 12 # $300/month annual - spm_unit_pre_subsidy_childcare_expenses: 300 * 12 households: household: members: [child] @@ -75,7 +72,6 @@ spm_unit: members: [child] childcare_expenses: 150 * 12 # $150/month annual - spm_unit_pre_subsidy_childcare_expenses: 150 * 12 households: household: members: [child] @@ -101,7 +97,6 @@ spm_unit: members: [adult, child1, child2] childcare_expenses: 500 * 12 # $500/month annual - spm_unit_pre_subsidy_childcare_expenses: 500 * 12 households: household: members: [adult, child1, child2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/integration.yaml index d7b56c80664..5bba2695c63 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/integration.yaml @@ -525,7 +525,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 4_800 # $400/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 4_800 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_countable_earned_income.yaml index 099d0b5228e..f774f449e9c 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_countable_earned_income.yaml @@ -148,7 +148,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 4_800 # $400/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [person1, person2] @@ -176,7 +175,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_dependent_care_deduction.yaml index 22068771ea1..bc477b41dba 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ri/dhs/works/ri_works_dependent_care_deduction.yaml @@ -13,7 +13,6 @@ spm_unit: members: [person1] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1] @@ -32,7 +31,6 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1] @@ -53,7 +51,6 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1] @@ -74,7 +71,6 @@ spm_unit: members: [person1] childcare_expenses: 1_800 # $150/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 1_800 households: household: members: [person1] @@ -100,7 +96,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -125,7 +120,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -149,7 +143,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 # $300/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -180,7 +173,6 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 7_200 # $600/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 7_200 households: household: members: [person1, person2, person3, person4] @@ -212,7 +204,6 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 4_800 # $400/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [person1, person2, person3, person4] diff --git a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/eligibility/tn_ff_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/eligibility/tn_ff_income_eligible.yaml index 4cc46481fe1..52814b795ee 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/eligibility/tn_ff_income_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/eligibility/tn_ff_income_eligible.yaml @@ -55,7 +55,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.yaml index 1f7a5ab8939..7f1eaa03b21 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.yaml @@ -17,7 +17,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2] @@ -36,7 +35,6 @@ spm_unit: members: [person1] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1] @@ -57,7 +55,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -78,7 +75,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -102,7 +98,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -127,7 +122,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -152,7 +146,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -179,7 +172,6 @@ # Max deduction would be $200 + $175 = $375/month # Only $300/month in expenses ($3,600/year) childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/integration.yaml index dfdb120692a..e5a8eb19d36 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/integration.yaml @@ -234,7 +234,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 # $500/month - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/tn_ff.yaml b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/tn_ff.yaml index 6bbf6efa259..c19c47db6a7 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/tn_ff.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tn/dhs/ff/tn_ff.yaml @@ -21,7 +21,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -46,7 +45,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -71,7 +69,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -96,7 +93,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -121,7 +117,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -146,7 +141,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month * 12 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.yaml index 108646368c4..17c0a6cbc0f 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.yaml @@ -10,7 +10,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -30,7 +29,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2] @@ -48,7 +46,6 @@ spm_unit: members: [person1] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1] diff --git a/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/integration.yaml index 136341387de..e4a14c654c5 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/integration.yaml @@ -57,7 +57,6 @@ members: [person1, person2] spm_unit_cash_assets: 800 childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 is_tanf_enrolled: false households: household: diff --git a/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf_eligible.yaml index 36953834a1d..2f750cb3912 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf_eligible.yaml @@ -148,7 +148,6 @@ spm_unit_size: 2 spm_unit_cash_assets: 500 childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 tx_ottanf_crisis_criteria: true households: household: diff --git a/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.yaml index a9291a94050..0102cc67fe3 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.yaml @@ -12,7 +12,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -46,7 +45,6 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 4_800 - spm_unit_pre_subsidy_childcare_expenses: 4_800 households: household: members: [person1, person2, person3, person4] @@ -71,7 +69,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2] @@ -96,7 +93,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -125,7 +121,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 - spm_unit_pre_subsidy_childcare_expenses: 3_000 households: household: members: [person1, person2] @@ -153,7 +148,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -181,7 +175,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 5_000 - spm_unit_pre_subsidy_childcare_expenses: 5_000 households: household: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_countable_earned_income.yaml index fcf99cd0dfb..aa1c5e604ea 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/income/va_tanf_countable_earned_income.yaml @@ -175,7 +175,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_400 - spm_unit_pre_subsidy_childcare_expenses: 2_400 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/integration.yaml index 02e9d4ddd06..c03e3918078 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/va/dss/tanf/integration.yaml @@ -20,7 +20,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -72,7 +71,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -129,7 +127,6 @@ spm_unit: members: [person1, person2, person3, person4] childcare_expenses: 6_000 - spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2, person3, person4] @@ -183,7 +180,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -237,7 +233,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_600 - spm_unit_pre_subsidy_childcare_expenses: 3_600 households: household: members: [person1, person2] @@ -295,7 +290,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -375,7 +369,6 @@ spm_unit: members: [person1, person2, person3, person4, person5, person6, person7, person8] childcare_expenses: 18_000 - spm_unit_pre_subsidy_childcare_expenses: 18_000 households: household: members: [person1, person2, person3, person4, person5, person6, person7, person8] @@ -436,7 +429,6 @@ spm_unit: members: [person1, person2, person3] childcare_expenses: 6_000 - spm_unit_pre_subsidy_childcare_expenses: 6_000 households: household: members: [person1, person2, person3] @@ -491,7 +483,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 households: household: members: [person1, person2] @@ -546,7 +537,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 2_100 - spm_unit_pre_subsidy_childcare_expenses: 2_100 households: household: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/integration.yaml index 7a1c0d5accb..f86146cdf74 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/integration.yaml @@ -589,7 +589,6 @@ members: [person1, person2, person3] spm_unit_size: 3 childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1, person2, person3] diff --git a/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/vt_reach_up_dependent_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/vt_reach_up_dependent_care_deduction.yaml index b4885fc95a6..45532fdd3dc 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/vt_reach_up_dependent_care_deduction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/vt/dcf/reach_up/vt_reach_up_dependent_care_deduction.yaml @@ -12,7 +12,6 @@ spm_unit: members: [person1] childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 tax_units: tax_unit: members: [person1] @@ -33,7 +32,6 @@ spm_unit: members: [person1] childcare_expenses: 1_200 # $100/month - spm_unit_pre_subsidy_childcare_expenses: 1_200 tax_units: tax_unit: members: [person1] @@ -55,7 +53,6 @@ spm_unit: members: [person1] childcare_expenses: 3_600 # $300/month - spm_unit_pre_subsidy_childcare_expenses: 3_600 tax_units: tax_unit: members: [person1] @@ -79,7 +76,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 3_000 # $250/month - spm_unit_pre_subsidy_childcare_expenses: 3_000 tax_units: tax_unit: members: [person1, person2] @@ -104,7 +100,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 6_000 # $500/month - spm_unit_pre_subsidy_childcare_expenses: 6_000 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.yaml index f069a7c5fec..fe11c845801 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.yaml @@ -13,7 +13,6 @@ state_code: WV tanf_gross_earned_income: 1_000 childcare_expenses: 0 - spm_unit_pre_subsidy_childcare_expenses: 0 output: # Step 1: Gross earned = $1,000/month # Step 2: After 40% disregard = 1,000 * 0.60 = $600 @@ -28,7 +27,6 @@ state_code: WV tanf_gross_earned_income: 1_000 childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 output: # Step 1: Gross earned = $1,000/month # Step 2: After 40% disregard = 1,000 * 0.60 = $600 @@ -43,7 +41,6 @@ state_code: WV tanf_gross_earned_income: 1_000 childcare_expenses: 7_200 # $600/month - spm_unit_pre_subsidy_childcare_expenses: 7_200 output: # Step 1: Gross earned = $1,000/month # Step 2: After 40% disregard = 1,000 * 0.60 = $600 @@ -58,7 +55,6 @@ state_code: WV tanf_gross_earned_income: 1_000 childcare_expenses: 9_600 # $800/month - spm_unit_pre_subsidy_childcare_expenses: 9_600 output: # Step 1: Gross earned = $1,000/month # Step 2: After 40% disregard = 1,000 * 0.60 = $600 @@ -74,7 +70,6 @@ state_code: WV tanf_gross_earned_income: 0 childcare_expenses: 2_400 # $200/month - spm_unit_pre_subsidy_childcare_expenses: 2_400 output: # Step 1: Gross earned = $0 # Step 2: After 40% disregard = 0 * 0.60 = $0 diff --git a/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/integration.yaml index baa685641db..870ccf7f619 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wv/dhhr/works/integration.yaml @@ -279,7 +279,6 @@ spm_unit: members: [person1, person2] childcare_expenses: 1_200 # $100/month - spm_unit_pre_subsidy_childcare_expenses: 1_200 tax_units: tax_unit: members: [person1, person2] diff --git a/policyengine_us/variables/gov/states/ak/dpa/atap/income/earned/ak_atap_childcare_deduction.py b/policyengine_us/variables/gov/states/ak/dpa/atap/income/earned/ak_atap_childcare_deduction.py index 1905f33609c..75166467298 100644 --- a/policyengine_us/variables/gov/states/ak/dpa/atap/income/earned/ak_atap_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/ak/dpa/atap/income/earned/ak_atap_childcare_deduction.py @@ -18,11 +18,7 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("age", period.this_year) - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) max_per_dependent = p.childcare.calc(age) * dependent total_max_disregard = spm_unit.sum(max_per_dependent) return min_(childcare_expenses, total_max_disregard) diff --git a/policyengine_us/variables/gov/states/al/dhs/tanf/income/al_tanf_countable_earned_income.py b/policyengine_us/variables/gov/states/al/dhs/tanf/income/al_tanf_countable_earned_income.py index ef68384c1a9..811c7f07973 100644 --- a/policyengine_us/variables/gov/states/al/dhs/tanf/income/al_tanf_countable_earned_income.py +++ b/policyengine_us/variables/gov/states/al/dhs/tanf/income/al_tanf_countable_earned_income.py @@ -15,9 +15,5 @@ def formula(spm_unit, period, parameters): gross_earned = add(spm_unit, period, ["tanf_gross_earned_income"]) work_expense = gross_earned * p.work_expense_rate # Child care is deducted from earned income per Section 3115.B - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) return max_(gross_earned - work_expense - childcare_expenses, 0) diff --git a/policyengine_us/variables/gov/states/az/hhs/tanf/income/az_tanf_dependent_care_deduction.py b/policyengine_us/variables/gov/states/az/hhs/tanf/income/az_tanf_dependent_care_deduction.py index a2598eb8005..2e0cfdd3611 100644 --- a/policyengine_us/variables/gov/states/az/hhs/tanf/income/az_tanf_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/az/hhs/tanf/income/az_tanf_dependent_care_deduction.py @@ -18,11 +18,7 @@ def formula(spm_unit, period, parameters): person = spm_unit.members age = person("age", period.this_year) - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) # Calculate eligible deduction for dependent children (based on age) is_dependent = person("is_tax_unit_dependent", period.this_year) diff --git a/policyengine_us/variables/gov/states/co/ccap/co_ccap_countable_income.py b/policyengine_us/variables/gov/states/co/ccap/co_ccap_countable_income.py index e5478338ba8..4a04f2086c7 100644 --- a/policyengine_us/variables/gov/states/co/ccap/co_ccap_countable_income.py +++ b/policyengine_us/variables/gov/states/co/ccap/co_ccap_countable_income.py @@ -5,8 +5,30 @@ class co_ccap_countable_income(Variable): value_type = float entity = SPMUnit definition_period = MONTH - label = "Colorado Child Care Assitance Program Countable Income" + label = "Colorado Child Care Assistance Program countable income" reference = "https://www.sos.state.co.us/CCR/GenerateRulePdf.do?ruleVersionId=11042&fileName=8%20CCR%201403-1#page=22" unit = USD - # TODO: Use income components from the manual. - adds = ["snap_earned_income", "snap_unearned_income"] + defined_for = StateCode.CO + # 8 CCR 1403-1 Section 7.105: gross income from all sources. + adds = [ + # Earned income + "employment_income", + "self_employment_income", + "farm_income", + # Unearned income + "social_security", + "pension_income", + "retirement_distributions", + "military_retirement_pay", + "unemployment_compensation", + "workers_compensation", + "child_support_received", + "alimony_income", + "interest_income", + "dividend_income", + "rental_income", + "veterans_benefits", + "disability_benefits", + "capital_gains", + "gi_cash_assistance", + ] diff --git a/policyengine_us/variables/gov/states/dc/dhs/tanf/income/deductions/dc_tanf_childcare_deduction.py b/policyengine_us/variables/gov/states/dc/dhs/tanf/income/deductions/dc_tanf_childcare_deduction.py index 34c603ce53f..bda6d7b293b 100644 --- a/policyengine_us/variables/gov/states/dc/dhs/tanf/income/deductions/dc_tanf_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/dc/dhs/tanf/income/deductions/dc_tanf_childcare_deduction.py @@ -17,11 +17,7 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("monthly_age", period) - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) childcare_deduction_person = p.amount.calc(age) * dependent total_childcare_deduction = spm_unit.sum(childcare_deduction_person) diff --git a/policyengine_us/variables/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.py b/policyengine_us/variables/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.py index d92b0cb6a26..252c58cb1c3 100644 --- a/policyengine_us/variables/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/de/dhss/tanf/income/earned/de_tanf_dependent_care_deduction.py @@ -27,10 +27,6 @@ def formula(spm_unit, period, parameters): total_max = spm_unit.sum(max_per_dependent * is_dependent) # Cap at actual childcare expenses. - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) return min_(childcare_expenses, total_max) diff --git a/policyengine_us/variables/gov/states/ga/dfcs/tanf/income/deductions/ga_tanf_childcare_deduction.py b/policyengine_us/variables/gov/states/ga/dfcs/tanf/income/deductions/ga_tanf_childcare_deduction.py index 5e0ca9772d0..967f66b390d 100644 --- a/policyengine_us/variables/gov/states/ga/dfcs/tanf/income/deductions/ga_tanf_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/ga/dfcs/tanf/income/deductions/ga_tanf_childcare_deduction.py @@ -18,11 +18,7 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("monthly_age", period) - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) # PAMMS 1615: "$200 monthly for each child under the age of two" # and "$175 monthly for each individual age two or above" diff --git a/policyengine_us/variables/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.py b/policyengine_us/variables/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.py index b0912c9de69..a05c8b18856 100644 --- a/policyengine_us/variables/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/hi/dhs/tanf/income/hi_tanf_dependent_care_deduction.py @@ -15,9 +15,7 @@ class hi_tanf_dependent_care_deduction(Variable): def formula(spm_unit, period, parameters): p = parameters(period).gov.states.hi.dhs.tanf.deductions.dependent_care - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - expenses = spm_unit("spm_unit_pre_subsidy_childcare_expenses", period) + expenses = spm_unit("childcare_expenses", period) # Count children in the unit for the per-child cap person = spm_unit.members diff --git a/policyengine_us/variables/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.py b/policyengine_us/variables/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.py index 979e1c2925c..999a3354478 100644 --- a/policyengine_us/variables/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/il/dhs/tanf/income/deductions/il_tanf_childcare_deduction.py @@ -17,11 +17,7 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("monthly_age", period) - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) childcare_deduction_person = p.calc(age) * dependent total_childcare_deduction = spm_unit.sum(childcare_deduction_person) diff --git a/policyengine_us/variables/gov/states/ks/dcf/tanf/income/ks_tanf_countable_earned_income.py b/policyengine_us/variables/gov/states/ks/dcf/tanf/income/ks_tanf_countable_earned_income.py index b520c243763..48c984cfd20 100644 --- a/policyengine_us/variables/gov/states/ks/dcf/tanf/income/ks_tanf_countable_earned_income.py +++ b/policyengine_us/variables/gov/states/ks/dcf/tanf/income/ks_tanf_countable_earned_income.py @@ -24,7 +24,5 @@ def formula(spm_unit, period, parameters): earned_after_deductions = add( spm_unit, period, ["ks_tanf_earned_income_after_deductions"] ) - dependent_care = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + dependent_care = spm_unit("childcare_expenses", period) return max_(earned_after_deductions - dependent_care, 0) diff --git a/policyengine_us/variables/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.py b/policyengine_us/variables/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.py index 25ce081b3fe..5391662e61e 100644 --- a/policyengine_us/variables/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.py +++ b/policyengine_us/variables/gov/states/ky/dcbs/ktap/income/ky_ktap_dependent_care_disregard.py @@ -24,9 +24,5 @@ def formula(spm_unit, period, parameters): age = person("age", period.this_year) max_per_child = p.dependent_care.calc(age) total_max_disregard = spm_unit.sum(max_per_child) - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) return min_(childcare_expenses, total_max_disregard) diff --git a/policyengine_us/variables/gov/states/md/tca/income/md_tca_childcare_deduction.py b/policyengine_us/variables/gov/states/md/tca/income/md_tca_childcare_deduction.py index 0887bdb15f6..b94d040fc6b 100644 --- a/policyengine_us/variables/gov/states/md/tca/income/md_tca_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/md/tca/income/md_tca_childcare_deduction.py @@ -24,9 +24,5 @@ def formula(spm_unit, period, parameters): per_child_cap = p.childcare_expenses.cap.calc(max_monthly_hours) max_deduction = per_child_cap * num_children # Actual childcare expenses (capped at regulatory maximum). - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) return min_(childcare_expenses, max_deduction) diff --git a/policyengine_us/variables/gov/states/me/dhhs/tanf/income/deductions/me_tanf_child_care_deduction.py b/policyengine_us/variables/gov/states/me/dhhs/tanf/income/deductions/me_tanf_child_care_deduction.py index a4afdcfe044..822f74c93ec 100644 --- a/policyengine_us/variables/gov/states/me/dhhs/tanf/income/deductions/me_tanf_child_care_deduction.py +++ b/policyengine_us/variables/gov/states/me/dhhs/tanf/income/deductions/me_tanf_child_care_deduction.py @@ -31,9 +31,5 @@ def formula(spm_unit, period, parameters): total_max_deduction = spm_unit.sum(max_deduction_per_person) # Deduction is lesser of actual expenses or maximum. - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) return min_(childcare_expenses, total_max_deduction) diff --git a/policyengine_us/variables/gov/states/mn/dcyf/mfip/income/earned/mn_mfip_dependent_care_deduction.py b/policyengine_us/variables/gov/states/mn/dcyf/mfip/income/earned/mn_mfip_dependent_care_deduction.py index b52425df0d4..c2f51d9ca60 100644 --- a/policyengine_us/variables/gov/states/mn/dcyf/mfip/income/earned/mn_mfip_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/mn/dcyf/mfip/income/earned/mn_mfip_dependent_care_deduction.py @@ -20,11 +20,7 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("monthly_age", period) - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) max_deduction_per_child = p.calc(age) * dependent total_max_deduction = spm_unit.sum(max_deduction_per_child) return min_(childcare_expenses, total_max_deduction) diff --git a/policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_child_care_deduction.py b/policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_child_care_deduction.py index 71f7121fb76..531041ed92e 100644 --- a/policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_child_care_deduction.py +++ b/policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_child_care_deduction.py @@ -18,11 +18,7 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("age", period.this_year) - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) max_deduction_per_child = p.amount.calc(age) * dependent total_max_deduction = spm_unit.sum(max_deduction_per_child) return min_(childcare_expenses, total_max_deduction) diff --git a/policyengine_us/variables/gov/states/mt/dhs/tanf/income/deductions/mt_tanf_dependent_care_deduction.py b/policyengine_us/variables/gov/states/mt/dhs/tanf/income/deductions/mt_tanf_dependent_care_deduction.py index 4b38de08a25..3f21b040446 100644 --- a/policyengine_us/variables/gov/states/mt/dhs/tanf/income/deductions/mt_tanf_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/mt/dhs/tanf/income/deductions/mt_tanf_dependent_care_deduction.py @@ -25,11 +25,7 @@ def formula(spm_unit, period, parameters): is_child | is_incapable_of_self_care ) - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - dependent_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + dependent_expenses = spm_unit("childcare_expenses", period) dependent_deduction_person = p.amount * is_eligible_person total_dependent_deduction = spm_unit.sum(dependent_deduction_person) diff --git a/policyengine_us/variables/gov/states/nh/dhhs/fanf/income/nh_fanf_child_care_deduction.py b/policyengine_us/variables/gov/states/nh/dhhs/fanf/income/nh_fanf_child_care_deduction.py index 5d53965f4a1..ce31cab3526 100644 --- a/policyengine_us/variables/gov/states/nh/dhhs/fanf/income/nh_fanf_child_care_deduction.py +++ b/policyengine_us/variables/gov/states/nh/dhhs/fanf/income/nh_fanf_child_care_deduction.py @@ -38,10 +38,6 @@ def formula(spm_unit, period, parameters): total_max_deduction = spm_unit.sum(max_deduction_per_child) # Cap at actual childcare expenses. - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) return min_(childcare_expenses, total_max_deduction) diff --git a/policyengine_us/variables/gov/states/nm/hca/nm_works/income/deductions/nm_works_childcare_deduction.py b/policyengine_us/variables/gov/states/nm/hca/nm_works/income/deductions/nm_works_childcare_deduction.py index c294db5b56c..8e272cb0e35 100644 --- a/policyengine_us/variables/gov/states/nm/hca/nm_works/income/deductions/nm_works_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/nm/hca/nm_works/income/deductions/nm_works_childcare_deduction.py @@ -21,11 +21,7 @@ def formula(spm_unit, period, parameters): person = spm_unit.members is_dependent = person("is_tax_unit_dependent", period) age = person("age", period.this_year) - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) # Max deduction per child based on age childcare_max_per_child = p.amount.calc(age) * is_dependent diff --git a/policyengine_us/variables/gov/states/ok/dhs/tanf/income/ok_tanf_dependent_care_deduction.py b/policyengine_us/variables/gov/states/ok/dhs/tanf/income/ok_tanf_dependent_care_deduction.py index 4fbe1fda9c1..11bed24204e 100644 --- a/policyengine_us/variables/gov/states/ok/dhs/tanf/income/ok_tanf_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/ok/dhs/tanf/income/ok_tanf_dependent_care_deduction.py @@ -30,10 +30,6 @@ def formula(spm_unit, period, parameters): ) # Cap at actual childcare expenses. - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) return min_(childcare_expenses, total_max_deduction) diff --git a/policyengine_us/variables/gov/states/ri/dhs/works/income/deductions/ri_works_dependent_care_deduction.py b/policyengine_us/variables/gov/states/ri/dhs/works/income/deductions/ri_works_dependent_care_deduction.py index c945263733c..fb7d93605cc 100644 --- a/policyengine_us/variables/gov/states/ri/dhs/works/income/deductions/ri_works_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/ri/dhs/works/income/deductions/ri_works_dependent_care_deduction.py @@ -26,10 +26,6 @@ def formula(spm_unit, period, parameters): max_per_dependent = p.amount.calc(age) total_max_deduction = spm_unit.sum(max_per_dependent * is_dependent) - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) return min_(childcare_expenses, total_max_deduction) diff --git a/policyengine_us/variables/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.py b/policyengine_us/variables/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.py index 927c552706f..b8a9e09e1e8 100644 --- a/policyengine_us/variables/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.py +++ b/policyengine_us/variables/gov/states/tn/dhs/ff/income/tn_ff_child_care_deduction.py @@ -15,11 +15,7 @@ def formula(spm_unit, period, parameters): person = spm_unit.members dependent = person("is_tax_unit_dependent", period) age = person("monthly_age", period) - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) childcare_deduction_person = ( p.child_care_deduction.calc(age) * dependent ) diff --git a/policyengine_us/variables/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.py b/policyengine_us/variables/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.py index 96fa656990b..a0c7f0d6c8a 100644 --- a/policyengine_us/variables/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.py @@ -17,11 +17,7 @@ def formula(spm_unit, period, parameters): # Actual cost of dependent child care, capped at maximum by age # Per § 372.409 (a)(3): up to $200/month for children under 2, $175/month for children 2+ - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) # Calculate maximum deduction for dependents (children or incapacitated adults) person = spm_unit.members diff --git a/policyengine_us/variables/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.py b/policyengine_us/variables/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.py index 45827f441d7..ae53f5145bf 100644 --- a/policyengine_us/variables/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.py +++ b/policyengine_us/variables/gov/states/va/dss/tanf/income/va_tanf_childcare_deduction.py @@ -21,10 +21,6 @@ def formula(spm_unit, period, parameters): "is_disabled", period.this_year ) care_recipient = dependent | disabled_adult - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) max_deduction = spm_unit.sum(p.full_time.calc(age) * care_recipient) return min_(childcare_expenses, max_deduction) diff --git a/policyengine_us/variables/gov/states/vt/dcf/reach_up/income/deductions/vt_reach_up_dependent_care_deduction.py b/policyengine_us/variables/gov/states/vt/dcf/reach_up/income/deductions/vt_reach_up_dependent_care_deduction.py index 9b7dc3d6417..df4fd0bdaaa 100644 --- a/policyengine_us/variables/gov/states/vt/dcf/reach_up/income/deductions/vt_reach_up_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/states/vt/dcf/reach_up/income/deductions/vt_reach_up_dependent_care_deduction.py @@ -18,9 +18,5 @@ def formula(spm_unit, period, parameters): head_or_spouse = person("is_tax_unit_head_or_spouse", period) num_participants = spm_unit.sum(head_or_spouse) max_deduction = p.dependent_care * num_participants - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - childcare_expenses = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + childcare_expenses = spm_unit("childcare_expenses", period) return min_(childcare_expenses, max_deduction) diff --git a/policyengine_us/variables/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.py b/policyengine_us/variables/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.py index bb7430e57ce..f259ebe39d4 100644 --- a/policyengine_us/variables/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.py +++ b/policyengine_us/variables/gov/states/wv/dhhr/works/income/earned/wv_works_countable_earned_income.py @@ -17,9 +17,5 @@ def formula(spm_unit, period, parameters): # Step 2: Subtract 40% (Earned Income Disregard) after_disregard = gross_earned * (1 - p.earned_income_disregard.rate) # Step 3: Subtract Dependent Care Deduction (no maximum, per Section 4.5.2.A.2) - # Uses pre-subsidy expenses to avoid circular dependency - # through childcare subsidies and SNAP. - dependent_care = spm_unit( - "spm_unit_pre_subsidy_childcare_expenses", period - ) + dependent_care = spm_unit("childcare_expenses", period) return max_(after_disregard - dependent_care, 0) diff --git a/policyengine_us/variables/gov/usda/snap/income/deductions/snap_dependent_care_deduction.py b/policyengine_us/variables/gov/usda/snap/income/deductions/snap_dependent_care_deduction.py index 4422d0a6050..233e11e9b16 100644 --- a/policyengine_us/variables/gov/usda/snap/income/deductions/snap_dependent_care_deduction.py +++ b/policyengine_us/variables/gov/usda/snap/income/deductions/snap_dependent_care_deduction.py @@ -10,8 +10,4 @@ class snap_dependent_care_deduction(Variable): definition_period = MONTH reference = "https://www.law.cornell.edu/uscode/text/7/2014#e_3" - # Use pre-subsidy expenses to avoid circular dependency - # (childcare subsidies depend on income, which would create a - # circular dependency if SNAP deductions depended on subsidized - # childcare expenses). - adds = ["pre_subsidy_childcare_expenses"] + adds = ["childcare_expenses"] From 19296cd0b1f6edb488fb65ae3cc0e1769887ff49 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 16 Feb 2026 17:18:53 -0800 Subject: [PATCH 14/16] Move CO CCAP countable income sources to parameter file Extract hardcoded income source list from co_ccap_countable_income.py into a YAML parameter at gov.states.co.ccap.income.countable_income.sources, following the same pattern as MA CCFA and federal TANF income definitions. Co-Authored-By: Claude Opus 4.6 --- .../ccap/income/countable_income/sources.yaml | 31 +++++++++++++++++++ .../co/ccap/co_ccap_countable_income.py | 25 ++------------- 2 files changed, 33 insertions(+), 23 deletions(-) create mode 100644 policyengine_us/parameters/gov/states/co/ccap/income/countable_income/sources.yaml diff --git a/policyengine_us/parameters/gov/states/co/ccap/income/countable_income/sources.yaml b/policyengine_us/parameters/gov/states/co/ccap/income/countable_income/sources.yaml new file mode 100644 index 00000000000..e8c73e3eca8 --- /dev/null +++ b/policyengine_us/parameters/gov/states/co/ccap/income/countable_income/sources.yaml @@ -0,0 +1,31 @@ +description: Colorado counts these income sources as countable income under the Child Care Assistance Program. +values: + 2020-01-01: + # Earned income + - employment_income + - self_employment_income + - farm_income + # Unearned income + - social_security + - pension_income + - retirement_distributions + - military_retirement_pay + - unemployment_compensation + - workers_compensation + - child_support_received + - alimony_income + - interest_income + - dividend_income + - rental_income + - veterans_benefits + - disability_benefits + - capital_gains + - gi_cash_assistance + +metadata: + unit: list + period: year + label: Colorado CCAP countable income sources + reference: + - title: 8 CCR 1403-1 Section 7.105 + href: https://www.sos.state.co.us/CCR/GenerateRulePdf.do?ruleVersionId=11042&fileName=8%20CCR%201403-1#page=22 diff --git a/policyengine_us/variables/gov/states/co/ccap/co_ccap_countable_income.py b/policyengine_us/variables/gov/states/co/ccap/co_ccap_countable_income.py index 4a04f2086c7..11e5f054067 100644 --- a/policyengine_us/variables/gov/states/co/ccap/co_ccap_countable_income.py +++ b/policyengine_us/variables/gov/states/co/ccap/co_ccap_countable_income.py @@ -9,26 +9,5 @@ class co_ccap_countable_income(Variable): reference = "https://www.sos.state.co.us/CCR/GenerateRulePdf.do?ruleVersionId=11042&fileName=8%20CCR%201403-1#page=22" unit = USD defined_for = StateCode.CO - # 8 CCR 1403-1 Section 7.105: gross income from all sources. - adds = [ - # Earned income - "employment_income", - "self_employment_income", - "farm_income", - # Unearned income - "social_security", - "pension_income", - "retirement_distributions", - "military_retirement_pay", - "unemployment_compensation", - "workers_compensation", - "child_support_received", - "alimony_income", - "interest_income", - "dividend_income", - "rental_income", - "veterans_benefits", - "disability_benefits", - "capital_gains", - "gi_cash_assistance", - ] + + adds = "gov.states.co.ccap.income.countable_income.sources" From ea209398a8d89e89d2cdedeb7a6ab7baebfa79ab Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 16 Feb 2026 17:54:10 -0800 Subject: [PATCH 15/16] =?UTF-8?q?Break=20CO=20CCAP=20=E2=86=92=20snap=5Ffp?= =?UTF-8?q?g=20circular=20dependency=20via=20spm=5Funit=5Ffpg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CO CCAP used snap_fpg for its FPG calculation, creating a cycle: tanf → childcare_expenses → co_ccap_subsidy → co_ccap_fpg_eligible → snap_fpg → snap_unit_size → is_snap_ineligible_student → tanf_person → tanf Replaced with spm_unit_fpg (existing HHS FPG variable using spm_unit_size) divided by 12 for monthly values. No new variable needed — reuses the existing annual FPG with time-based indexing. Co-Authored-By: Claude Opus 4.6 --- .../co/ccap/co_ccap_add_on_parent_fee.yaml | 16 ++++++++-------- .../states/co/ccap/co_ccap_base_parent_fee.yaml | 8 ++++---- .../co/ccap/entry/co_ccap_fpg_eligible.yaml | 6 +++--- .../states/co/ccap/co_ccap_add_on_parent_fee.py | 5 ++--- .../states/co/ccap/co_ccap_base_parent_fee.py | 7 +++---- .../states/co/ccap/entry/co_ccap_fpg_eligible.py | 3 +-- 6 files changed, 21 insertions(+), 24 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/gov/states/co/ccap/co_ccap_add_on_parent_fee.yaml b/policyengine_us/tests/policy/baseline/gov/states/co/ccap/co_ccap_add_on_parent_fee.yaml index 2d04b5dfb35..292250f580c 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/co/ccap/co_ccap_add_on_parent_fee.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/co/ccap/co_ccap_add_on_parent_fee.yaml @@ -3,7 +3,7 @@ input: co_ccap_eligible_children: 1 co_ccap_countable_income: 60_000 - snap_fpg: 120_000 + spm_unit_fpg: 120_000 output: co_ccap_add_on_parent_fee: 2023-01: 0 @@ -13,7 +13,7 @@ input: co_ccap_eligible_children: 1 co_ccap_countable_income: 80_000 - snap_fpg: 40_000 + spm_unit_fpg: 40_000 output: co_ccap_add_on_parent_fee: 2023-01: 0 @@ -23,7 +23,7 @@ input: co_ccap_eligible_children: 2 co_ccap_countable_income: 60_000 - snap_fpg: 120_000 + spm_unit_fpg: 120_000 output: co_ccap_add_on_parent_fee: 2023-01: 0 @@ -33,7 +33,7 @@ input: co_ccap_eligible_children: 2 co_ccap_countable_income: 80_000 - snap_fpg: 40_000 + spm_unit_fpg: 40_000 output: co_ccap_add_on_parent_fee: 2023-01: 15 @@ -43,7 +43,7 @@ input: co_ccap_eligible_children: 1 co_ccap_countable_income: 60_000 - snap_fpg: 120_000 + spm_unit_fpg: 120_000 output: co_ccap_add_on_parent_fee: 2022-12: 0 @@ -53,7 +53,7 @@ input: co_ccap_eligible_children: 1 co_ccap_countable_income: 80_000 - snap_fpg: 40_000 + spm_unit_fpg: 40_000 output: co_ccap_add_on_parent_fee: 2022-12: 0 @@ -63,7 +63,7 @@ input: co_ccap_eligible_children: 2 co_ccap_countable_income: 60_000 - snap_fpg: 120_000 + spm_unit_fpg: 120_000 output: co_ccap_add_on_parent_fee: 2022-12: 0 @@ -73,7 +73,7 @@ input: co_ccap_eligible_children: 2 co_ccap_countable_income: 80_000 - snap_fpg: 40_000 + spm_unit_fpg: 40_000 output: co_ccap_add_on_parent_fee: 2022-12: 15 diff --git a/policyengine_us/tests/policy/baseline/gov/states/co/ccap/co_ccap_base_parent_fee.yaml b/policyengine_us/tests/policy/baseline/gov/states/co/ccap/co_ccap_base_parent_fee.yaml index 9e19a83fd8c..6db227e1238 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/co/ccap/co_ccap_base_parent_fee.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/co/ccap/co_ccap_base_parent_fee.yaml @@ -2,7 +2,7 @@ period: 2023 input: co_ccap_countable_income: 60_000 - snap_fpg: 120_000 + spm_unit_fpg: 120_000 state_code: CO output: co_ccap_base_parent_fee: @@ -12,7 +12,7 @@ period: 2023 input: co_ccap_countable_income: 80_000 - snap_fpg: 40_000 + spm_unit_fpg: 40_000 state_code: CO output: co_ccap_base_parent_fee: @@ -22,7 +22,7 @@ period: 2022 input: co_ccap_countable_income: 60_000 - snap_fpg: 120_000 + spm_unit_fpg: 120_000 state_code: CO output: co_ccap_base_parent_fee: @@ -32,7 +32,7 @@ period: 2022 input: co_ccap_countable_income: 80_000 - snap_fpg: 40_000 + spm_unit_fpg: 40_000 state_code: CO output: co_ccap_base_parent_fee: diff --git a/policyengine_us/tests/policy/baseline/gov/states/co/ccap/entry/co_ccap_fpg_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/co/ccap/entry/co_ccap_fpg_eligible.yaml index 307fc73d60e..cea84cdfad1 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/co/ccap/entry/co_ccap_fpg_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/co/ccap/entry/co_ccap_fpg_eligible.yaml @@ -4,7 +4,7 @@ state_code_str: CO co_ccap_countable_income: 2.3 county_str: ADAMS_COUNTY_CO - snap_fpg: 1 + spm_unit_fpg: 12 output: co_ccap_fpg_eligible: true @@ -14,7 +14,7 @@ state_code_str: CO co_ccap_countable_income: 2.3 county_str: BACA_COUNTY_CO - snap_fpg: 1 + spm_unit_fpg: 12 output: co_ccap_fpg_eligible: false @@ -24,6 +24,6 @@ state_code_str: MN co_ccap_countable_income: 0 county_str: HENNEPIN_COUNTY_MN - snap_fpg: 1 + spm_unit_fpg: 12 output: co_ccap_fpg_eligible: false diff --git a/policyengine_us/variables/gov/states/co/ccap/co_ccap_add_on_parent_fee.py b/policyengine_us/variables/gov/states/co/ccap/co_ccap_add_on_parent_fee.py index fd1562fc5e6..5668359cf45 100644 --- a/policyengine_us/variables/gov/states/co/ccap/co_ccap_add_on_parent_fee.py +++ b/policyengine_us/variables/gov/states/co/ccap/co_ccap_add_on_parent_fee.py @@ -21,8 +21,7 @@ def formula(spm_unit, period, parameters): p = parameters(instant_str).gov.states.co.ccap # Calculate base parent fee and add on parent fee. gross_income = spm_unit("co_ccap_countable_income", period) - # snap_fpg is monthly. - snap_fpg = spm_unit("snap_fpg", period) + fpg = spm_unit("spm_unit_fpg", period.this_year) / MONTHS_IN_YEAR eligible_children = spm_unit("co_ccap_eligible_children", period) # Calculate add-on parent fee based on the number of eligible # children in a household and income: @@ -31,5 +30,5 @@ def formula(spm_unit, period, parameters): add_on_parent_fee_amount = ( eligible_children - 1 ) * p.parent_fee.add_on - add_on_parent_fee_applies = gross_income > snap_fpg + add_on_parent_fee_applies = gross_income > fpg return add_on_parent_fee_amount * add_on_parent_fee_applies diff --git a/policyengine_us/variables/gov/states/co/ccap/co_ccap_base_parent_fee.py b/policyengine_us/variables/gov/states/co/ccap/co_ccap_base_parent_fee.py index f9563fcdcc6..d5b76b3f212 100644 --- a/policyengine_us/variables/gov/states/co/ccap/co_ccap_base_parent_fee.py +++ b/policyengine_us/variables/gov/states/co/ccap/co_ccap_base_parent_fee.py @@ -21,12 +21,11 @@ def formula(spm_unit, period, parameters): p = parameters(instant_str).gov.states.co.ccap # Calculate base parent fee and add on parent fee. gross_income = spm_unit("co_ccap_countable_income", period) - # snap_fpg is monthly. - snap_fpg = spm_unit("snap_fpg", period) + fpg = spm_unit("spm_unit_fpg", period.this_year) / MONTHS_IN_YEAR # Calculate base parent fee scaled (note income is monthly): # When income_scaled <= 1: income_scaled * 0.01 # When income_scaled > 1: [1 * 0.01 + (income_scaled - 1) * 0.14] # Multiply by fpg afterward to scale back up - gross_income_fpg_ratio = gross_income / snap_fpg + gross_income_fpg_ratio = gross_income / fpg base_parent_fee_scaled = p.parent_fee.base.calc(gross_income_fpg_ratio) - return base_parent_fee_scaled * snap_fpg + return base_parent_fee_scaled * fpg diff --git a/policyengine_us/variables/gov/states/co/ccap/entry/co_ccap_fpg_eligible.py b/policyengine_us/variables/gov/states/co/ccap/entry/co_ccap_fpg_eligible.py index 43c95c4c9cb..f38ed9be2d1 100644 --- a/policyengine_us/variables/gov/states/co/ccap/entry/co_ccap_fpg_eligible.py +++ b/policyengine_us/variables/gov/states/co/ccap/entry/co_ccap_fpg_eligible.py @@ -36,8 +36,7 @@ def formula(spm_unit, period, parameters): ) if mask.any(): fpg_rate[mask] = p.entry.fpg_rate[county[mask]] - # SNAP FPG is monthly. - fpg = spm_unit("snap_fpg", period) + fpg = spm_unit("spm_unit_fpg", period.this_year) / MONTHS_IN_YEAR fpg_limit = np.round(fpg * fpg_rate, 2) meets_income_limit = monthly_gross_income < fpg_limit return state_eligible & meets_income_limit From 58270e83fdd5acccc4473559ed98944660731d2e Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Wed, 18 Feb 2026 12:44:21 -0800 Subject: [PATCH 16/16] Use standard period pattern for spm_unit_fpg in CO CCAP variables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Core auto-resolves monthly→annual periods, so explicit period.this_year / MONTHS_IN_YEAR is unnecessary. Co-Authored-By: Claude Opus 4.6 --- .../variables/gov/states/co/ccap/co_ccap_add_on_parent_fee.py | 2 +- .../variables/gov/states/co/ccap/co_ccap_base_parent_fee.py | 2 +- .../variables/gov/states/co/ccap/entry/co_ccap_fpg_eligible.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/policyengine_us/variables/gov/states/co/ccap/co_ccap_add_on_parent_fee.py b/policyengine_us/variables/gov/states/co/ccap/co_ccap_add_on_parent_fee.py index 5668359cf45..43ec7069c79 100644 --- a/policyengine_us/variables/gov/states/co/ccap/co_ccap_add_on_parent_fee.py +++ b/policyengine_us/variables/gov/states/co/ccap/co_ccap_add_on_parent_fee.py @@ -21,7 +21,7 @@ def formula(spm_unit, period, parameters): p = parameters(instant_str).gov.states.co.ccap # Calculate base parent fee and add on parent fee. gross_income = spm_unit("co_ccap_countable_income", period) - fpg = spm_unit("spm_unit_fpg", period.this_year) / MONTHS_IN_YEAR + fpg = spm_unit("spm_unit_fpg", period) eligible_children = spm_unit("co_ccap_eligible_children", period) # Calculate add-on parent fee based on the number of eligible # children in a household and income: diff --git a/policyengine_us/variables/gov/states/co/ccap/co_ccap_base_parent_fee.py b/policyengine_us/variables/gov/states/co/ccap/co_ccap_base_parent_fee.py index d5b76b3f212..9393506cf4a 100644 --- a/policyengine_us/variables/gov/states/co/ccap/co_ccap_base_parent_fee.py +++ b/policyengine_us/variables/gov/states/co/ccap/co_ccap_base_parent_fee.py @@ -21,7 +21,7 @@ def formula(spm_unit, period, parameters): p = parameters(instant_str).gov.states.co.ccap # Calculate base parent fee and add on parent fee. gross_income = spm_unit("co_ccap_countable_income", period) - fpg = spm_unit("spm_unit_fpg", period.this_year) / MONTHS_IN_YEAR + fpg = spm_unit("spm_unit_fpg", period) # Calculate base parent fee scaled (note income is monthly): # When income_scaled <= 1: income_scaled * 0.01 # When income_scaled > 1: [1 * 0.01 + (income_scaled - 1) * 0.14] diff --git a/policyengine_us/variables/gov/states/co/ccap/entry/co_ccap_fpg_eligible.py b/policyengine_us/variables/gov/states/co/ccap/entry/co_ccap_fpg_eligible.py index f38ed9be2d1..53720e97d3c 100644 --- a/policyengine_us/variables/gov/states/co/ccap/entry/co_ccap_fpg_eligible.py +++ b/policyengine_us/variables/gov/states/co/ccap/entry/co_ccap_fpg_eligible.py @@ -36,7 +36,7 @@ def formula(spm_unit, period, parameters): ) if mask.any(): fpg_rate[mask] = p.entry.fpg_rate[county[mask]] - fpg = spm_unit("spm_unit_fpg", period.this_year) / MONTHS_IN_YEAR + fpg = spm_unit("spm_unit_fpg", period) fpg_limit = np.round(fpg * fpg_rate, 2) meets_income_limit = monthly_gross_income < fpg_limit return state_eligible & meets_income_limit