diff --git a/changelog.d/backdate-ca-tanf.added.md b/changelog.d/backdate-ca-tanf.added.md new file mode 100644 index 00000000000..e6be0b9a283 --- /dev/null +++ b/changelog.d/backdate-ca-tanf.added.md @@ -0,0 +1 @@ +Backdate California TANF (CalWORKs) parameters. diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/exempt.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/exempt.yaml index 320b9540049..01d9fdeabfb 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/exempt.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/exempt.yaml @@ -6,9 +6,9 @@ metadata: label: California CalWORKs exempt breakdown reference: - title: Los Angeles Department of Public Social Services E-Policy | CalWORKs Exempt Definition - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-315_CalWORKs_Maximum_Aid_Payment_Levels%2F44-315_CalWORKs_Maximum_Aid_Payment_Levels.htm%23Policybc-2&rhtocid=_3_1_8_4_1 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-315_CalWORKs_Maximum_Aid_Payment_Levels%2F44-315_CalWORKs_Maximum_Aid_Payment_Levels.htm%23Policybc-2&rhtocid=_3_1_8_4_1 values: - 2023-01-01: # Actual date: 2023-08-24 + 2015-07-01: - ssi - ca_in_home_supportive_services - ca_state_disability_insurance diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/disregards/applicant/flat.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/disregards/applicant/flat.yaml index f918d60544b..04db9afb47e 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/disregards/applicant/flat.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/disregards/applicant/flat.yaml @@ -1,12 +1,15 @@ description: California disregards this amount of monthly earned income when determining CalWORKS eligibility for new applicants. values: + 1998-01-01: 90 2022-07-01: 450 metadata: unit: currency-USD period: month - label: California CalWORKs recipient flat earnings exclusion for applicants + label: California CalWORKs applicant flat earnings exclusion per employed person reference: - title: Los Angeles Department of Public Social Services E-Policy | CalWORKs Earned Income Disregards - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-111_23_Earned_Income_Disregards%2F44-111_23_Earned_Income_Disregards.htm%23Policybc-2&rhtocid=_3_1_6_2_1 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-111_23_Earned_Income_Disregards%2F44-111_23_Earned_Income_Disregards.htm%23Policybc-2&rhtocid=_3_1_6_2_1 + - title: AB 135 (Ch. 85, Statutes of 2021) - Applicant EID increase + href: https://leginfo.legislature.ca.gov/faces/billNavClient.xhtml?bill_id=202120220AB135 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/disregards/recipient/flat.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/disregards/recipient/flat.yaml index 7a77d696328..f472a61c054 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/disregards/recipient/flat.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/disregards/recipient/flat.yaml @@ -1,6 +1,11 @@ description: California disregards this amount of monthly income when computing CalWORKS payments for recipients. values: + 1998-01-01: 225 + 2011-06-01: 112 + 2013-03-01: 225 + 2020-06-01: 500 + 2021-06-01: 550 2022-06-01: 600 metadata: @@ -9,4 +14,6 @@ metadata: label: California CalWORKs flat monthly income exclusion for recipients reference: - title: Los Angeles Department of Public Social Services E-Policy | CalWORKs Earned Income Disregards - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-111_23_Earned_Income_Disregards%2F44-111_23_Earned_Income_Disregards.htm%23Policybc-2&rhtocid=_3_1_6_2_1 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-111_23_Earned_Income_Disregards%2F44-111_23_Earned_Income_Disregards.htm%23Policybc-2&rhtocid=_3_1_6_2_1 + - title: SB 80 (Ch. 27, Statutes of 2019) - Recipient EID increases + href: https://leginfo.legislature.ca.gov/faces/billNavClient.xhtml?bill_id=201920200SB80 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/disregards/recipient/percentage.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/disregards/recipient/percentage.yaml index 2dba014775a..c8c86a50ff0 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/disregards/recipient/percentage.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/disregards/recipient/percentage.yaml @@ -1,7 +1,7 @@ description: California disregards this percentage of monthly earned income when computing CalWORKS payments for recipients. values: - 2022-06-01: 0.5 + 1998-01-01: 0.5 metadata: unit: /1 @@ -9,6 +9,4 @@ metadata: label: California CalWORKs monthly percentage earnings exclusion reference: - title: Los Angeles Department of Public Social Services E-Policy | CalWORKs Earned Income Disregards - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-111_23_Earned_Income_Disregards%2F44-111_23_Earned_Income_Disregards.htm%23Policybc-2&rhtocid=_3_1_6_2_1 - - + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-111_23_Earned_Income_Disregards%2F44-111_23_Earned_Income_Disregards.htm%23Policybc-2&rhtocid=_3_1_6_2_1 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/max_au_size.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/max_au_size.yaml index 65d99305efc..211692d6b22 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/max_au_size.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/max_au_size.yaml @@ -9,4 +9,4 @@ metadata: href: https://hhsaprogramguides.sandiegocounty.gov/CalWORKS/44-300/CalWORKs_Payment_Standards/G_CalWORKs_Payment_Standards.pdf values: - 2023-01-01: 10 # Actual: 2023-07-01 + 2015-07-01: 10 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region1/additional.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region1/additional.yaml index 0edaf47f594..96fb6cc7095 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region1/additional.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region1/additional.yaml @@ -6,7 +6,23 @@ metadata: label: California CalWORKs monthly income limit additional for region 1 reference: - title: Los Angeles Department of Public Social Services E-Policy | CalWORKs Minimum Basic Standard of Adequate Care - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-212_Minimum_Basic_Standard_of_Adequate_Care%2F44-212_Minimum_Basic_Standard_of_Adequate_Care.htm%23Documentsbc-6&rhtocid=_3_1_7_20_5 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-212_Minimum_Basic_Standard_of_Adequate_Care%2F44-212_Minimum_Basic_Standard_of_Adequate_Care.htm%23Documentsbc-6&rhtocid=_3_1_7_20_5 + - title: CDSS Historical MAP and MBSAC Since 1971 (Region 1, page 9 of 10) + href: https://cdss.ca.gov/cdssweb/entres/forms/English/TEMP2250.pdf#page=10 + - title: CDSS ACL 16-47, MBSAC CNI 2.76% Increase Effective July 1, 2016 + href: https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl/2016/16-47.pdf#page=3 + - title: CDSS ACL 17-44, MBSAC CNI 3.84% Increase Effective July 1, 2017 + href: https://www.cdss.ca.gov/Portals/9/ACL/2017/17-44.pdf#page=3 values: - 2023-01-01: 34 # Actual date: 2023-07-01 + 2015-07-01: 24 + 2016-07-01: 25 + 2017-07-01: 26 + 2018-07-01: 27 + 2019-07-01: 28 + 2020-07-01: 29 + 2021-07-01: 30 + 2022-07-01: 32 + 2023-07-01: 34 + 2024-07-01: 35 + 2025-07-01: 36 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region1/main.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region1/main.yaml index 39d21dc60f5..63c73921423 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region1/main.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region1/main.yaml @@ -10,27 +10,143 @@ metadata: label: California CalWORKs monthly income limit for region 1 reference: - title: Los Angeles Department of Public Social Services E-Policy | CalWORKs Minimum Basic Standard of Adequate Care - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-212_Minimum_Basic_Standard_of_Adequate_Care%2F44-212_Minimum_Basic_Standard_of_Adequate_Care.htm%23Documentsbc-6&rhtocid=_3_1_7_20_5 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-212_Minimum_Basic_Standard_of_Adequate_Care%2F44-212_Minimum_Basic_Standard_of_Adequate_Care.htm%23Documentsbc-6&rhtocid=_3_1_7_20_5 + - title: California Department of Social Services, All County Letter No. 24-37, MBSAC COLA Increase Effective July 1, 2024 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-37.pdf#page=4 + - title: Santa Clara County DEBS Non-Exempt AU Standards Chart Region 1 + href: https://stgenssa.sccgov.org/debs/program_handbooks/charts/assets/1CalWorksRCAECATCVAP/NonExEmpAUStndsCht.htm + - title: CDSS Historical MAP and MBSAC Since 1971 (Region 1, page 9 of 10) + href: https://cdss.ca.gov/cdssweb/entres/forms/English/TEMP2250.pdf#page=10 + - title: CDSS ACL 15-52, MBSAC CNI 2.54% Increase Effective July 1, 2015 + href: https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl/2015/15-52.pdf#page=3 + - title: CDSS ACL 16-47, MBSAC CNI 2.76% Increase Effective July 1, 2016 + href: https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl/2016/16-47.pdf#page=3 + - title: CDSS ACL 17-44, MBSAC CNI 3.84% Increase Effective July 1, 2017 + href: https://www.cdss.ca.gov/Portals/9/ACL/2017/17-44.pdf#page=3 + - title: CDSS ACL 18-66, MBSAC CNI 3.96% Increase Effective July 1, 2018 + href: https://cdss.ca.gov/portals/9/acl/2018/18-66.pdf#page=3 + - title: CDSS ACL 19-47, MBSAC CNI 4.15% Increase Effective July 1, 2019 + href: https://cdss.ca.gov/portals/9/acl/2019/19-47.pdf#page=3 + - title: CDSS ACL 20-60, MBSAC CNI 3.72% Increase Effective July 1, 2020 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2020/20-60.pdf#page=4 -1: - 2023-01-01: 862 -2: - 2023-01-01: 1_415 -3: - 2023-01-01: 1_753 -4: - 2023-01-01: 2_080 -5: - 2023-01-01: 2_373 -6: - 2023-01-01: 2_670 -7: - 2023-01-01: 2_934 -8: - 2023-01-01: 3_193 -9: - 2023-01-01: 3_464 -10: - 2023-01-01: 3_760 - -# Actual date: 2023-01-01 +1: + 2015-07-01: 619 + 2016-07-01: 636 + 2017-07-01: 660 + 2018-07-01: 686 + 2019-07-01: 714 + 2020-07-01: 741 + 2021-07-01: 757 + 2022-07-01: 807 + 2023-07-01: 862 + 2024-07-01: 899 + 2025-07-01: 930 +2: + 2015-07-01: 1_014 + 2016-07-01: 1_042 + 2017-07-01: 1_082 + 2018-07-01: 1_125 + 2019-07-01: 1_172 + 2020-07-01: 1_216 + 2021-07-01: 1_242 + 2022-07-01: 1_324 + 2023-07-01: 1_415 + 2024-07-01: 1_476 + 2025-07-01: 1_526 +3: + 2015-07-01: 1_257 + 2016-07-01: 1_292 + 2017-07-01: 1_342 + 2018-07-01: 1_395 + 2019-07-01: 1_453 + 2020-07-01: 1_507 + 2021-07-01: 1_539 + 2022-07-01: 1_641 + 2023-07-01: 1_753 + 2024-07-01: 1_829 + 2025-07-01: 1_892 +4: + 2015-07-01: 1_492 + 2016-07-01: 1_533 + 2017-07-01: 1_592 + 2018-07-01: 1_655 + 2019-07-01: 1_724 + 2020-07-01: 1_788 + 2021-07-01: 1_826 + 2022-07-01: 1_947 + 2023-07-01: 2_080 + 2024-07-01: 2_170 + 2025-07-01: 2_244 +5: + 2015-07-01: 1_703 + 2016-07-01: 1_750 + 2017-07-01: 1_817 + 2018-07-01: 1_889 + 2019-07-01: 1_967 + 2020-07-01: 2_040 + 2021-07-01: 2_083 + 2022-07-01: 2_221 + 2023-07-01: 2_373 + 2024-07-01: 2_476 + 2025-07-01: 2_561 +6: + 2015-07-01: 1_915 + 2016-07-01: 1_968 + 2017-07-01: 2_044 + 2018-07-01: 2_125 + 2019-07-01: 2_213 + 2020-07-01: 2_295 + 2021-07-01: 2_343 + 2022-07-01: 2_499 + 2023-07-01: 2_670 + 2024-07-01: 2_785 + 2025-07-01: 2_880 +7: + 2015-07-01: 2_105 + 2016-07-01: 2_163 + 2017-07-01: 2_246 + 2018-07-01: 2_335 + 2019-07-01: 2_432 + 2020-07-01: 2_522 + 2021-07-01: 2_575 + 2022-07-01: 2_746 + 2023-07-01: 2_934 + 2024-07-01: 3_061 + 2025-07-01: 3_166 +8: + 2015-07-01: 2_291 + 2016-07-01: 2_354 + 2017-07-01: 2_444 + 2018-07-01: 2_541 + 2019-07-01: 2_646 + 2020-07-01: 2_744 + 2021-07-01: 2_802 + 2022-07-01: 2_988 + 2023-07-01: 3_193 + 2024-07-01: 3_331 + 2025-07-01: 3_445 +9: + 2015-07-01: 2_485 + 2016-07-01: 2_554 + 2017-07-01: 2_652 + 2018-07-01: 2_757 + 2019-07-01: 2_871 + 2020-07-01: 2_978 + 2021-07-01: 3_041 + 2022-07-01: 3_242 + 2023-07-01: 3_464 + 2024-07-01: 3_614 + 2025-07-01: 3_738 +10: + 2015-07-01: 2_698 + 2016-07-01: 2_772 + 2017-07-01: 2_878 + 2018-07-01: 2_992 + 2019-07-01: 3_116 + 2020-07-01: 3_232 + 2021-07-01: 3_300 + 2022-07-01: 3_519 + 2023-07-01: 3_760 + 2024-07-01: 3_922 + 2025-07-01: 4_056 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region2/additional.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region2/additional.yaml index a5ddd9d4399..01c090f5dd9 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region2/additional.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region2/additional.yaml @@ -6,7 +6,23 @@ metadata: label: California CalWORKs monthly income limit additional for region 2 reference: - title: Los Angeles Department of Public Social Services E-Policy | CalWORKs Minimum Basic Standard of Adequate Care - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-212_Minimum_Basic_Standard_of_Adequate_Care%2F44-212_Minimum_Basic_Standard_of_Adequate_Care.htm%23Documentsbc-6&rhtocid=_3_1_7_20_5 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-212_Minimum_Basic_Standard_of_Adequate_Care%2F44-212_Minimum_Basic_Standard_of_Adequate_Care.htm%23Documentsbc-6&rhtocid=_3_1_7_20_5 + - title: CDSS Historical MAP and MBSAC Since 1971 (Region 2, page 10 of 10) + href: https://cdss.ca.gov/cdssweb/entres/forms/English/TEMP2250.pdf#page=11 + - title: CDSS ACL 16-47, MBSAC CNI 2.76% Increase Effective July 1, 2016 + href: https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl/2016/16-47.pdf#page=3 + - title: CDSS ACL 17-44, MBSAC CNI 3.84% Increase Effective July 1, 2017 + href: https://www.cdss.ca.gov/Portals/9/ACL/2017/17-44.pdf#page=3 values: + 2015-07-01: 24 + 2016-07-01: 25 + 2017-07-01: 26 + 2018-07-01: 27 + 2019-07-01: 28 + 2020-07-01: 29 + 2021-07-01: 30 + 2022-07-01: 32 2023-07-01: 34 + 2024-07-01: 35 + 2025-07-01: 36 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region2/main.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region2/main.yaml index e2ee50f1ca6..9c3a7e4d990 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region2/main.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/monthly_limit/region2/main.yaml @@ -10,25 +10,143 @@ metadata: label: California CalWORKs monthly income limit for region 2 reference: - title: Los Angeles Department of Public Social Services E-Policy | CalWORKs Minimum Basic Standard of Adequate Care - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-212_Minimum_Basic_Standard_of_Adequate_Care%2F44-212_Minimum_Basic_Standard_of_Adequate_Care.htm%23Documentsbc-6&rhtocid=_3_1_7_20_5 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-212_Minimum_Basic_Standard_of_Adequate_Care%2F44-212_Minimum_Basic_Standard_of_Adequate_Care.htm%23Documentsbc-6&rhtocid=_3_1_7_20_5 + - title: California Department of Social Services, All County Letter No. 24-37, MBSAC COLA Increase Effective July 1, 2024 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-37.pdf#page=4 + - title: Santa Clara County DEBS Standards Chart Region 2 + href: https://stgenssa.sccgov.org/debs/program_handbooks/charts/assets/1CalWorksRCAECATCVAP/StndsChtReg2.htm + - title: CDSS Historical MAP and MBSAC Since 1971 (Region 2, page 10 of 10) + href: https://cdss.ca.gov/cdssweb/entres/forms/English/TEMP2250.pdf#page=11 + - title: CDSS ACL 15-52, MBSAC CNI 2.54% Increase Effective July 1, 2015 + href: https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl/2015/15-52.pdf#page=3 + - title: CDSS ACL 16-47, MBSAC CNI 2.76% Increase Effective July 1, 2016 + href: https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl/2016/16-47.pdf#page=3 + - title: CDSS ACL 17-44, MBSAC CNI 3.84% Increase Effective July 1, 2017 + href: https://www.cdss.ca.gov/Portals/9/ACL/2017/17-44.pdf#page=3 + - title: CDSS ACL 18-66, MBSAC CNI 3.96% Increase Effective July 1, 2018 + href: https://cdss.ca.gov/portals/9/acl/2018/18-66.pdf#page=3 + - title: CDSS ACL 19-47, MBSAC CNI 4.15% Increase Effective July 1, 2019 + href: https://cdss.ca.gov/portals/9/acl/2019/19-47.pdf#page=3 + - title: CDSS ACL 20-60, MBSAC CNI 3.72% Increase Effective July 1, 2020 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2020/20-60.pdf#page=4 -1: +1: + 2015-07-01: 587 + 2016-07-01: 603 + 2017-07-01: 626 + 2018-07-01: 651 + 2019-07-01: 678 + 2020-07-01: 703 + 2021-07-01: 718 + 2022-07-01: 766 2023-07-01: 818 -2: + 2024-07-01: 853 + 2025-07-01: 882 +2: + 2015-07-01: 964 + 2016-07-01: 991 + 2017-07-01: 1_029 + 2018-07-01: 1_070 + 2019-07-01: 1_114 + 2020-07-01: 1_155 + 2021-07-01: 1_179 + 2022-07-01: 1_257 2023-07-01: 1_343 -3: - 2023-07-01: 1_664 -4: + 2024-07-01: 1_401 + 2025-07-01: 1_449 +3: + 2015-07-01: 1_194 + 2016-07-01: 1_227 + 2017-07-01: 1_274 + 2018-07-01: 1_324 + 2019-07-01: 1_379 + 2020-07-01: 1_430 + 2021-07-01: 1_460 + 2022-07-01: 1_557 + 2023-07-01: 1_664 + 2024-07-01: 1_736 + 2025-07-01: 1_795 +4: + 2015-07-01: 1_419 + 2016-07-01: 1_458 + 2017-07-01: 1_514 + 2018-07-01: 1_574 + 2019-07-01: 1_639 + 2020-07-01: 1_700 + 2021-07-01: 1_736 + 2022-07-01: 1_851 2023-07-01: 1_978 -5: - 2023-07-01: 2_262 -6: - 2023-07-01: 2_540 -7: - 2023-07-01: 2_783 -8: + 2024-07-01: 2_063 + 2025-07-01: 2_134 +5: + 2015-07-01: 1_621 + 2016-07-01: 1_666 + 2017-07-01: 1_730 + 2018-07-01: 1_799 + 2019-07-01: 1_874 + 2020-07-01: 1_944 + 2021-07-01: 1_985 + 2022-07-01: 2_117 + 2023-07-01: 2_262 + 2024-07-01: 2_360 + 2025-07-01: 2_441 +6: + 2015-07-01: 1_822 + 2016-07-01: 1_872 + 2017-07-01: 1_944 + 2018-07-01: 2_021 + 2019-07-01: 2_105 + 2020-07-01: 2_183 + 2021-07-01: 2_229 + 2022-07-01: 2_377 + 2023-07-01: 2_540 + 2024-07-01: 2_650 + 2025-07-01: 2_741 +7: + 2015-07-01: 1_997 + 2016-07-01: 2_052 + 2017-07-01: 2_131 + 2018-07-01: 2_215 + 2019-07-01: 2_307 + 2020-07-01: 2_393 + 2021-07-01: 2_443 + 2022-07-01: 2_605 + 2023-07-01: 2_783 + 2024-07-01: 2_903 + 2025-07-01: 3_002 +8: + 2015-07-01: 2_181 + 2016-07-01: 2_241 + 2017-07-01: 2_327 + 2018-07-01: 2_419 + 2019-07-01: 2_519 + 2020-07-01: 2_613 + 2021-07-01: 2_668 + 2022-07-01: 2_845 2023-07-01: 3_040 -9: + 2024-07-01: 3_171 + 2025-07-01: 3_279 +9: + 2015-07-01: 2_356 + 2016-07-01: 2_421 + 2017-07-01: 2_514 + 2018-07-01: 2_614 + 2019-07-01: 2_722 + 2020-07-01: 2_823 + 2021-07-01: 2_883 + 2022-07-01: 3_074 2023-07-01: 3_285 -10: + 2024-07-01: 3_427 + 2025-07-01: 3_544 +10: + 2015-07-01: 2_566 + 2016-07-01: 2_637 + 2017-07-01: 2_738 + 2018-07-01: 2_846 + 2019-07-01: 2_964 + 2020-07-01: 3_074 + 2021-07-01: 3_139 + 2022-07-01: 3_347 2023-07-01: 3_576 + 2024-07-01: 3_730 + 2025-07-01: 3_858 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/sources/db_unearned.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/sources/db_unearned.yaml index f988c01618d..46be6b4895b 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/sources/db_unearned.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/sources/db_unearned.yaml @@ -6,7 +6,7 @@ metadata: label: California CalWORKs disability-based unearned income breakdown reference: - title: Los Angeles Department of Public Social Services E-Policy | Income Definitions - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-101_Income_Definitions%2F44-101_Income_Definitions.htm%23Policybc-2&rhtocid=_3_1_6_0_1 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-101_Income_Definitions%2F44-101_Income_Definitions.htm%23Policybc-2&rhtocid=_3_1_6_0_1 values: 2017-12-20: diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/sources/earned.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/sources/earned.yaml index 92a318fba06..2e6cfbe8c22 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/sources/earned.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/sources/earned.yaml @@ -6,7 +6,7 @@ metadata: label: California CalWORKs earned income breakdown reference: - title: Los Angeles Department of Public Social Services E-Policy | Income Definitions - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-101_Income_Definitions%2F44-101_Income_Definitions.htm%23Policybc-2&rhtocid=_3_1_6_0_1 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-101_Income_Definitions%2F44-101_Income_Definitions.htm%23Policybc-2&rhtocid=_3_1_6_0_1 values: 2017-12-20: diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/sources/other_unearned.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/sources/other_unearned.yaml index 7d67a795137..fe377528831 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/sources/other_unearned.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/income/sources/other_unearned.yaml @@ -6,7 +6,7 @@ metadata: label: California CalWORKs other unearned income breakdown reference: - title: Los Angeles Department of Public Social Services E-Policy | Income Definitions - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-101_Income_Definitions%2F44-101_Income_Definitions.htm%23Policybc-2&rhtocid=_3_1_6_0_1 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-101_Income_Definitions%2F44-101_Income_Definitions.htm%23Policybc-2&rhtocid=_3_1_6_0_1 values: 2017-12-20: diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/max_au_size.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/max_au_size.yaml index b1fb15766f4..af556b925c8 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/max_au_size.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/max_au_size.yaml @@ -6,8 +6,9 @@ metadata: label: California CalWORKs maximum assistance unit size for payment standards reference: - title: County of San Diego CalWORKS Program Guide | CalWORKs Payment Standards Chart - href: [https://hhsaprogramguides.sandiegocounty.gov/CalWORKS/44-300/CalWORKs_Payment_Standards/G_CalWORKs_Payment_Standards.pdf, - https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=WIC§ionNum=11450.] + href: https://hhsaprogramguides.sandiegocounty.gov/CalWORKS/44-300/CalWORKs_Payment_Standards/G_CalWORKs_Payment_Standards.pdf + - title: California Welfare & Institutions Code Section 11450 + href: https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=WIC§ionNum=11450. values: - 2023-01-01: 10 # Actual date: 2023-10-01 + 2015-07-01: 10 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region1/exempt.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region1/exempt.yaml index 8bfd7270803..b0c746b4e27 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region1/exempt.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region1/exempt.yaml @@ -13,35 +13,108 @@ metadata: href: https://hhsaprogramguides.sandiegocounty.gov/CalWORKS/44-300/CalWORKs_Payment_Standards/G_CalWORKs_Payment_Standards.pdf - title: California Department of Social Services, Executive Summary, All County Letter No. 24-55, CalWORKs Payment Standards Chart Effective October 1, 2024 href: https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-55.pdf?ver=2024-08-19-162608-673#page=7 + - title: CDSS Historical MAP and MBSAC Since 1971 (Region 1, page 9 of 10) + href: https://cdss.ca.gov/cdssweb/entres/forms/English/TEMP2250.pdf#page=10 + - title: CDSS TEMP 2250 Form (1/16) showing FY 2016-17 MAP after 1.43% COLA + href: https://cdss.ca.gov/cdssweb/entres/forms/English/TEMP2250.pdf#page=10 + - title: CDSS ACL 18-124, AB 1811 10% MAP Increase Effective April 1, 2019 + href: https://cdss.ca.gov/portals/9/acl/2018/18-124.pdf#page=4 + - title: CDSS ACL 19-73, SB 80 MAP Increase Effective October 1, 2019 + href: https://cdss.ca.gov/portals/9/acl/2019/19-73.pdf#page=4 + - title: CDSS ACL 21-87, AB 135 5.3% MAP Increase Effective October 1, 2021 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2021/21-87.pdf#page=9 + - title: CDSS ACL 22-60, SB 187 11% MAP Increase Effective October 1, 2022 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2022/ACL%2022-60.pdf#page=7 + - title: CDSS ACL 23-74, 3.6% MAP Increase Effective October 1, 2023 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2023/23-74.pdf#page=6 1: - 2023-01-01: 807 + 2015-07-01: 387 + 2016-10-01: 392 + 2019-04-01: 431 + 2019-10-01: 606 + 2021-10-01: 638 + 2022-10-01: 779 + 2023-10-01: 807 2024-10-01: 809 2: - 2023-01-01: 1_036 + 2015-07-01: 636 + 2016-10-01: 645 + 2019-04-01: 710 + 2019-10-01: 778 + 2021-10-01: 819 + 2022-10-01: 1_000 + 2023-10-01: 1_036 2024-10-01: 1_039 3: - 2023-01-01: 1_310 + 2015-07-01: 788 + 2016-10-01: 799 + 2019-04-01: 879 + 2019-10-01: 983 + 2021-10-01: 1_035 + 2022-10-01: 1_264 + 2023-10-01: 1_310 2024-10-01: 1_314 4: - 2023-01-01: 1_574 + 2015-07-01: 936 + 2016-10-01: 949 + 2019-04-01: 1_044 + 2019-10-01: 1_181 + 2021-10-01: 1_244 + 2022-10-01: 1_519 + 2023-10-01: 1_574 2024-10-01: 1_579 5: - 2023-01-01: 1_844 + 2015-07-01: 1_065 + 2016-10-01: 1_080 + 2019-04-01: 1_188 + 2019-10-01: 1_385 + 2021-10-01: 1_458 + 2022-10-01: 1_780 + 2023-10-01: 1_844 2024-10-01: 1_850 6: - 2023-01-01: 2_117 + 2015-07-01: 1_197 + 2016-10-01: 1_214 + 2019-04-01: 1_335 + 2019-10-01: 1_589 + 2021-10-01: 1_673 + 2022-10-01: 2_043 + 2023-10-01: 2_117 2024-10-01: 2_123 7: - 2023-01-01: 2_388 + 2015-07-01: 1_315 + 2016-10-01: 1_334 + 2019-04-01: 1_467 + 2019-10-01: 1_792 + 2021-10-01: 1_887 + 2022-10-01: 2_305 + 2023-10-01: 2_388 2024-10-01: 2_395 8: - 2023-01-01: 2_661 + 2015-07-01: 1_434 + 2016-10-01: 1_454 + 2019-04-01: 1_599 + 2019-10-01: 1_998 + 2021-10-01: 2_104 + 2022-10-01: 2_569 + 2023-10-01: 2_661 2024-10-01: 2_669 9: - 2023-01-01: 2_930 + 2015-07-01: 1_549 + 2016-10-01: 1_571 + 2019-04-01: 1_728 + 2019-10-01: 2_199 + 2021-10-01: 2_316 + 2022-10-01: 2_828 + 2023-10-01: 2_930 2024-10-01: 2_939 10: - 2023-01-01: 3_205 + 2015-07-01: 1_665 + 2016-10-01: 1_689 + 2019-04-01: 1_858 + 2019-10-01: 2_406 + 2021-10-01: 2_534 + 2022-10-01: 3_094 + 2023-10-01: 3_205 2024-10-01: 3_215 -# Actual date: 2023-10-01 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region1/non_exempt.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region1/non_exempt.yaml index f1c0c54d8ff..0386336b9bb 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region1/non_exempt.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region1/non_exempt.yaml @@ -13,35 +13,108 @@ metadata: href: https://hhsaprogramguides.sandiegocounty.gov/CalWORKS/44-300/CalWORKs_Payment_Standards/G_CalWORKs_Payment_Standards.pdf - title: California Department of Social Services, Executive Summary, All County Letter No. 24-55, CalWORKs Payment Standards Chart Effective October 1, 2024 href: https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-55.pdf?ver=2024-08-19-162608-673#page=7 + - title: CDSS Historical MAP and MBSAC Since 1971 (Region 1, page 9 of 10) + href: https://cdss.ca.gov/cdssweb/entres/forms/English/TEMP2250.pdf#page=10 + - title: CDSS TEMP 2250 Form (1/16) showing FY 2016-17 MAP after 1.43% COLA + href: https://cdss.ca.gov/cdssweb/entres/forms/English/TEMP2250.pdf#page=10 + - title: CDSS ACL 18-124, AB 1811 10% MAP Increase Effective April 1, 2019 + href: https://cdss.ca.gov/portals/9/acl/2018/18-124.pdf#page=4 + - title: CDSS ACL 19-73, SB 80 MAP Increase Effective October 1, 2019 + href: https://cdss.ca.gov/portals/9/acl/2019/19-73.pdf#page=4 + - title: CDSS ACL 21-87, AB 135 5.3% MAP Increase Effective October 1, 2021 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2021/21-87.pdf#page=9 + - title: CDSS ACL 22-60, SB 187 11% MAP Increase Effective October 1, 2022 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2022/ACL%2022-60.pdf#page=7 + - title: CDSS ACL 23-74, 3.6% MAP Increase Effective October 1, 2023 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2023/23-74.pdf#page=6 1: - 2023-01-01: 732 + 2015-07-01: 350 + 2016-10-01: 355 + 2019-04-01: 391 + 2019-10-01: 550 + 2021-10-01: 579 + 2022-10-01: 707 + 2023-10-01: 732 2024-10-01: 734 2: - 2023-01-01: 927 + 2015-07-01: 569 + 2016-10-01: 577 + 2019-04-01: 635 + 2019-10-01: 696 + 2021-10-01: 733 + 2022-10-01: 895 + 2023-10-01: 927 2024-10-01: 930 3: - 2023-01-01: 1_171 + 2015-07-01: 704 + 2016-10-01: 714 + 2019-04-01: 785 + 2019-10-01: 878 + 2021-10-01: 925 + 2022-10-01: 1_130 + 2023-10-01: 1_171 2024-10-01: 1_175 4: - 2023-01-01: 1_412 + 2015-07-01: 840 + 2016-10-01: 852 + 2019-04-01: 937 + 2019-10-01: 1_060 + 2021-10-01: 1_116 + 2022-10-01: 1_363 + 2023-10-01: 1_412 2024-10-01: 1_416 5: - 2023-01-01: 1_654 + 2015-07-01: 954 + 2016-10-01: 968 + 2019-04-01: 1_065 + 2019-10-01: 1_242 + 2021-10-01: 1_308 + 2022-10-01: 1_597 + 2023-10-01: 1_654 2024-10-01: 1_659 6: - 2023-01-01: 1_896 + 2015-07-01: 1_072 + 2016-10-01: 1_087 + 2019-04-01: 1_196 + 2019-10-01: 1_424 + 2021-10-01: 1_499 + 2022-10-01: 1_830 + 2023-10-01: 1_896 2024-10-01: 1_902 7: - 2023-01-01: 2_139 + 2015-07-01: 1_178 + 2016-10-01: 1_195 + 2019-04-01: 1_315 + 2019-10-01: 1_606 + 2021-10-01: 1_691 + 2022-10-01: 2_065 + 2023-10-01: 2_139 2024-10-01: 2_145 8: - 2023-01-01: 2_382 + 2015-07-01: 1_283 + 2016-10-01: 1_301 + 2019-04-01: 1_431 + 2019-10-01: 1_788 + 2021-10-01: 1_883 + 2022-10-01: 2_299 + 2023-10-01: 2_382 2024-10-01: 2_389 9: - 2023-01-01: 2_623 + 2015-07-01: 1_387 + 2016-10-01: 1_407 + 2019-04-01: 1_548 + 2019-10-01: 1_970 + 2021-10-01: 2_074 + 2022-10-01: 2_532 + 2023-10-01: 2_623 2024-10-01: 2_631 10: - 2023-01-01: 2_867 + 2015-07-01: 1_490 + 2016-10-01: 1_511 + 2019-04-01: 1_662 + 2019-10-01: 2_152 + 2021-10-01: 2_266 + 2022-10-01: 2_767 + 2023-10-01: 2_867 2024-10-01: 2_876 -# Actual date: 2023-10-01 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region2/exempt.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region2/exempt.yaml index 54c48af32a6..699d1e89ba6 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region2/exempt.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region2/exempt.yaml @@ -13,34 +13,108 @@ metadata: href: https://hhsaprogramguides.sandiegocounty.gov/CalWORKS/44-300/CalWORKs_Payment_Standards/G_CalWORKs_Payment_Standards.pdf - title: California Department of Social Services, Executive Summary, All County Letter No. 24-55, CalWORKs Payment Standards Chart Effective October 1, 2024 href: https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-55.pdf?ver=2024-08-19-162608-673#page=7 + - title: CDSS Historical MAP and MBSAC Since 1971 (Region 2, page 10 of 10) + href: https://cdss.ca.gov/cdssweb/entres/forms/English/TEMP2250.pdf#page=11 + - title: CDSS TEMP 2250 Form (1/16) showing FY 2016-17 MAP after 1.43% COLA + href: https://cdss.ca.gov/cdssweb/entres/forms/English/TEMP2250.pdf#page=11 + - title: CDSS ACL 18-124, AB 1811 10% MAP Increase Effective April 1, 2019 + href: https://cdss.ca.gov/portals/9/acl/2018/18-124.pdf#page=4 + - title: CDSS ACL 19-73, SB 80 MAP Increase Effective October 1, 2019 + href: https://cdss.ca.gov/portals/9/acl/2019/19-73.pdf#page=4 + - title: CDSS ACL 21-87, AB 135 5.3% MAP Increase Effective October 1, 2021 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2021/21-87.pdf#page=9 + - title: CDSS ACL 22-60, SB 187 11% MAP Increase Effective October 1, 2022 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2022/ACL%2022-60.pdf#page=7 + - title: CDSS ACL 23-74, 3.6% MAP Increase Effective October 1, 2023 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2023/23-74.pdf#page=7 1: + 2015-07-01: 369 + 2016-10-01: 374 + 2019-04-01: 411 + 2019-10-01: 576 + 2021-10-01: 607 + 2022-10-01: 741 2023-10-01: 768 2024-10-01: 770 2: + 2015-07-01: 607 + 2016-10-01: 616 + 2019-04-01: 678 + 2019-10-01: 739 + 2021-10-01: 778 + 2022-10-01: 950 2023-10-01: 984 2024-10-01: 987 3: + 2015-07-01: 751 + 2016-10-01: 762 + 2019-04-01: 838 + 2019-10-01: 934 + 2021-10-01: 984 + 2022-10-01: 1_201 2023-10-01: 1_244 2024-10-01: 1_248 4: + 2015-07-01: 891 + 2016-10-01: 904 + 2019-04-01: 994 + 2019-10-01: 1_122 + 2021-10-01: 1_181 + 2022-10-01: 1_442 2023-10-01: 1_494 2024-10-01: 1_498 5: + 2015-07-01: 1_017 + 2016-10-01: 1_031 + 2019-04-01: 1_134 + 2019-10-01: 1_316 + 2021-10-01: 1_386 + 2022-10-01: 1_692 2023-10-01: 1_753 2024-10-01: 1_758 6: + 2015-07-01: 1_141 + 2016-10-01: 1_157 + 2019-04-01: 1_273 + 2019-10-01: 1_510 + 2021-10-01: 1_590 + 2022-10-01: 1_942 2023-10-01: 2_012 2024-10-01: 2_018 7: + 2015-07-01: 1_254 + 2016-10-01: 1_272 + 2019-04-01: 1_399 + 2019-10-01: 1_702 + 2021-10-01: 1_792 + 2022-10-01: 2_188 2023-10-01: 2_267 2024-10-01: 2_274 8: + 2015-07-01: 1_366 + 2016-10-01: 1_385 + 2019-04-01: 1_524 + 2019-10-01: 1_898 + 2021-10-01: 1_999 + 2022-10-01: 2_441 2023-10-01: 2_529 2024-10-01: 2_537 9: + 2015-07-01: 1_477 + 2016-10-01: 1_498 + 2019-04-01: 1_648 + 2019-10-01: 2_089 + 2021-10-01: 2_200 + 2022-10-01: 2_686 2023-10-01: 2_783 2024-10-01: 2_791 10: + 2015-07-01: 1_587 + 2016-10-01: 1_610 + 2019-04-01: 1_771 + 2019-10-01: 2_286 + 2021-10-01: 2_407 + 2022-10-01: 2_939 2023-10-01: 3_045 2024-10-01: 3_054 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region2/non_exempt.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region2/non_exempt.yaml index fa312d32572..6269e825e98 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region2/non_exempt.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/monthly_payment/region2/non_exempt.yaml @@ -13,34 +13,108 @@ metadata: href: https://hhsaprogramguides.sandiegocounty.gov/CalWORKS/44-300/CalWORKs_Payment_Standards/G_CalWORKs_Payment_Standards.pdf - title: California Department of Social Services, Executive Summary, All County Letter No. 24-55, CalWORKs Payment Standards Chart Effective October 1, 2024 href: https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-55.pdf?ver=2024-08-19-162608-673#page=7 + - title: CDSS Historical MAP and MBSAC Since 1971 (Region 2, page 10 of 10) + href: https://cdss.ca.gov/cdssweb/entres/forms/English/TEMP2250.pdf#page=11 + - title: CDSS TEMP 2250 Form (1/16) showing FY 2016-17 MAP after 1.43% COLA + href: https://cdss.ca.gov/cdssweb/entres/forms/English/TEMP2250.pdf#page=11 + - title: CDSS ACL 18-124, AB 1811 10% MAP Increase Effective April 1, 2019 + href: https://cdss.ca.gov/portals/9/acl/2018/18-124.pdf#page=4 + - title: CDSS ACL 19-73, SB 80 MAP Increase Effective October 1, 2019 + href: https://cdss.ca.gov/portals/9/acl/2019/19-73.pdf#page=4 + - title: CDSS ACL 21-87, AB 135 5.3% MAP Increase Effective October 1, 2021 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2021/21-87.pdf#page=9 + - title: CDSS ACL 22-60, SB 187 11% MAP Increase Effective October 1, 2022 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2022/ACL%2022-60.pdf#page=7 + - title: CDSS ACL 23-74, 3.6% MAP Increase Effective October 1, 2023 + href: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2023/23-74.pdf#page=7 1: + 2015-07-01: 331 + 2016-10-01: 336 + 2019-04-01: 370 + 2019-10-01: 520 + 2021-10-01: 548 + 2022-10-01: 669 2023-10-01: 693 2024-10-01: 695 2: + 2015-07-01: 541 + 2016-10-01: 549 + 2019-04-01: 604 + 2019-10-01: 661 + 2021-10-01: 696 + 2022-10-01: 850 2023-10-01: 881 2024-10-01: 884 3: + 2015-07-01: 670 + 2016-10-01: 680 + 2019-04-01: 748 + 2019-10-01: 834 + 2021-10-01: 878 + 2022-10-01: 1_073 2023-10-01: 1_112 2024-10-01: 1_115 4: + 2015-07-01: 799 + 2016-10-01: 810 + 2019-04-01: 891 + 2019-10-01: 1_007 + 2021-10-01: 1_060 + 2022-10-01: 1_295 2023-10-01: 1_342 2024-10-01: 1_346 5: + 2015-07-01: 909 + 2016-10-01: 922 + 2019-04-01: 1_014 + 2019-10-01: 1_180 + 2021-10-01: 1_243 + 2022-10-01: 1_518 2023-10-01: 1_573 2024-10-01: 1_578 6: + 2015-07-01: 1_021 + 2016-10-01: 1_035 + 2019-04-01: 1_139 + 2019-10-01: 1_353 + 2021-10-01: 1_425 + 2022-10-01: 1_740 2023-10-01: 1_803 2024-10-01: 1_808 7: + 2015-07-01: 1_120 + 2016-10-01: 1_136 + 2019-04-01: 1_250 + 2019-10-01: 1_526 + 2021-10-01: 1_607 + 2022-10-01: 1_962 2023-10-01: 2_033 2024-10-01: 2_039 8: + 2015-07-01: 1_222 + 2016-10-01: 1_239 + 2019-04-01: 1_363 + 2019-10-01: 1_699 + 2021-10-01: 1_789 + 2022-10-01: 2_185 2023-10-01: 2_264 2024-10-01: 2_271 9: + 2015-07-01: 1_321 + 2016-10-01: 1_340 + 2019-04-01: 1_474 + 2019-10-01: 1_872 + 2021-10-01: 1_971 + 2022-10-01: 2_407 2023-10-01: 2_494 2024-10-01: 2_501 10: + 2015-07-01: 1_418 + 2016-10-01: 1_438 + 2019-04-01: 1_582 + 2019-10-01: 2_044 + 2021-10-01: 2_152 + 2022-10-01: 2_628 2023-10-01: 2_723 2024-10-01: 2_731 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/region1_counties.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/region1_counties.yaml index 80eb9af4fec..1de23ee1bc7 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/region1_counties.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/region1_counties.yaml @@ -6,10 +6,11 @@ metadata: label: California CalWORKs region 1 counties reference: - title: Los Angeles Department of Public Social Services E-Policy | CalWORKs Region Definiton - href: [http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-212_Minimum_Basic_Standard_of_Adequate_Care%2F44-212_Minimum_Basic_Standard_of_Adequate_Care.htm%23Definitionsbc-4&rhtocid=_3_1_7_20_3, - https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=WIC§ionNum=11452.018.] + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-212_Minimum_Basic_Standard_of_Adequate_Care%2F44-212_Minimum_Basic_Standard_of_Adequate_Care.htm%23Definitionsbc-4&rhtocid=_3_1_7_20_3 + - title: California Welfare & Institutions Code Section 11452.018 + href: https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=WIC§ionNum=11452.018. values: - 2023-01-01: # Actual date: 2023-07-01 + 2015-07-01: - ALAMEDA_COUNTY_CA - CONTRA_COSTA_COUNTY_CA - LOS_ANGELES_COUNTY_CA diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/age_threshold.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/age_threshold.yaml index b9d592c9d45..c20a8df66b2 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/age_threshold.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/age_threshold.yaml @@ -6,6 +6,6 @@ metadata: label: California CalWORKs resource limit age threshold reference: - title: Los Angeles Department of Public Social Services E-Policy | Property - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F42-200_Property%2F42-200_Property.htm%23Policybc-2&rhtocid=_3_1_2_0_1 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F42-200_Property%2F42-200_Property.htm%23Policybc-2&rhtocid=_3_1_2_0_1 values: 2023-01-01: 60 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/vehicle.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/vehicle.yaml index 797841217f2..a640605b3c4 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/vehicle.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/vehicle.yaml @@ -12,7 +12,7 @@ metadata: - title: Los Angeles Department DPSS CalWORKs href: https://dpss.lacounty.gov/en/cash/calworks.html - title: Los Angeles Department of Public Social Services E-Policy | Determining Value of Property – Vehicles - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects/CalWORKs/CalWORKs/42-215_Determining_Value_of_Property_Vehicles/42-215_Determining_Value_of_Property_Vehicles.htm + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects/CalWORKs/CalWORKs/42-215_Determining_Value_of_Property_Vehicles/42-215_Determining_Value_of_Property_Vehicles.htm - title: California Department of Social Services, Vehicle Value Limit Increase All County Letter 24-36 - href: https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-36.pdf?ver=2024-05-31-153125-453 + href: https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-36.pdf?ver=2024-05-31-153125-453#page=3 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/with_elderly_or_disabled_member.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/with_elderly_or_disabled_member.yaml index ddba39f409f..d028288cd4a 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/with_elderly_or_disabled_member.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/with_elderly_or_disabled_member.yaml @@ -5,7 +5,7 @@ metadata: label: California CalWORKs resources limit for households with elderly or disabled people reference: - title: Los Angeles Department of Public Social Services E-Policy | Property - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F42-200_Property%2F42-200_Property.htm%23Policybc-2&rhtocid=_3_1_2_0_1 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F42-200_Property%2F42-200_Property.htm%23Policybc-2&rhtocid=_3_1_2_0_1 - title: California Department of Social Services, Executive Summary, All County Letter No. 24-54, Maximum Asset Limit Increase href: https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-54.pdf?ver=2024-08-02-081116-287#page=2 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/without_elderly_or_disabled_member.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/without_elderly_or_disabled_member.yaml index 346ce676867..3ad31e8ede3 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/without_elderly_or_disabled_member.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/limit/without_elderly_or_disabled_member.yaml @@ -6,7 +6,7 @@ metadata: label: California CalWORKs resources limit for households without elderly or disabled people reference: - title: Los Angeles Department of Public Social Services E-Policy | Property - href: http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F42-200_Property%2F42-200_Property.htm%23Policybc-2&rhtocid=_3_1_2_0_1 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F42-200_Property%2F42-200_Property.htm%23Policybc-2&rhtocid=_3_1_2_0_1 - title: California Department of Social Services, Executive Summary, All County Letter No. 24-54, Maximum Asset Limit Increase href: https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-54.pdf?ver=2024-08-02-081116-287#page=2 diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/sources.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/sources.yaml index 1cc61bdd822..17aaef4620c 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/sources.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/resources/sources.yaml @@ -6,7 +6,7 @@ metadata: label: California CalWORKs TANF resources reference: - title: Los Angeles Department of Public Social Services E-Policy | Property Definitions - href: http://epolicy.dpss.lacounty.gopv/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F42-200_Property%2F42-200_Property.htm%23Definitionsbc-4&rhtocid=_3_1_2_0_3 + href: https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F42-200_Property%2F42-200_Property.htm%23Definitionsbc-4&rhtocid=_3_1_2_0_3 values: 2022-07-01: - assessed_property_value # real_property diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/ca_tanf.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/ca_tanf.yaml index 4219d481b69..90f15f0c7b6 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/ca_tanf.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/ca_tanf.yaml @@ -32,3 +32,114 @@ ca_tanf_countable_income_recipient: 200 output: ca_tanf: 400 + +- name: Zero income yields full MAP benefit. + period: 2025 + input: + ca_tanf_eligible: true + ca_tanf_maximum_payment: 14_100 + ca_tanf_countable_income_recipient: 0 + output: + ca_tanf: 14_100 + +- name: Benefit is capped at MAP even when countable income is negative. + period: 2025 + input: + ca_tanf_eligible: true + ca_tanf_maximum_payment: 10_000 + ca_tanf_countable_income_recipient: -5_000 + output: + ca_tanf: 10_000 + +- name: Case 1, countable income equals MAP yields zero benefit. + period: 2025 + absolute_error_margin: 0.1 + input: + ca_tanf_eligible: true + ca_tanf_maximum_payment: 10_000 + ca_tanf_countable_income_recipient: 10_000 + output: + # MAP - income = 10000 - 10000 = 0 + ca_tanf: 0 + +- name: Case 2, countable income one dollar below MAP yields one dollar benefit. + period: 2025 + absolute_error_margin: 0.1 + input: + ca_tanf_eligible: true + ca_tanf_maximum_payment: 10_000 + ca_tanf_countable_income_recipient: 9_999 + output: + ca_tanf: 1 + +- name: Case 3, countable income exceeds MAP yields zero benefit. + period: 2025 + absolute_error_margin: 0.1 + input: + ca_tanf_eligible: true + ca_tanf_maximum_payment: 10_000 + ca_tanf_countable_income_recipient: 15_000 + output: + ca_tanf: 0 + +- name: Case 4, all members immigration eligible full benefit. + period: 2025 + absolute_error_margin: 0.1 + input: + people: + person1: + immigration_status: CITIZEN + person2: + immigration_status: CITIZEN + person3: + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [person1, person2, person3] + ca_tanf_eligible: true + ca_tanf_maximum_payment: 12_000 + ca_tanf_countable_income_recipient: 6_000 + output: + # all 3 of 3 eligible, fraction = 1.0 + # benefit = max(12000 - 6000, 0) = 6000 + ca_tanf: 6_000 + +- name: Case 5, one of three members immigration ineligible prorates benefit. + period: 2025 + absolute_error_margin: 0.1 + input: + people: + person1: + immigration_status: CITIZEN + person2: + immigration_status: CITIZEN + person3: + immigration_status: UNDOCUMENTED + spm_units: + spm_unit: + members: [person1, person2, person3] + ca_tanf_eligible: true + ca_tanf_maximum_payment: 12_000 + ca_tanf_countable_income_recipient: 6_000 + output: + # 2 of 3 eligible, fraction = 2/3 + # benefit = max(12000 - 6000, 0) * 2/3 = 4000 + ca_tanf: 4_000 + +- name: Case 6, single person household zero income full MAP. + period: 2025 + absolute_error_margin: 0.1 + input: + people: + person1: + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [person1] + ca_tanf_eligible: true + ca_tanf_maximum_payment: 8_808 + ca_tanf_countable_income_recipient: 0 + output: + # 1 of 1 eligible, fraction = 1.0 + # benefit = 8808 + ca_tanf: 8_808 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_applicant_financial_test.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_applicant_financial_test.yaml index 22dae54c77f..d247fe61989 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_applicant_financial_test.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_applicant_financial_test.yaml @@ -15,3 +15,33 @@ ca_tanf_income_limit: 2_000 output: ca_tanf_applicant_financial_test: false + +- name: Case 1, zero income always passes. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_countable_income_applicant: 0 + ca_tanf_income_limit: 10_788 + output: + ca_tanf_applicant_financial_test: true + +- name: Case 2, income one dollar above limit fails. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_countable_income_applicant: 10_789 + ca_tanf_income_limit: 10_788 + output: + ca_tanf_applicant_financial_test: false + +- name: Case 3, income exactly at limit passes (uses <=). + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_countable_income_applicant: 10_788 + ca_tanf_income_limit: 10_788 + output: + ca_tanf_applicant_financial_test: true diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_eligible.yaml index a32dc2cb9da..90f64602d6f 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_eligible.yaml @@ -47,3 +47,27 @@ ca_tanf_resources_eligible: false output: ca_tanf_eligible: false + +- name: Case 1, all eligible but vehicle value ineligible. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + is_demographic_tanf_eligible: true + ca_tanf_financial_eligible: true + ca_tanf_resources_eligible: true + ca_tanf_vehicle_value_eligible: false + output: + ca_tanf_eligible: false + +- name: Case 2, all four conditions met. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + is_demographic_tanf_eligible: true + ca_tanf_financial_eligible: true + ca_tanf_resources_eligible: true + ca_tanf_vehicle_value_eligible: true + output: + ca_tanf_eligible: true diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_income_limit.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_income_limit.yaml index 3c0fcc7f55f..64379babe71 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_income_limit.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_income_limit.yaml @@ -1,5 +1,5 @@ -- name: If the household has one person and is located in region 1, income limit is $862/yr. - period: 2023 +- name: If the household has one person and is located in region 1, income limit is $862/mo. + period: 2024 input: state_code: CA spm_unit_size: 1 @@ -7,8 +7,8 @@ output: ca_tanf_income_limit: 862 * 12 -- name: If the household has ten people and is located in region 1, income limit is $3,760/yr. - period: 2023 +- name: If the household has ten people and is located in region 1, income limit is $3,760/mo. + period: 2024 input: state_code: CA spm_unit_size: 10 @@ -16,8 +16,8 @@ output: ca_tanf_income_limit: 3_760 * 12 -- name: If the household has eleven people and is located in region 1, income limit is $3,794/yr. - period: 2023 +- name: If the household has eleven people and is located in region 1, income limit is $3,794/mo. + period: 2024 input: state_code: CA spm_unit_size: 11 @@ -25,8 +25,8 @@ output: ca_tanf_income_limit: (3_760 + 34) * 12 -- name: If the household has one person and is located in region 2, income limit is $818/yr. - period: 2023 +- name: If the household has one person and is located in region 2, income limit is $818/mo. + period: 2024 input: state_code: CA spm_unit_size: 1 @@ -34,8 +34,8 @@ output: ca_tanf_income_limit: 818 * 12 -- name: If the household has ten people and is located in region 2, income limit is $3,576/yr. - period: 2023 +- name: If the household has ten people and is located in region 2, income limit is $3,576/mo. + period: 2024 input: state_code: CA spm_unit_size: 10 @@ -43,11 +43,196 @@ output: ca_tanf_income_limit: 3_576 * 12 -- name: If the household has twelve people and is located in region 2, income limit is $3,644/yr. - period: 2023 +- name: If the household has twelve people and is located in region 2, income limit is $3,644/mo. + period: 2024 input: state_code: CA spm_unit_size: 12 ca_tanf_region1: false output: ca_tanf_income_limit: (3_576 + 2 * 34) * 12 + +- name: Region 1 MBSAC for 1-person household in 2025 uses 2024-07-01 value ($899/mo). + period: 2025 + input: + state_code: CA + spm_unit_size: 1 + ca_tanf_region1: true + output: + ca_tanf_income_limit: 899 * 12 + +- name: Region 1 MBSAC for 3-person household in 2025 uses 2024-07-01 value ($1,829/mo). + period: 2025 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: true + output: + ca_tanf_income_limit: 1_829 * 12 + +- name: Region 2 MBSAC for 1-person household in 2025 uses 2024-07-01 value ($853/mo). + period: 2025 + input: + state_code: CA + spm_unit_size: 1 + ca_tanf_region1: false + output: + ca_tanf_income_limit: 853 * 12 + +- name: Region 2 MBSAC for 10-person household in 2025 uses 2024-07-01 value ($3,731/mo). + period: 2025 + input: + state_code: CA + spm_unit_size: 10 + ca_tanf_region1: false + output: + ca_tanf_income_limit: 3_730 * 12 + +- name: Region 2 MBSAC for 11-person household in 2025 uses $35 additional. + period: 2025 + input: + state_code: CA + spm_unit_size: 11 + ca_tanf_region1: false + output: + ca_tanf_income_limit: (3_730 + 35) * 12 + +- name: Region 1 MBSAC for 1-person household in 2026 uses 2025-07-01 value ($930/mo). + period: 2026 + input: + state_code: CA + spm_unit_size: 1 + ca_tanf_region1: true + output: + ca_tanf_income_limit: 930 * 12 + +- name: Region 2 MBSAC for 10-person household in 2026 uses 2025-07-01 value ($3,858/mo). + period: 2026 + input: + state_code: CA + spm_unit_size: 10 + ca_tanf_region1: false + output: + ca_tanf_income_limit: 3_858 * 12 + +- name: Case 1, historical 2019 Region 1 size 1 MBSAC is $714/mo. + period: 2020 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 1 + ca_tanf_region1: true + output: + ca_tanf_income_limit: 714 * 12 + +- name: Case 2, historical 2019 Region 2 size 3 MBSAC is $1,379/mo. + period: 2020 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: false + output: + ca_tanf_income_limit: 1_379 * 12 + +- name: Case 3, family size 11 Region 1 2026 uses additional $36 per person. + period: 2026 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 11 + ca_tanf_region1: true + output: + ca_tanf_income_limit: (4_056 + 36) * 12 + +- name: Case 4, family size 15 Region 2 2025 uses $35 additional per extra person. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 15 + ca_tanf_region1: false + output: + ca_tanf_income_limit: (3_730 + 5 * 35) * 12 + +# Historical MBSAC period transition tests + +- name: Case 5, 2016 R1 family of 3 gets Jul 2015 MBSAC $1,257. + period: 2016 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: true + output: + ca_tanf_income_limit: 1_257 * 12 + +- name: Case 6, 2016 R2 family of 3 gets Jul 2015 MBSAC $1,194. + period: 2016 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: false + output: + ca_tanf_income_limit: 1_194 * 12 + +- name: Case 7, 2018 R1 family of 3 gets Jul 2017 MBSAC $1,342. + period: 2018 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: true + output: + ca_tanf_income_limit: 1_342 * 12 + +- name: Case 8, 2018 R2 family of 3 gets Jul 2017 MBSAC $1,274. + period: 2018 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: false + output: + ca_tanf_income_limit: 1_274 * 12 + +- name: Case 9, 2022 R1 family of 3 gets Jul 2021 MBSAC $1,539. + period: 2022 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: true + output: + ca_tanf_income_limit: 1_539 * 12 + +- name: Case 10, 2022 R2 family of 3 gets Jul 2021 MBSAC $1,460. + period: 2022 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: false + output: + ca_tanf_income_limit: 1_460 * 12 + +- name: Case 11, 2016 R1 11-person household uses additional $24 above size 10. + period: 2016 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 11 + ca_tanf_region1: true + output: + ca_tanf_income_limit: (2_698 + 24) * 12 + +- name: Case 12, 2016 R1 family of 10 gets Jul 2015 MBSAC $2,698. + period: 2016 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 10 + ca_tanf_region1: true + output: + ca_tanf_income_limit: 2_698 * 12 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_maximum_payment.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_maximum_payment.yaml index a53b7f2a5e3..4ece13e42d1 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_maximum_payment.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_maximum_payment.yaml @@ -1,5 +1,5 @@ -- name: If the household has one person, is located in region 1 and exempt eligible, income limit is $862 * 12/yr. - period: 2023 +- name: If the household has one person, is located in region 1 and exempt eligible, MAP is $807 * 12/yr. + period: 2024 input: state_code: CA spm_unit_size: 1 @@ -8,8 +8,8 @@ output: ca_tanf_maximum_payment: 807 * 12 -- name: If the household has ten persons, is located in region 1 and exempt eligible, income limit is $3,205 * 12/yr. - period: 2023 +- name: If the household has ten persons, is located in region 1 and exempt eligible, MAP is $3,205 * 12/yr. + period: 2024 input: state_code: CA spm_unit_size: 10 @@ -18,8 +18,8 @@ output: ca_tanf_maximum_payment: 3_205 * 12 -- name: If the household has twelve persons, is located in region 1 and exempt eligible, income limit is $3,205 * 12/yr. - period: 2023 +- name: If the household has twelve persons, is located in region 1 and exempt eligible, MAP is $3,205 * 12/yr. + period: 2024 input: state_code: CA spm_unit_size: 12 @@ -28,8 +28,8 @@ output: ca_tanf_maximum_payment: 3_205 * 12 -- name: If the household has one person, is located in region 1 and exempt ineligible, income limit is $732 * 12/yr. - period: 2023 +- name: If the household has one person, is located in region 1 and exempt ineligible, MAP is $732 * 12/yr. + period: 2024 input: state_code: CA spm_unit_size: 1 @@ -38,8 +38,8 @@ output: ca_tanf_maximum_payment: 732 * 12 -- name: If the household has ten persons, is located in region 1 and exempt ineligible, income limit is $2,867 * 12/yr. - period: 2023 +- name: If the household has ten persons, is located in region 1 and exempt ineligible, MAP is $2,867 * 12/yr. + period: 2024 input: state_code: CA spm_unit_size: 10 @@ -48,8 +48,8 @@ output: ca_tanf_maximum_payment: 2_867 * 12 -- name: If the household has twelve persons, is located in region 1 and exempt ineligible, income limit is $2,867 * 12/yr. - period: 2023 +- name: If the household has twelve persons, is located in region 1 and exempt ineligible, MAP is $2,867 * 12/yr. + period: 2024 input: state_code: CA spm_unit_size: 12 @@ -58,8 +58,8 @@ output: ca_tanf_maximum_payment: 2_867 * 12 -- name: If the household has one person, is located in region 2 and exempt eligible, income limit is $768 * 12/yr. - period: 2023 +- name: If the household has one person, is located in region 2 and exempt eligible, MAP is $768 * 12/yr. + period: 2024 input: state_code: CA spm_unit_size: 1 @@ -68,8 +68,8 @@ output: ca_tanf_maximum_payment: 768 * 12 -- name: If the household has ten persons, is located in region 2 and exempt eligible, income limit is $3,045 * 12/yr. - period: 2023 +- name: If the household has ten persons, is located in region 2 and exempt eligible, MAP is $3,045 * 12/yr. + period: 2024 input: state_code: CA spm_unit_size: 10 @@ -78,8 +78,8 @@ output: ca_tanf_maximum_payment: 3_045 * 12 -- name: If the household has twelve persons, is located in region 2 and exempt eligible, income limit is $3,045 * 12/yr. - period: 2023 +- name: If the household has twelve persons, is located in region 2 and exempt eligible, MAP is $3,045 * 12/yr. + period: 2024 input: state_code: CA spm_unit_size: 12 @@ -88,8 +88,8 @@ output: ca_tanf_maximum_payment: 3_045 * 12 -- name: If the household has one person, is located in region 2 and exempt ineligible, income limit is $693 * 12/yr. - period: 2023 +- name: If the household has one person, is located in region 2 and exempt ineligible, MAP is $693 * 12/yr. + period: 2024 input: state_code: CA spm_unit_size: 1 @@ -98,8 +98,8 @@ output: ca_tanf_maximum_payment: 693 * 12 -- name: If the household has ten persons, is located in region 2 and exempt ineligible, income limit is $2,723 * 12/yr. - period: 2023 +- name: If the household has ten persons, is located in region 2 and exempt ineligible, MAP is $2,723 * 12/yr. + period: 2024 input: state_code: CA spm_unit_size: 10 @@ -108,8 +108,8 @@ output: ca_tanf_maximum_payment: 2_723 * 12 -- name: If the household has twelve persons, is located in region 2 and exempt ineligible, income limit is $2,723 * 12/yr. - period: 2023 +- name: If the household has twelve persons, is located in region 2 and exempt ineligible, MAP is $2,723 * 12/yr. + period: 2024 input: state_code: CA spm_unit_size: 12 @@ -237,3 +237,203 @@ ca_tanf_exempt: false output: ca_tanf_maximum_payment: 2_731 * 12 + +# Historical MAP transition tests (backdated parameters) + +- name: Case 1, 2016 R1 non-exempt family of 3 gets Jul 2015 MAP $704. + period: 2016 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: true + ca_tanf_exempt: false + output: + ca_tanf_maximum_payment: 704 * 12 + +- name: Case 2, 2016 R1 exempt family of 3 gets Jul 2015 MAP $788. + period: 2016 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: true + ca_tanf_exempt: true + output: + ca_tanf_maximum_payment: 788 * 12 + +- name: Case 3, 2016 R2 non-exempt family of 3 gets Jul 2015 MAP $670. + period: 2016 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: false + ca_tanf_exempt: false + output: + ca_tanf_maximum_payment: 670 * 12 + +- name: Case 4, 2016 R2 exempt family of 3 gets Jul 2015 MAP $751. + period: 2016 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: false + ca_tanf_exempt: true + output: + ca_tanf_maximum_payment: 751 * 12 + +- name: Case 5, 2017 R1 non-exempt family of 3 gets Oct 2016 MAP $714 after 1.43% COLA. + period: 2017 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: true + ca_tanf_exempt: false + output: + ca_tanf_maximum_payment: 714 * 12 + +- name: Case 6, 2017 R1 exempt family of 3 gets Oct 2016 MAP $799 after 1.43% COLA. + period: 2017 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: true + ca_tanf_exempt: true + output: + ca_tanf_maximum_payment: 799 * 12 + +- name: Case 7, 2017 R2 non-exempt family of 3 gets Oct 2016 MAP $680. + period: 2017 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: false + ca_tanf_exempt: false + output: + ca_tanf_maximum_payment: 680 * 12 + +- name: Case 8, 2017 R2 exempt family of 3 gets Oct 2016 MAP $762. + period: 2017 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: false + ca_tanf_exempt: true + output: + ca_tanf_maximum_payment: 762 * 12 + +- name: Case 9, 2020 R1 non-exempt family of 3 gets Oct 2019 SB 80 MAP $878. + period: 2020 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: true + ca_tanf_exempt: false + output: + ca_tanf_maximum_payment: 878 * 12 + +- name: Case 10, 2020 R1 exempt family of 3 gets Oct 2019 SB 80 MAP $983. + period: 2020 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: true + ca_tanf_exempt: true + output: + ca_tanf_maximum_payment: 983 * 12 + +- name: Case 11, 2020 R2 non-exempt family of 3 gets Oct 2019 SB 80 MAP $834. + period: 2020 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: false + ca_tanf_exempt: false + output: + ca_tanf_maximum_payment: 834 * 12 + +- name: Case 12, 2020 R2 exempt family of 3 gets Oct 2019 SB 80 MAP $934. + period: 2020 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: false + ca_tanf_exempt: true + output: + ca_tanf_maximum_payment: 934 * 12 + +- name: Case 13, 2022 R1 non-exempt family of 3 gets Oct 2021 MAP after 5.3% increase. + period: 2022 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: true + ca_tanf_exempt: false + output: + ca_tanf_maximum_payment: 925 * 12 + +- name: Case 14, 2022 R1 exempt family of 3 gets Oct 2021 MAP after 5.3% increase. + period: 2022 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: true + ca_tanf_exempt: true + output: + ca_tanf_maximum_payment: 1_035 * 12 + +- name: Case 15, 2022 R2 non-exempt family of 3 gets Oct 2021 MAP. + period: 2022 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: false + ca_tanf_exempt: false + output: + ca_tanf_maximum_payment: 878 * 12 + +- name: Case 16, 2022 R2 exempt family of 3 gets Oct 2021 MAP. + period: 2022 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: false + ca_tanf_exempt: true + output: + ca_tanf_maximum_payment: 984 * 12 + +- name: Case 17, 2023 R1 non-exempt family of 3 gets Oct 2022 MAP after 11% increase. + period: 2023 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: true + ca_tanf_exempt: false + output: + ca_tanf_maximum_payment: 1_130 * 12 + +- name: Case 18, 2023 R2 exempt family of 3 gets Oct 2022 MAP. + period: 2023 + absolute_error_margin: 0.1 + input: + state_code: CA + spm_unit_size: 3 + ca_tanf_region1: false + ca_tanf_exempt: true + output: + ca_tanf_maximum_payment: 1_201 * 12 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_recipient_financial_test.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_recipient_financial_test.yaml index a84f57c9948..f49d5de3340 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_recipient_financial_test.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_recipient_financial_test.yaml @@ -15,3 +15,33 @@ ca_tanf_countable_income_recipient: 100 output: ca_tanf_recipient_financial_test: false + +- name: Case 1, countable income one dollar above MAP fails. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_maximum_payment: 10_000 + ca_tanf_countable_income_recipient: 10_001 + output: + ca_tanf_recipient_financial_test: false + +- name: Case 2, zero countable income passes. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_maximum_payment: 10_000 + ca_tanf_countable_income_recipient: 0 + output: + ca_tanf_recipient_financial_test: true + +- name: Case 3, countable income one dollar below MAP passes. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_maximum_payment: 10_000 + ca_tanf_countable_income_recipient: 9_999 + output: + ca_tanf_recipient_financial_test: true diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_resources_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_resources_eligible.yaml index 8d0fc279726..ed106c62d7a 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_resources_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_resources_eligible.yaml @@ -15,3 +15,53 @@ ca_tanf_resources_limit: 2_000 output: ca_tanf_resources_eligible: false + +- name: Case 1, resources at exactly $12,137 lower limit boundary. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_resources: 12_137 + ca_tanf_resources_limit: 12_137 + output: + ca_tanf_resources_eligible: true + +- name: Case 2, resources one dollar above $12,137 lower limit boundary. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_resources: 12_138 + ca_tanf_resources_limit: 12_137 + output: + ca_tanf_resources_eligible: false + +- name: Case 3, resources at exactly $18,206 higher limit boundary. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_resources: 18_206 + ca_tanf_resources_limit: 18_206 + output: + ca_tanf_resources_eligible: true + +- name: Case 4, resources one dollar above $18,206 higher limit boundary. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_resources: 18_207 + ca_tanf_resources_limit: 18_206 + output: + ca_tanf_resources_eligible: false + +- name: Case 5, zero resources always eligible. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_resources: 0 + ca_tanf_resources_limit: 12_137 + output: + ca_tanf_resources_eligible: true diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_vehicle_value_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_vehicle_value_eligible.yaml index c11b8b5977c..b9d64287249 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_vehicle_value_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_vehicle_value_eligible.yaml @@ -30,3 +30,30 @@ output: ca_tanf_vehicle_value_eligible: false +- name: Case 1, zero vehicle value always eligible. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + household_vehicles_value: 0 + output: + ca_tanf_vehicle_value_eligible: true + +- name: Case 2, historical 2023 vehicle limit at exact boundary $32,045. + period: 2024 + absolute_error_margin: 0.1 + input: + state_code: CA + household_vehicles_value: 32_045 + output: + ca_tanf_vehicle_value_eligible: true + +- name: Case 3, historical 2023 vehicle limit one dollar over $32,045. + period: 2024 + absolute_error_margin: 0.1 + input: + state_code: CA + household_vehicles_value: 32_046 + output: + ca_tanf_vehicle_value_eligible: false + diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/income/ca_tanf_countable_income_applicant.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/income/ca_tanf_countable_income_applicant.yaml index 9a250c0ca28..bfccb2802bd 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/income/ca_tanf_countable_income_applicant.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/income/ca_tanf_countable_income_applicant.yaml @@ -27,3 +27,74 @@ ca_tanf_other_unearned_income: 0 output: ca_tanf_countable_income_applicant: 0 + +- name: Historical 2019 applicant EID is $90 per employed person. + period: 2019 + input: + state_code: CA + ca_tanf_earned_income: 6_000 + ca_tanf_db_unearned_income: 0 + ca_tanf_other_unearned_income: 0 + output: + # yearly: 6000 - (90 * 12) = 6000 - 1080 = 4920 + ca_tanf_countable_income_applicant: 4_920 + +- name: Case 1, earned income exactly at $450/mo disregard. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_earned_income: 5_400 + ca_tanf_db_unearned_income: 0 + ca_tanf_other_unearned_income: 0 + output: + # yearly: max(5400 - 5400, 0) = 0 + ca_tanf_countable_income_applicant: 0 + +- name: Case 2, earned income one dollar above $450/mo disregard. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_earned_income: 5_412 + ca_tanf_db_unearned_income: 0 + ca_tanf_other_unearned_income: 0 + output: + # yearly: max(5412 - 5400, 0) = 12 + ca_tanf_countable_income_applicant: 12 + +- name: Case 3, zero income yields zero countable. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_earned_income: 0 + ca_tanf_db_unearned_income: 0 + ca_tanf_other_unearned_income: 0 + output: + ca_tanf_countable_income_applicant: 0 + +- name: Case 4, only unearned income no disregard applied. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_earned_income: 0 + ca_tanf_db_unearned_income: 6_000 + ca_tanf_other_unearned_income: 3_000 + output: + # disregard only applies to earned income + ca_tanf_countable_income_applicant: 9_000 + +- name: Case 5, earned below disregard with unearned income. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_earned_income: 2_400 + ca_tanf_db_unearned_income: 1_200 + ca_tanf_other_unearned_income: 600 + output: + # earned: max(2400 - 5400, 0) = 0 + # total: 0 + 1200 + 600 = 1800 + ca_tanf_countable_income_applicant: 1_800 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/income/ca_tanf_countable_income_recipient.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/income/ca_tanf_countable_income_recipient.yaml index d2e176791f8..bbaaed622e6 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/income/ca_tanf_countable_income_recipient.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/income/ca_tanf_countable_income_recipient.yaml @@ -50,3 +50,127 @@ ca_tanf_other_unearned_income: 1_000 output: ca_tanf_countable_income_recipient: 7_600 + +- name: Historical 2020 EID is $500 flat plus 50% of remaining earned. + period: 2021 + input: + state_code: CA + ca_tanf_earned_income: 12_000 + ca_tanf_db_unearned_income: 0 + ca_tanf_other_unearned_income: 0 + output: + # monthly: (1000 - 500) * 0.5 = 250 | * 12 = 3000 + ca_tanf_countable_income_recipient: 3_000 + +- name: Historical 2019 EID is $225 flat plus 50% of remaining earned. + period: 2019 + input: + state_code: CA + ca_tanf_earned_income: 12_000 + ca_tanf_db_unearned_income: 0 + ca_tanf_other_unearned_income: 0 + output: + # monthly: (1000 - 225) * 0.5 = 387.5 | * 12 = 4650 + ca_tanf_countable_income_recipient: 4_650 + +- name: Zero income yields zero countable income. + period: 2023 + input: + state_code: CA + ca_tanf_earned_income: 0 + ca_tanf_db_unearned_income: 0 + ca_tanf_other_unearned_income: 0 + output: + ca_tanf_countable_income_recipient: 0 + +- name: DBI-only income below $600 disregard yields zero countable. + period: 2023 + input: + state_code: CA + ca_tanf_earned_income: 0 + ca_tanf_db_unearned_income: 7_200 + ca_tanf_other_unearned_income: 0 + output: + # monthly: max(600 - 600, 0) = 0 | * 12 = 0 + ca_tanf_countable_income_recipient: 0 + +- name: DBI above $600 disregard plus other unearned. + period: 2023 + input: + state_code: CA + ca_tanf_earned_income: 0 + ca_tanf_db_unearned_income: 12_000 + ca_tanf_other_unearned_income: 2_400 + output: + # monthly DBI: max(1000 - 600, 0) = 400 | * 12 = 4800 + # monthly other: 200 | * 12 = 2400 + # total: 4800 + 2400 = 7200 + ca_tanf_countable_income_recipient: 7_200 + +- name: Case 1, earned income exactly $600/mo fully disregarded by flat exclusion. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_earned_income: 7_200 + ca_tanf_db_unearned_income: 0 + ca_tanf_other_unearned_income: 0 + output: + # monthly: max(600 - 600, 0) * 0.5 = 0 | * 12 = 0 + ca_tanf_countable_income_recipient: 0 + +- name: Case 2, earned income one dollar above $600/mo disregard. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_earned_income: 7_212 + ca_tanf_db_unearned_income: 0 + ca_tanf_other_unearned_income: 0 + output: + # monthly: 601 - 600 = 1; 1 * 0.5 = 0.5 | * 12 = 6 + ca_tanf_countable_income_recipient: 6 + +- name: Case 3, DBI exactly at $600/mo flat exclusion exhausts it, leaving zero for earned. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_earned_income: 12_000 + ca_tanf_db_unearned_income: 7_200 + ca_tanf_other_unearned_income: 0 + output: + # monthly DBI: 600; countable DBI: max(600 - 600, 0) = 0 + # remaining flat: max(600 - 600, 0) = 0 + # earned: max(1000 - 0, 0) * 0.5 = 500 | * 12 = 6000 + ca_tanf_countable_income_recipient: 6_000 + +- name: Case 4, DBI partially uses flat exclusion leaving remainder for earned. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_earned_income: 12_000 + ca_tanf_db_unearned_income: 3_600 + ca_tanf_other_unearned_income: 0 + output: + # monthly DBI: 300; countable DBI: max(300 - 600, 0) = 0 + # remaining flat: max(600 - 300, 0) = 300 + # earned: max(1000 - 300, 0) * 0.5 = 350 | * 12 = 4200 + ca_tanf_countable_income_recipient: 4_200 + +- name: Case 5, all three income types with partial flat exclusion split. + period: 2025 + absolute_error_margin: 0.1 + input: + state_code: CA + ca_tanf_earned_income: 24_000 + ca_tanf_db_unearned_income: 2_400 + ca_tanf_other_unearned_income: 6_000 + output: + # monthly DBI: 200; countable DBI: max(200 - 600, 0) = 0 + # remaining flat: max(600 - 200, 0) = 400 + # earned: 2000 - 400 = 1600; 1600 * 0.5 = 800 + # other: 500 + # total monthly: 800 + 0 + 500 = 1300 | * 12 = 15600 + ca_tanf_countable_income_recipient: 15_600 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/integration.yaml new file mode 100644 index 00000000000..2401864d246 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/integration.yaml @@ -0,0 +1,212 @@ +# CalWORKs full-pipeline integration tests for historical backdated periods. +# Tests eligibility -> income -> benefit for actual families. + +- name: Case 1, 2016 R1 non-exempt enrolled family of 3 with $12k earned income. + period: 2016 + absolute_error_margin: 0.1 + input: + people: + person1: + age: 30 + employment_income: 12_000 + immigration_status: CITIZEN + person2: + age: 10 + immigration_status: CITIZEN + person3: + age: 5 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [person1, person2, person3] + is_tanf_enrolled: true + households: + household: + members: [person1, person2, person3] + state_code: CA + ca_tanf_region1: true + tax_units: + tax_unit: + members: [person1, person2, person3] + output: + # MAP: R1 non-exempt size 3 = $704/mo -> 8448/yr + ca_tanf_maximum_payment: 8_448 + # MBSAC: R1 size 3 = $1,257/mo -> 15084/yr + ca_tanf_income_limit: 15_084 + # Recipient EID: $225 flat + 50% (2013-03-01 value active at 2016) + # monthly: max(1000 - 225, 0) * 0.5 = 387.5 -> yearly: 4650 + ca_tanf_countable_income_recipient: 4_650 + # Applicant EID: $90 flat (1998-01-01 value active at 2016) + # yearly: max(12000 - 90*12, 0) = 10920 + ca_tanf_countable_income_applicant: 10_920 + # Recipient test: 4650 < 8448 -> true + ca_tanf_recipient_financial_test: true + # Applicant test: 10920 <= 15084 -> true + ca_tanf_applicant_financial_test: true + ca_tanf_financial_eligible: true + # Benefit: max(8448 - 4650, 0) = 3798, all citizens so proration = 1.0 + ca_tanf: 3_798 + +- name: Case 2, 2020 R1 non-exempt enrolled family of 3 with $18k earned income. + period: 2020 + absolute_error_margin: 0.1 + input: + people: + person1: + age: 30 + employment_income: 18_000 + immigration_status: CITIZEN + person2: + age: 10 + immigration_status: CITIZEN + person3: + age: 5 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [person1, person2, person3] + is_tanf_enrolled: true + households: + household: + members: [person1, person2, person3] + state_code: CA + ca_tanf_region1: true + tax_units: + tax_unit: + members: [person1, person2, person3] + output: + # MAP: R1 non-exempt size 3 = $878/mo (Oct 2019, SB 80) -> 10536/yr + ca_tanf_maximum_payment: 10_536 + # MBSAC: R1 size 3 = $1,453/mo (Jul 2019) -> 17436/yr + ca_tanf_income_limit: 17_436 + # Recipient EID: $225 flat + 50% (2013-03-01 value; $500 not yet in effect) + # monthly: max(1500 - 225, 0) * 0.5 = 637.5 -> yearly: 7650 + ca_tanf_countable_income_recipient: 7_650 + # Applicant EID: $90 flat (1998-01-01 value; $450 not yet in effect until Jul 2022) + # yearly: max(18000 - 90*12, 0) = 16920 + ca_tanf_countable_income_applicant: 16_920 + # Recipient test: 7650 < 10536 -> true + ca_tanf_recipient_financial_test: true + # Applicant test: 16920 <= 17436 -> true + ca_tanf_applicant_financial_test: true + ca_tanf_financial_eligible: true + # Benefit: max(10536 - 7650, 0) = 2886 + ca_tanf: 2_886 + +- name: Case 3, 2020 R2 exempt enrolled family of 3 with zero income. + period: 2020 + absolute_error_margin: 0.1 + input: + people: + person1: + age: 30 + immigration_status: CITIZEN + person2: + age: 10 + immigration_status: CITIZEN + person3: + age: 5 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [person1, person2, person3] + is_tanf_enrolled: true + ca_tanf_exempt: true + households: + household: + members: [person1, person2, person3] + state_code: CA + ca_tanf_region1: false + tax_units: + tax_unit: + members: [person1, person2, person3] + output: + # MAP: R2 exempt size 3 = $934/mo (Oct 2019) -> 11208/yr + ca_tanf_maximum_payment: 11_208 + # MBSAC: R2 size 3 = $1,379/mo (Jul 2019) -> 16548/yr + ca_tanf_income_limit: 16_548 + ca_tanf_countable_income_recipient: 0 + ca_tanf_countable_income_applicant: 0 + ca_tanf_recipient_financial_test: true + ca_tanf_applicant_financial_test: true + ca_tanf_financial_eligible: true + # Full MAP: 11208 + ca_tanf: 11_208 + +- name: Case 4, 2016 R2 non-exempt applicant family of 3 income above MBSAC. + period: 2016 + absolute_error_margin: 0.1 + input: + people: + person1: + age: 30 + employment_income: 24_000 + immigration_status: CITIZEN + person2: + age: 10 + immigration_status: CITIZEN + person3: + age: 5 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [person1, person2, person3] + is_tanf_enrolled: false + households: + household: + members: [person1, person2, person3] + state_code: CA + ca_tanf_region1: false + tax_units: + tax_unit: + members: [person1, person2, person3] + output: + # MAP: R2 non-exempt size 3 = $670/mo -> 8040/yr + ca_tanf_maximum_payment: 8_040 + # MBSAC: R2 size 3 = $1,194/mo -> 14328/yr + ca_tanf_income_limit: 14_328 + # Applicant EID: $90 flat + # yearly: max(24000 - 1080, 0) = 22920 + ca_tanf_countable_income_applicant: 22_920 + # Applicant test: 22920 <= 14328 -> FALSE + ca_tanf_applicant_financial_test: false + # New applicant fails applicant test -> financially ineligible + ca_tanf_financial_eligible: false + ca_tanf: 0 + +- name: Case 5, 2017 R1 non-exempt enrolled family of 3 with $6k earned income. + period: 2017 + absolute_error_margin: 0.1 + input: + people: + person1: + age: 30 + employment_income: 6_000 + immigration_status: CITIZEN + person2: + age: 8 + immigration_status: CITIZEN + person3: + age: 4 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [person1, person2, person3] + is_tanf_enrolled: true + households: + household: + members: [person1, person2, person3] + state_code: CA + ca_tanf_region1: true + tax_units: + tax_unit: + members: [person1, person2, person3] + output: + # MAP: R1 non-exempt size 3 = $714/mo (Oct 2016, 1.43% COLA) -> 8568/yr + ca_tanf_maximum_payment: 8_568 + # Recipient EID: $225 flat + 50% + # monthly: max(500 - 225, 0) * 0.5 = 137.5 -> yearly: 1650 + ca_tanf_countable_income_recipient: 1_650 + ca_tanf_recipient_financial_test: true + # Benefit: max(8568 - 1650, 0) = 6918 + ca_tanf: 6_918 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/resources/ca_tanf_resources_limit.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/resources/ca_tanf_resources_limit.yaml index 1cbc4a32686..0f103ccacf7 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/resources/ca_tanf_resources_limit.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/resources/ca_tanf_resources_limit.yaml @@ -117,3 +117,81 @@ state_code: CA output: ca_tanf_resources_limit: 18_206 + +- name: Case 1, age exactly at 60 threshold triggers higher limit. + period: 2025 + absolute_error_margin: 0.1 + input: + people: + person1: + age: 60 + is_disabled: false + person2: + age: 30 + is_disabled: false + spm_units: + spm_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: CA + output: + ca_tanf_resources_limit: 18_206 + +- name: Case 2, age one below threshold gets lower limit. + period: 2025 + absolute_error_margin: 0.1 + input: + people: + person1: + age: 59 + is_disabled: false + person2: + age: 30 + is_disabled: false + spm_units: + spm_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: CA + output: + ca_tanf_resources_limit: 12_137 + +- name: Case 3, single person household with disability gets higher limit. + period: 2025 + absolute_error_margin: 0.1 + input: + people: + person1: + age: 30 + is_disabled: true + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: CA + output: + ca_tanf_resources_limit: 18_206 + +- name: Case 4, single young non-disabled person gets lower limit. + period: 2025 + absolute_error_margin: 0.1 + input: + people: + person1: + age: 25 + is_disabled: false + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: CA + output: + ca_tanf_resources_limit: 12_137 diff --git a/policyengine_us/variables/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_exempt.py b/policyengine_us/variables/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_exempt.py index 15001b70a00..9da6a1f931f 100644 --- a/policyengine_us/variables/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_exempt.py +++ b/policyengine_us/variables/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_exempt.py @@ -9,4 +9,7 @@ class ca_tanf_exempt(Variable): defined_for = StateCode.CA reference = "http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-315_CalWORKs_Maximum_Aid_Payment_Levels%2F44-315_CalWORKs_Maximum_Aid_Payment_Levels.htm%23Policybc-2&rhtocid=_3_1_8_4_1" + # Known simplification: exempt status regulation may require ALL adult + # caretakers in the AU to qualify, not just any member. The current + # adds pattern treats any qualifying member as sufficient. adds = "gov.states.ca.cdss.tanf.cash.exempt" diff --git a/policyengine_us/variables/gov/states/ca/cdss/tanf/cash/income/ca_tanf_countable_income_applicant.py b/policyengine_us/variables/gov/states/ca/cdss/tanf/cash/income/ca_tanf_countable_income_applicant.py index 82f3b62e362..6104fb1f1f2 100644 --- a/policyengine_us/variables/gov/states/ca/cdss/tanf/cash/income/ca_tanf_countable_income_applicant.py +++ b/policyengine_us/variables/gov/states/ca/cdss/tanf/cash/income/ca_tanf_countable_income_applicant.py @@ -11,6 +11,9 @@ class ca_tanf_countable_income_applicant(Variable): reference = "http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-111_23_Earned_Income_Disregards%2F44-111_23_Earned_Income_Disregards.htm%23Policybc-2&rhtocid=_3_1_6_2_1" def formula(spm_unit, period, parameters): + # Known simplification: per WIC 11450.12, the $450 disregard + # should be applied per employed person, not as a flat total. + # Current implementation subtracts a single flat amount. p = parameters( period ).gov.states.ca.cdss.tanf.cash.income.disregards.applicant diff --git a/sources/formula_review.md b/sources/formula_review.md new file mode 100644 index 00000000000..d5f4cbab6a3 --- /dev/null +++ b/sources/formula_review.md @@ -0,0 +1,141 @@ +# California CalWORKs - Formula Review vs Regulations + +## Overall Assessment + +The CalWORKs implementation is **structurally sound** and follows correct CalWORKs regulations for the current period. The variable dependency graph is well-designed and matches the actual program flow. No zero-sentinel anti-patterns, no hardcoded year-checks, no unused parameters. + +--- + +## Variable-by-Variable Review + +### 1. `ca_tanf.py` (Main Benefit Calculation) +**Formula:** `prorated_fraction * min(max(MAP - countable_income, 0), MAP)` +**Regulation:** WIC 11450 - Grant = MAP - net countable income +**Verdict:** CORRECT +- Correctly caps benefit at MAP (prevents negative income inflation) +- Correctly prorates by immigration-eligible fraction +- No issues + +### 2. `ca_tanf_eligible.py` +**Formula:** `demographic & financial & resources & vehicle` +**Regulation:** CalWORKs requires demographic, financial, resource, and vehicle eligibility +**Verdict:** CORRECT +- All four eligibility checks are present + +### 3. `ca_tanf_financial_eligible.py` +**Formula:** `where(tanf_enrolled, recipient_test, applicant_test & recipient_test)` +**Regulation:** Applicants must pass both applicant (MBSAC gross income) and recipient (MAP net income) tests; recipients only need recipient test +**Verdict:** CORRECT +- Correctly uses `is_tanf_enrolled` per CLAUDE.md TANF instructions +- Logic matches regulation: applicants face both tests, recipients face only the net income test + +### 4. `ca_tanf_applicant_financial_test.py` +**Formula:** `countable_income_applicant <= income_limit` +**Regulation:** Applicant gross income (after $450/person disregard) must be <= MBSAC +**Verdict:** CORRECT (but see applicant income issue below) + +### 5. `ca_tanf_recipient_financial_test.py` +**Formula:** `countable_income_recipient < maximum_payment` +**Regulation:** Recipient net income (after $600 + 50% disregard) must be < MAP +**Verdict:** CORRECT +- Note: uses strict `<` not `<=`, which is correct per CalWORKs rules (if net income equals MAP, grant would be $0) + +### 6. `ca_tanf_maximum_payment.py` +**Formula:** Looks up MAP by region, exempt status, and AU size (capped at max_au_size) +**Regulation:** MAP varies by Region 1/2, exempt/non-exempt, and family size 1-10+ +**Verdict:** CORRECT +- Correctly uses `where` for region selection +- Correctly uses `min_(unit_size, p.max_au_size)` for AU sizes > 10 + +### 7. `ca_tanf_income_limit.py` (MBSAC lookup) +**Formula:** Looks up MBSAC by region and AU size, adds per-person increment for AU > 10 +**Regulation:** MBSAC is per family size, with additional per-person amount for sizes > 10 +**Verdict:** CORRECT +- Correctly handles additional persons beyond max AU size + +### 8. `ca_tanf_countable_income_applicant.py` +**Formula:** `max(earned - $450*12, 0) + db_unearned + other_unearned` +**Regulation:** WIC 11450.12 - Subtract $450 from **each employed person's** earned income +**Verdict:** POTENTIAL ISSUE (Tier C) +- The code applies $450 as a flat total disregard for the entire SPMUnit +- Regulation says $450 **per employed person** +- Example: Family with 2 working adults should get $900 disregard, not $450 +- **Impact:** Families with multiple workers would have higher countable income than they should, potentially failing the applicant test incorrectly +- **Note:** This may be a known simplification given SPMUnit-level income aggregation + +### 9. `ca_tanf_countable_income_recipient.py` +**Formula:** +``` +db_countable = max(db_monthly - $600, 0) +remaining_flat = max($600 - db_monthly, 0) +earned_countable = max(earned_monthly - remaining_flat, 0) * 0.5 +total = (db_countable + earned_countable + other_unearned) * 12 +``` +**Regulation:** WIC 11451.5 - $600 disregard applies first to DBI, remainder to earned; then 50% of remaining earned income +**Verdict:** CORRECT +- DBI-first priority is correctly implemented +- Remaining flat exclusion correctly cascades to earned income +- 50% disregard correctly applied after flat deduction +- Monthly-to-yearly conversion is correct + +### 10. `ca_tanf_exempt.py` +**Formula:** Uses `adds` pattern checking for SSI, IHSS, SDI, workers_comp +**Regulation:** Exempt if all adult caretakers receive SSI/SSP, IHSS, SDI, workers' comp, or temporary disability +**Verdict:** POTENTIAL CONCERN +- The `adds` pattern sums boolean values - this checks if **any** member receives these benefits +- Regulation requires **all** adult caretakers to receive qualifying benefits +- This may lead to incorrect exempt classification if one adult has SSI but the other does not +- **Note:** Need to verify how `adds` is used in the context of SPMUnit boolean aggregation + +### 11. `ca_tanf_region1.py` +**Formula:** Checks if household county is in Region 1 list +**Regulation:** 17 counties in Region 1 per WIC 11452.018 +**Verdict:** CORRECT +- All 17 Region 1 counties match the statutory list + +### 12. `ca_tanf_resources_eligible.py` and `ca_tanf_resources_limit.py` +**Formula:** Resources <= limit (higher limit for elderly/disabled) +**Regulation:** Resource limit tied to CalFresh limits, higher for families with 60+ or disabled members +**Verdict:** CORRECT + +### 13. `ca_tanf_vehicle_value_eligible.py` +**Formula:** Vehicle value <= vehicle limit parameter +**Regulation:** One vehicle exempt up to limit +**Verdict:** CORRECT but simplified +- Regulation exempts one vehicle up to the limit; the code checks total household vehicle value +- This may overcount if family has multiple vehicles + +### 14. Income Source Variables (`ca_tanf_earned_income`, `ca_tanf_db_unearned_income`, `ca_tanf_other_unearned_income`) +**Formula:** Each uses `adds` pattern to sum income sources from parameter lists +**Verdict:** CORRECT +- Income source definitions match regulation categories + +### 15. `ca_tanf_immigration_status_eligible_person.py` +**Formula:** Checks person's immigration status against eligible list +**Verdict:** CORRECT +- Note: Reference URL points to child care section, not cash assistance section (minor reference error) + +--- + +## Issues Summary + +### Critical (affects benefit accuracy): +**NONE identified** - All formulas produce correct results for the most common scenarios. + +### Moderate (edge case accuracy): +1. **Applicant per-person disregard** (Issue C1): $450 applied as flat total, not per employed person. Affects multi-worker families. +2. **Exempt status determination** (Issue C2): May incorrectly classify partially-exempt AUs. Needs verification of `adds` pattern behavior. + +### Minor (reference/documentation): +3. **Immigration status reference**: Points to child care section URL instead of cash assistance eligibility. +4. **Date comments**: Multiple files have `# Actual date:` comments indicating the implemented dates differ from actual effective dates. + +### No Issues Found: +- No zero-sentinel anti-patterns +- No hardcoded year-checks or period-conditional logic +- No unused parameters +- No redundant logic +- Monthly/yearly conversions are consistent throughout +- DBI-first priority correctly implemented +- Region determination correctly matches statutory county list +- Resource and vehicle tests correctly structured diff --git a/sources/implementation_spec.md b/sources/implementation_spec.md new file mode 100644 index 00000000000..9960c1c0d9b --- /dev/null +++ b/sources/implementation_spec.md @@ -0,0 +1,153 @@ +# California CalWORKs - Implementation Spec (Consolidated) + +## Summary of Current Implementation + +The CalWORKs implementation is **well-structured and largely correct** for current-period values. It covers: + +### Variables (19 files): +- `ca_tanf.py` - Main benefit calculation (MAP - countable income, prorated by immigration-eligible fraction) +- `ca_tanf_eligible.py` - Overall eligibility (demographic + financial + resources + vehicle) +- `ca_tanf_financial_eligible.py` - Financial eligibility using `is_tanf_enrolled` to distinguish applicants vs recipients +- `ca_tanf_applicant_financial_test.py` - Applicant gross income vs MBSAC +- `ca_tanf_recipient_financial_test.py` - Recipient net income vs MAP +- `ca_tanf_maximum_payment.py` - MAP lookup by region/exempt status/AU size +- `ca_tanf_income_limit.py` - MBSAC lookup by region/AU size +- `ca_tanf_countable_income_applicant.py` - Applicant income: earned - $450/person disregard + unearned +- `ca_tanf_countable_income_recipient.py` - Recipient income: $600 flat disregard + 50% remaining earned +- `ca_tanf_region1.py` - Region determination by county +- `ca_tanf_exempt.py` - Exempt/non-exempt status +- `ca_tanf_earned_income.py`, `ca_tanf_db_unearned_income.py`, `ca_tanf_other_unearned_income.py` - Income sources +- `ca_tanf_resources.py`, `ca_tanf_resources_limit.py`, `ca_tanf_resources_eligible.py` - Resource eligibility +- `ca_tanf_vehicle_value_eligible.py` - Vehicle value test +- `ca_tanf_immigration_status_eligible_person.py` - Immigration status eligibility + +### Parameters (20+ files): +- MAP: 4 files (region1/region2 x exempt/non_exempt), each with breakdown by AU size 1-10 +- MBSAC: 2 files (region1/region2), each with breakdown by AU size 1-10 +- Income disregards: 3 files (applicant flat, recipient flat, recipient percentage) +- Resources: 4 files (vehicle, with/without elderly, age threshold) +- Income sources: 3 files (earned, db_unearned, other_unearned) +- Other: region1_counties, exempt conditions, immigration statuses, max_au_size + +--- + +## Validation Against Regulatory Sources + +### Tier A: Current Values Verified Correct + +| Parameter | Implemented | Verified Source | Status | +|---|---|---|---| +| Region 1 Non-Exempt MAP (10/01/2024) | $734-$2,876 | Santa Clara DEBS, LA DPSS | CORRECT | +| Region 1 Exempt MAP (10/01/2024) | $809-$3,215 | LA DPSS, EHSD | CORRECT | +| Region 2 Non-Exempt MAP (10/01/2024) | $695-$2,731 | Santa Clara DEBS Region 2 | CORRECT | +| Region 2 Exempt MAP (10/01/2024) | $770-$3,054 | Santa Clara DEBS Region 2 | CORRECT | +| Recipient EID flat ($600) | $600 (2022-06-01) | LA DPSS ePolicies, LSNC | CORRECT | +| Recipient EID percentage (50%) | 0.5 (2022-06-01) | LA DPSS ePolicies | CORRECT | +| Applicant EID flat ($450) | $450 (2022-07-01) | LA DPSS ePolicies, LSNC | CORRECT | +| Vehicle limit ($32,968) | $32,968 (2024-07-01) | ACL 24-36 | CORRECT | + +### Tier A: Issues Found + +#### Issue 1: MBSAC (Income Limit) Values Need Update +- **Region 1 MBSAC**: Currently has values only for `2023-01-01`. Missing `2024-07-01` (4.32% COLA) and `2025-07-01` values. + - Region 1 MBSAC 2024-07-01: $899, $1,476, $1,829, $2,080(?), ... (from LSNC/ACL 24-37) + - Region 1 MBSAC 2025-07-01: $930, $1,526, $1,892, $2,244, $2,561, $2,880, $3,166, $3,445, $3,738, $4,056 (from Santa Clara DEBS) +- **Region 2 MBSAC**: Currently has values only for `2023-07-01`. Missing `2024-07-01` and `2025-07-01`. + - Region 2 MBSAC 2024-07-01: $853, $1,401, $1,736, ... (from LSNC/ACL 24-37) + - Region 2 MBSAC 2025-07-01: $882, $1,449, $1,795, $2,134, $2,441, $2,741, $3,002, $3,279, $3,544, $3,858 (from Santa Clara DEBS) + +#### Issue 2: Resource Limit Values May Be Incorrect for 2025 +- Implementation: $12,137 (2025-01-01 without elderly), $18,206 (2025-01-01 with elderly) +- Research found: $12,552 (2025 from ACL 25-65 / DB101), $18,829 (2025 from ACL 25-65 / DB101) +- **Need to verify**: The discrepancy may be due to different effective dates (Jan 2025 vs later in 2025). ACL 25-65 was issued September 2025 with effective date January 1, 2026. + +#### Issue 3: Region 1 MAP Date Discrepancy +- Region 1 non_exempt.yaml and exempt.yaml have `2023-01-01` as the first date entry, with a comment `# Actual date: 2023-10-01` +- Region 2 files correctly use `2023-10-01` +- The 3.6% MAP increase was effective October 1, 2023 (per ACL 23-74), so the Region 1 files should use `2023-10-01`, not `2023-01-01` + +### Tier B: Missing Historical Parameters (Backdating Needed) + +All parameter files currently have only 1-2 date entries. Historical values are needed for: + +#### MAP Payment Standards (4 files): +| Period | Change | Need Values For | +|---|---|---| +| 1998-01-01 | CalWORKs creation | 4 files x 10 sizes | +| Multiple dates through 2023 | Various COLAs/cuts/restorations | See timeline in working_references.md | + +Key historical MAP milestones: +- 1997-98: Original CalWORKs levels (~$565 for 3-person R1 non-exempt) +- 2009-07-01: 4% grant reduction +- 2011-06-01: 8% MAP reduction +- 2014-03-01: 5% restoration +- 2016-17: 1.43% increase +- 2021-10-01: 5.3% increase +- 2022-10-01: 11% increase +- 2023-10-01: 3.6% increase +- 2024-10-01: 0.3% increase + +#### MBSAC (2 files): +- Need annual values from CalWORKs creation (adjusted July 1 each year by CNI) +- CDSS MAP-MBSAC.pdf (being rendered by prep-1) has comprehensive historical data + +#### Earned Income Disregards (3 files): +| Parameter | Historical Values Needed | +|---|---| +| Applicant flat | 1998-01-01: $90, 2022-07-01: $450 | +| Recipient flat | 1998-01-01: $225, 2011-06-01: $112, 2012-07-01: $225, 2020-06-01: $500, 2021-06-01: $550, 2022-06-01: $600 | +| Recipient percentage | 1998-01-01: 0.5 (unchanged) | + +#### Resource Limits: +- Need historical values from CalFresh alignment dates +- Vehicle limit history: $4,650 (1997) -> ... -> $32,045 (2023) -> $32,968 (2024) + +### Tier C: Formula/Logic Issues + +#### Issue C1: Applicant Income Calculation +The applicant countable income formula subtracts the flat $450 disregard as a total, not per-employed-person: +```python +yearly_disregard = p.flat * MONTHS_IN_YEAR +countable_earned = max_(spm_unit("ca_tanf_earned_income", period) - yearly_disregard, 0) +``` +Per regulation (WIC 11450.12), the $450 is per **each employed person** in the AU, not a flat amount for the whole AU. This may be a simplification for the PolicyEngine model (since income is aggregated at SPMUnit level), but should be verified/documented. + +#### Issue C2: Recipient Income Formula - DBI Priority +The current recipient formula correctly implements the DBI-first priority for the $600 disregard: +```python +countable_db_unearned = max_(db_unearned - p.flat, 0) +remaining_flat_exclusion = max_(p.flat - db_unearned, 0) +countable_earned = max_(earned - remaining_flat_exclusion, 0) * (1 - p.percentage) +``` +This is CORRECT per regulation: the $600 applies first to disability-based income, then any remainder to earned income. + +--- + +## Implementation Priority + +### Priority 1 (Tier A - YAML Updates Only): +1. **Fix Region 1 MAP dates**: Change `2023-01-01` to `2023-10-01` in region1/exempt.yaml and region1/non_exempt.yaml +2. **Add MBSAC 2024 and 2025 values**: Add entries for both regions +3. **Verify 2025 resource limits**: Cross-check ACL 25-65 effective dates + +### Priority 2 (Tier B - Historical Backdating): +4. **Backdate EID parameters**: Add historical entries (most critical: $225 -> $112 -> $225 -> $500 -> $550 -> $600) +5. **Backdate MAP parameters**: Add historical entries from CDSS MAP-MBSAC.pdf (awaiting prep-1 rendering) +6. **Backdate MBSAC parameters**: Add historical entries from CDSS MAP-MBSAC.pdf + +### Priority 3 (Tier C - Formula Review): +7. **Review applicant per-person disregard**: Determine if current implementation is acceptable simplification or needs fix +8. **Add reference quality**: Update reference URLs to use more permanent CDSS sources rather than county ePolicies + +--- + +## Cross-Reference Data Sources + +| Data Point | Primary Source | Cross-Check Sources | +|---|---|---| +| MAP values | CDSS ACLs | Santa Clara DEBS, LA DPSS, CCWRO tables | +| MBSAC values | CDSS ACLs | Santa Clara DEBS, LSNC Reg Summaries | +| EID amounts | WIC 11451.5, ACLs | LA DPSS ePolicies, LSNC | +| Resource limits | CDSS ACLs | DB101, county fact sheets | +| Historical MAP | CDSS MAP-MBSAC.pdf | CCWRO tables, LAO analyses | +| Historical MBSAC | CDSS MAP-MBSAC.pdf | CCWRO tables | diff --git a/sources/reference_audit.md b/sources/reference_audit.md new file mode 100644 index 00000000000..a32760900ff --- /dev/null +++ b/sources/reference_audit.md @@ -0,0 +1,101 @@ +# California CalWORKs - Reference URL Audit + +## Summary + +Audited all reference URLs in CalWORKs cash and child care parameter files. Found **1 broken URL** (typo), **multiple http URLs** that should be https, and **reference quality concerns** (county-level sources used where state-level CDSS sources exist). + +--- + +## Critical Issues + +### 1. BROKEN URL (Typo) +**File:** `resources/sources.yaml` (line 9) +``` +href: http://epolicy.dpss.lacounty.gopv/epolicy/... +``` +**Issue:** Domain has typo `lacounty.gopv` instead of `lacounty.gov` +**Fix:** Change `gopv` to `gov` + +--- + +## Reference Quality Issues + +### 2. HTTP URLs Should Be HTTPS +All LA County ePolicies links use `http://` instead of `https://`. The site now redirects to https. Files affected: +- `income/sources/earned.yaml` +- `income/sources/db_unearned.yaml` +- `income/sources/other_unearned.yaml` +- `exempt.yaml` +- `region1_counties.yaml` +- `income/monthly_limit/region1/main.yaml` +- `income/monthly_limit/region2/main.yaml` +- `income/monthly_limit/region1/additional.yaml` +- `income/monthly_limit/region2/additional.yaml` +- `income/disregards/applicant/flat.yaml` +- `income/disregards/recipient/flat.yaml` +- `income/disregards/recipient/percentage.yaml` +- `resources/limit/without_elderly_or_disabled_member.yaml` +- `resources/limit/with_elderly_or_disabled_member.yaml` +- `resources/limit/age_threshold.yaml` +- `resources/limit/vehicle.yaml` +- All child_care parameter files + +**Recommendation:** Change all `http://epolicy.dpss.lacounty.gov` to `https://epolicy.dpss.lacounty.gov` + +### 3. County ePolicies URLs Are Fragile +Most references use LA County DPSS ePolicies with long hash fragment URLs like: +``` +http://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/index.htm?&area=general&type=responsivehelp&ctxid=&project=ePolicyMaster#t=mergedProjects%2FCalWORKs%2FCalWORKs%2F44-111_23_Earned_Income_Disregards%2F44-111_23_Earned_Income_Disregards.htm%23Policybc-2&rhtocid=_3_1_6_2_1 +``` + +**Issues:** +- These are county-level interpretive guides, not primary regulatory sources +- URL format is fragile (session-based hash fragments) +- The same DPSS ePolicies site was recently migrated to a new URL structure: + - Old: `http://epolicy.dpss.lacounty.gov/epolicy/...` + - New: `https://my.dpss.lacounty.gov/public/en/home/epolicy/...` + +**Recommendation:** Add WIC statutory citations and CDSS ACL references as primary sources; keep county ePolicies as secondary/supplementary. + +### 4. San Diego County PDF Reference May Be Outdated +**Files:** All 4 MAP payment files + max_au_size.yaml +``` +href: https://hhsaprogramguides.sandiegocounty.gov/CalWORKS/44-300/CalWORKs_Payment_Standards/G_CalWORKs_Payment_Standards.pdf +``` +**Issue:** County program guide PDFs are frequently updated/moved. Already supplemented with ACL 24-55 reference, which is good. + +### 5. ACL 24-55 Reference Needs Verification +**Files:** All 4 MAP payment files +``` +href: https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-55.pdf?ver=2024-08-19-162608-673#page=7 +``` +**Concern:** Earlier search suggested ACL 24-55 may actually be about CalFresh/SNAP changes, not CalWORKs MAP. The CalWORKs MAP increase ACL may be a different number. Need to verify this is the correct ACL with payment standard tables on page 7. + +--- + +## Recommended Reference Additions + +For CalWORKs cash parameters, add these primary regulatory sources: + +### Statutes (permanent): +- WIC 11450 (MAP base amounts): `https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=11450.&lawCode=WIC` +- WIC 11450.025 (COLA trigger): `https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=11450.025.&lawCode=WIC` +- WIC 11450.12 (Applicant EID): `https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=11450.12.&lawCode=WIC` +- WIC 11451.5 (Recipient EID): `https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=11451.5.&lawCode=WIC` +- WIC 11452 (MBSAC): `https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=11452.&lawCode=WIC` +- WIC 11453 (COLA mechanism): `https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=11453.&lawCode=WIC` + +### CDSS ACLs (for specific date entries): +- ACL 24-37 (MBSAC COLA 07/01/2024): `https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-37.pdf` +- ACL 24-54 (Resource limits): `https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-54.pdf` +- ACL 24-36 (Vehicle limit): Already referenced correctly +- ACL 25-65 (Resource limits 2026): `https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2025/25-65.pdf` + +--- + +## Files with NO Issues +The following reference URLs appear correct and well-formed: +- `resources/limit/vehicle.yaml` - Multiple good references including ACL 24-36 +- `resources/limit/without_elderly_or_disabled_member.yaml` - ACL 24-54 reference with page number +- `resources/limit/with_elderly_or_disabled_member.yaml` - ACL 24-54 reference with page number +- All MAP payment files - ACL reference with page number (pending ACL 24-55 verification) diff --git a/sources/working_references.md b/sources/working_references.md new file mode 100644 index 00000000000..85a8d61d30b --- /dev/null +++ b/sources/working_references.md @@ -0,0 +1,473 @@ +# California CalWORKs (TANF) - Working References + +## 1. Program Overview + +California's TANF program is called **CalWORKs** (California Work Opportunity and Responsibility to Kids), administered by the California Department of Social Services (CDSS). Created by AB 1542 in 1997, replacing California's AFDC program. The program provides cash assistance to low-income families with dependent children. + +--- + +## 2. Statutory Authority + +### Primary Statutes (Welfare & Institutions Code) +- **WIC 11450** - Maximum Aid Payment (MAP) base amounts and payment table + - Source: https://leginfo.legislature.ca.gov/faces/codes_displayText.xhtml?lawCode=WIC&division=9.&title=&part=3.&chapter=2.&article=6. +- **WIC 11450.025** - COLA increases to MAP (triggered by Child Poverty and Family Supplemental Subaccount revenue growth) +- **WIC 11450.12** - Applicant earned income disregard ($450 per employed person) +- **WIC 11451.5** - Recipient earned income disregard ($600 + 50% of remainder) +- **WIC 11452** - Minimum Basic Standard of Adequate Care (MBSAC) +- **WIC 11453** - Annual COLA adjustment mechanism (California Necessities Index) + - MBSAC adjusted annually effective July 1 + - MAP COLA suspended since 2010-11 unless triggered by statute + +### Base MAP Amounts from WIC 11450 (statutory baseline, before adjustments): +| Family Size | Base Amount | +|---|---| +| 1 | $326 | +| 2 | $535 | +| 3 | $663 | +| 4 | $788 | +| 5 | $899 | +| 6 | $1,010 | +| 7 | $1,109 | +| 8 | $1,209 | +| 9 | $1,306 | +| 10+ | $1,403 | + +--- + +## 3. Regional Structure + +CalWORKs has TWO regions with different payment levels: + +### Region 1 (Higher cost counties): +Alameda, Contra Costa, Los Angeles, Marin, Monterey, Napa, Orange, San Diego, San Francisco, San Luis Obispo, San Mateo, Santa Barbara, Santa Clara, Santa Cruz, Solano, Sonoma, Ventura + +### Region 2 (Lower cost counties): +All other California counties (Alpine, Amador, Butte, Calaveras, Colusa, Del Norte, El Dorado, Fresno, Glenn, Humboldt, Imperial, Inyo, Kern, Kings, Lake, Lassen, Madera, Mariposa, Mendocino, Merced, Modoc, Mono, Nevada, Placer, Plumas, Riverside, Sacramento, San Benito, San Bernardino, San Joaquin, Shasta, Sierra, Siskiyou, Stanislaus, Sutter, Tehama, Trinity, Tulare, Tuolumne, Yolo, Yuba) + +Region 1 amounts are approximately 4.9% higher than Region 2. + +--- + +## 4. Exempt vs. Non-Exempt Categories + +- **Exempt (Unemployable)**: Higher MAP. All adult caretakers in the AU must receive SSI/SSP, IHSS, SDI, temporary workers' compensation, temporary disability, OR be a non-needy/non-parent caretaker relative. +- **Non-Exempt (Employable)**: Lower MAP. Standard payment for most recipients. + +--- + +## 5. Current Payment Standards (Effective October 1, 2024) + +### Region 1 - Non-Exempt MAP (10/01/2024): +| AU Size | MAP | +|---|---| +| 1 | $734 | +| 2 | $930 | +| 3 | $1,175 | +| 4 | $1,416 | +| 5 | $1,659 | +| 6 | $1,902 | +| 7 | $2,145 | +| 8 | $2,389 | +| 9 | $2,631 | +| 10 | $2,876 | +Each additional person: +$36 + +### Region 1 - Exempt MAP (10/01/2024): +| AU Size | MAP | +|---|---| +| 1 | $809 | +| 2 | $1,039 | +| 3 | $1,314 | +| 4 | $1,579 | +| 5 | $1,850 | +| 6 | $2,123 | +| 7 | $2,395 | +| 8 | $2,669 | +| 9 | $2,939 | +| 10 | $3,215 | +Each additional person: +$36 + +Source: LA County DPSS ePolicies, Contra Costa EHSD Fact Sheet + +### Region 2 - Non-Exempt MAP (10/01/2024): +| AU Size | MAP | +|---|---| +| 1 | $695 | +| 2 | $884 | +| 3 | $1,115 | +| 4 | $1,346 | +| 5 | $1,578 | +| 6 | $1,808 | +| 7 | $2,039 | +| 8 | $2,271 | +| 9 | $2,501 | +| 10 | $2,731 | +Each additional person: +$36 + +### Region 2 - Exempt MAP (10/01/2024): +| AU Size | MAP | +|---|---| +| 1 | $770 | +| 2 | $987 | +| 3 | $1,248 | +| 4 | $1,498 | +| 5 | $1,758 | +| 6 | $2,018 | +| 7 | $2,274 | +| 8 | $2,537 | +| 9 | $2,791 | +| 10 | $3,054 | +Each additional person: +$36 + +Source: Santa Clara County DEBS Chart Book (stgenssa.sccgov.org) + +--- + +## 6. MBSAC (Minimum Basic Standard of Adequate Care) + +MBSAC serves as the gross income eligibility threshold for applicants. + +### Region 1 MBSAC (07/01/2025): +| AU Size | MBSAC | +|---|---| +| 1 | $930 | +| 2 | $1,526 | +| 3 | $1,892 | +| 4 | $2,244 | +| 5 | $2,561 | +| 6 | $2,880 | +| 7 | $3,166 | +| 8 | $3,445 | +| 9 | $3,738 | +| 10 | $4,056 | +Each additional person: +$36 + +Source: Santa Clara County Non-Exempt AU Standards Chart Region 1 + +### Region 1 MBSAC (07/01/2024): +| AU Size | MBSAC | +|---|---| +| 1 | $899 | +| 2 | $1,476 | +| 3 | $1,829 | + +Source: LSNC Regulation Summaries (reg.summaries.guide), ACL 24-37 + +### Region 2 MBSAC (07/01/2025): +| AU Size | MBSAC | +|---|---| +| 1 | $882 | +| 2 | $1,449 | +| 3 | $1,795 | +| 4 | $2,134 | +| 5 | $2,441 | +| 6 | $2,741 | +| 7 | $3,002 | +| 8 | $3,279 | +| 9 | $3,544 | +| 10 | $3,858 | +Each additional person: +$36 + +Source: Santa Clara County Standards Chart Region 2 + +### Region 2 MBSAC (07/01/2024): +| AU Size | MBSAC | +|---|---| +| 1 | $853 | +| 2 | $1,401 | +| 3 | $1,736 | + +Source: LSNC Regulation Summaries, ACL 24-37 + +### MBSAC COLA: +- 07/01/2024: 4.32% increase (ACL 24-37) +- MBSAC is adjusted annually via California Necessities Index (CNI) + +--- + +## 7. Income Eligibility Tests + +### Applicant Gross Income Test: +1. Subtract $450 from each employed person's gross earned income (WIC 11450.12) +2. Add all remaining income (earned + unearned) +3. Compare total against MBSAC for family size and region +4. If total exceeds MBSAC, family is **ineligible** + +### Recipient Net Income Test: +1. Subtract $600 from combined earned/disability-based income (WIC 11451.5) +2. Subtract 50% of remaining earned income +3. Add all unearned income (other than disability-based already disregarded) +4. Net income must be less than MAP for the AU's size/region/exempt status + +--- + +## 8. Earned Income Disregards - Historical Timeline + +### Applicant EID: +| Effective Date | Amount | Authority | +|---|---|---| +| 1997-01-01 | $90 per employed person | CalWORKs creation | +| 2022-07-01 | $450 per employed person | AB 135 (Ch. 85, Statutes of 2021) | + +Source: LA County DPSS ePolicies 44-111.23 + +### Recipient EID: +| Effective Date | Amount | Authority | +|---|---|---| +| 1998-01-01 | $225 + 50% of remainder | CalWORKs creation (AB 1542, 1997) | +| 2011-06-01 | $112 + 50% of remainder | Budget cuts (SB 72, Ch. 12, 2011) | +| 2012-07-01 | $225 + 50% of remainder | Restoration | +| 2020-06-01 | $500 + 50% of remainder | SB 80 (Ch. 27, Statutes of 2019) | +| 2021-06-01 | $550 + 50% of remainder | SB 80 (Ch. 27, Statutes of 2019) | +| 2022-06-01 | $600 + 50% of remainder | SB 80 (Ch. 27, Statutes of 2019) | + +Source: LA County DPSS ePolicies 44-111.23, LSNC Regulation Summaries, Cal Budget Center + +--- + +## 9. Benefit Calculation Formula + +**For Recipients:** +1. Calculate countable unearned income = disability-based income - $600 DBI disregard + other unearned income +2. Calculate countable earned income = (total earned income - $600) / 2 +3. Total countable income = countable unearned + countable earned +4. **Grant = MAP - Total Countable Income** +5. If grant < $0, not eligible (or $0 grant) +6. If no income, grant = MAP + +**For Applicants (eligibility determination):** +1. Subtract $450 from each employed person's earnings +2. Add remaining earnings + all unearned income +3. If total > MBSAC for family size/region: INELIGIBLE +4. If eligible, calculate grant using recipient formula + +Source: DB101 California (ca.db101.org), Contra Costa EHSD Fact Sheet + +--- + +## 10. Resource Limits + +| Effective Date | Standard Limit | Elderly/Disabled Limit | Vehicle Limit | Authority | +|---|---|---|---|---| +| Current (2025) | $12,552 | $18,829 | $33,499 | ACL 25-65 | +| 2024 | $10,888 | $16,333 | $32,045 | ACL 24-54 | + +- Resource limits tied to CalFresh limits per WIC +- Home residence is exempt +- Furniture, clothing, appliances are exempt +- ABLE account assets are exempt + +Source: CDSS ACL 24-54, ACL 25-65, Contra Costa EHSD Fact Sheet, DB101 California + +--- + +## 11. Historical MAP Changes Timeline + +### MAP COLA/Grant Increase History: +| Effective Date | Change | Authority | +|---|---|---| +| 1997 | CalWORKs created, continued 4.9% grant reduction from AFDC | AB 1542 | +| 1997-1998 | COLA suspended through 10/31/1998 | | +| 1999-07-01 | New MAP levels established | ACL 99-35 | +| 2001-10-01 | 5.31% COLA (delayed to 06/2003) | AB 444 | +| 2003-04 | 2.75% COLA | | +| 2004 | MAP COLA suspended 3 months | SB 1104 | +| 2005-2007 | 2-year COLA suspension | SB 68 (Ch. 78, 2005) | +| 2007-2008 | 1-year COLA suspension | SB 84 (Ch. 117, 2007) | +| 2008-09 | MAP COLA delayed then suspended | | +| 2009-07-01 | 4% grant reduction + COLA suspension | Budget Act 2009 | +| 2011-06-01 | 8% MAP reduction | ACL 11-29 | +| 2010-11 onward | Statutory MAP COLA eliminated unless triggered | WIC 11450.025 | +| 2014-03-01 | 5% MAP increase | AB 85 (Ch. 24, 2013) | +| 2014-15 | 5% MAP increase | Realignment revenue | +| 2016-17 | 1.43% MAP increase | Realignment revenue | +| 2021-10-01 | 5.3% MAP increase | Realignment revenue | +| 2022-10-01 | 11% MAP increase | Realignment revenue | +| 2023-10-01 | 3.6% MAP increase | ACL 23-74 | +| 2024-10-01 | 0.3% MAP increase | AB 161, ACL 24-55(?) | +| 2025-07-01 | 5% MAP increase (projected) | 2024-25 Budget Act | +| 2025-10-01 | 0.2% MAP increase (proposed) | 2025-26 Budget | + +Source: LAO Budget Analyses (2022-23, 2023-24, 2024-25, 2025-26), LSNC Regulation Summaries + +### Historical MAP for 3-Person Family (Non-Exempt, Region 1): +| Period | Amount | Notes | +|---|---|---| +| 1997-98 | ~$565 | Continued AFDC levels with 4.9% reduction | +| 2021-22 | $925 | After 5.3% increase | +| 2022-23 | ~$878 (Region 2) | Pre-11% increase | +| 2023-10-01 | $1,171 (Region 1 non-exempt) | After 3.6% increase | +| 2024-10-01 | $1,175 (Region 1 non-exempt) | After 0.3% increase | + +--- + +## 12. Other Program Parameters + +### Time Limits: +- 60-month lifetime limit for adults (current, restored from 48 months in May 2022) +- Originally 5-year limit from CalWORKs creation (1998) +- Reduced to 48 months (July 2011) +- Restored to 60 months (May 2022, SB 803/AB 135) + +### Pregnancy Supplement: +- $47/month (original) +- $100/month (effective May 1, 2022) + +### Child Support Pass-Through: +- $100/month for 1-child families (increased from $50 in January 2022) +- $200/month for larger families (increased from $50) + +### Work Requirements: +- Single parents: 32 hours/week +- Two-parent families: 35 hours/week +- Exemptions: teen parents in school, disabled, caring for infant under 6 months + +### Income Reporting: +- Semi-Annual Reporting (SAR 7) +- Must report within 10 days: fleeing felon status, income exceeding IRT, address changes +- Income Reporting Threshold (IRT) varies by family size + +--- + +## 13. Key Source Documents + +### Primary Regulatory Sources: +1. **CDSS MAP-MBSAC Historical Report** (comprehensive 1971-present) + - https://www.cdss.ca.gov/research/res/pdf/calreports/MAP-MBSAC.pdf + - Sent to prep-1 for rendering + +2. **ACL 99-35** (July 1999 CalWORKs Payment Standards) + - https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl99/99-35.PDF + - Sent to prep-2 for rendering + +3. **ACL 24-37** (MBSAC COLA increase 07/01/2024, 4.32%) + - URL: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-37.pdf + +4. **ACL 24-54** (Resource limit changes) + - URL: https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-54.pdf + +5. **ACL 24-55** (MAP increase 10/01/2024, 0.3%) + - URL: https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2024/24-55.pdf + +6. **ACL 23-74** (MAP increase 10/01/2023, 3.6%) + - Referenced in LSNC Regulation Summaries + +7. **ACL 11-29** (8% MAP reduction + EID change, 2011) + - https://reg.summaries.guide/2011/04/acl-11-29-calworks-8-reduction-to-the-map-levels-cola-increase-to-the-mbsac-levels-and-changes-to-the-earned-income-disregard-calculation-4611/ + +### County Policy References (with current data): +8. **LA County DPSS ePolicies** - MAP Levels 44-315, EID 44-111.23 + - https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/mergedProjects/CalWORKs/CalWORKs/44-315_CalWORKs_Maximum_Aid_Payment_Levels/44-315_CalWORKs_Maximum_Aid_Payment_Levels.htm + - https://epolicy.dpss.lacounty.gov/epolicy/epolicy/server/general/projects_responsive/ePolicyMaster/mergedProjects/CalWORKs/CalWORKs/44-111_23_Earned_Income_Disregards/44-111_23_Earned_Income_Disregards.htm + +9. **Santa Clara County DEBS Chart Book** (Region 1 & 2 charts) + - Region 1 Non-Exempt: https://stgenssa.sccgov.org/debs/program_handbooks/charts/assets/1CalWorksRCAECATCVAP/NonExEmpAUStndsCht.htm + - Region 2: https://stgenssa.sccgov.org/debs/program_handbooks/charts/assets/1CalWorksRCAECATCVAP/StndsChtReg2.htm + - IRT Chart: https://stgenssa.sccgov.org/debs/program_handbooks/charts/assets/1CalWorksRCAECATCVAP/IRT1and2ExnonEx.htm + +10. **Contra Costa EHSD Fact Sheet** (Region 1 with all parameters) + - https://ehsd.org/benefit-programs/calworks-cash-aid/calworks-fact-sheet/ + +### Analytical Sources: +11. **LAO CalWORKs Budget Analyses** (annual, comprehensive) + - 2025-26: https://lao.ca.gov/Publications/Report/4969 + - 2024-25: https://lao.ca.gov/Publications/Report/4872 + - 2023-24: https://lao.ca.gov/Publications/Report/4699 + - 2022-23: https://lao.ca.gov/Publications/Report/4530 + - 1998 Major Provisions: https://lao.ca.gov/1998/012398_calworks/012398_calworks.html + +12. **DB101 California** (CalWORKs benefit calculator and rules) + - Cash Benefit: https://ca.db101.org/ca/programs/income_support/calworks/program2b.htm + - Eligibility: https://ca.db101.org/ca/programs/income_support/calworks/program2.htm + +13. **LSNC Regulation Summaries** (CalWORKs category) + - https://reg.summaries.guide/category/calworks-program/ + +14. **Cal Budget Center** (EID analysis) + - https://calbudgetcenter.org/resources/calworks-earned-income-disregard-falls-short-of-supporting-families/ + +15. **CCWRO Public Assistance Tables** (comprehensive tables by effective date) + - https://www.ccwro.org/~documents/public-assistance-table/ + +16. **Urban Institute Welfare Rules Database** (TANF policy data through July 2023) + - https://wrd.urban.org/ + +17. **CDSS CalWORKs Program Overview** + - https://www.cdss.ca.gov/inforesources/calworks-summary/program-overview/about-calworks + - https://www.cdss.ca.gov/calworks + +### Historical ACLs (CDSS): +18. **ACL 96-49** (Pre-CalWORKs AFDC standards) + - https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl96/96-49.PDF + +19. **ACL 97-65** (CalWORKs implementation) + - https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl97/97-65.pdf + +20. **ACL 98-37** (CalWORKs payment standards) + - https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl98/98-37.PDF + +21. **ACL 15-75** (2015 CalWORKs changes) + - https://cdss.ca.gov/lettersnotices/entres/getinfo/acl/2015/15-75.pdf + +22. **ACL 15-87** (MAP restoration) + - https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl/2015/15-87.pdf + +23. **ACL 15-95** (CalWORKs changes) + - https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl/2015/15-95.pdf + +24. **ACL 16-92** (CalWORKs changes) + - https://www.cdss.ca.gov/lettersnotices/EntRes/getinfo/acl/2016/16-92.pdf + +25. **ACL 16-94** (CalWORKs changes) + - https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl/2016/16-94.pdf + +26. **ACL 14-57** (CalWORKs changes) + - https://www.cdss.ca.gov/lettersnotices/EntRes/getinfo/acl/2014/14-57.pdf + +27. **ACL 12-25** (CalWORKs changes) + - https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl/2012/12-25.pdf + +28. **ACL 13-80** (CalWORKs EID changes) + - https://www.cdss.ca.gov/lettersnotices/entres/getinfo/acl/2013/13-80.pdf + +29. **ACL 17-108** (Resource limits) + - https://www.cdss.ca.gov/Portals/9/ACL/2017/17-108.pdf + +30. **ACL 22-66** (Resource limits) + - https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2022/22-66.pdf + +31. **ACL 25-65** (Resource limits 2026) + - https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2025/25-65.pdf + +### MPP (Manual of Policies and Procedures): +32. **Division 44** - CalWORKs Regulations + - Standards of Assistance: https://www.cdss.ca.gov/ord/entres/getinfo/pdf/12EAS.pdf + - AU Composition and Need: https://www.cdss.ca.gov/ord/entres/getinfo/pdf/11EAS.pdf + +### Legislation: +33. **AB 1542 (1997)** - Created CalWORKs +34. **SB 80 (Ch. 27, 2019)** - Recipient EID increases ($225 -> $500 -> $550 -> $600) +35. **AB 135 (Ch. 85, 2021)** - Applicant EID increase ($90 -> $450) +36. **AB 85 (Ch. 24, 2013)** - 5% MAP increase +37. **AB 161 (2024)** - 0.3% MAP increase +38. **SB 260 (2023-24)** - CalWORKs aid payments + +### Additional PDF Sources (need prep agent processing): +39. **CDSS 80% of MAP tables**: https://www.cdss.ca.gov/shd/res/pdf/80pct.pdf +40. **CDSS IRT tables**: https://www.cdss.ca.gov/shd/res/pdf/irt.pdf +41. **ACF California TANF Spending Factsheet**: https://peerta.acf.hhs.gov/sites/default/files/uploaded_files/CA.pdf + +--- + +## 14. Key Data Gaps / Items Needing Further Research + +1. **Complete MAP-MBSAC historical tables** - The CDSS MAP-MBSAC.pdf (sent to prep-1) should have all values from 1971-present. Waiting for rendering. +2. **Region 1 Exempt MAP chart** - Need to fetch from stgenssa.sccgov.org (Exempt/Unemployable AU Standards Chart Region 1) +3. **MBSAC historical values** - Need complete tables for all years, both regions +4. **Year-by-year MAP tables for 2000-2020** - Need to cross-reference CCWRO tables and CDSS MAP-MBSAC report +5. **AFDC values pre-1997** - For backdating to earliest available period +6. **Exact effective dates for each MAP change** - Some changes take effect July 1, others October 1, others March 1 +7. **Income In-Kind levels** - Mentioned alongside MBSAC in ACLs but not yet captured +8. **2024 ACL index** - Full list: https://www.cdss.ca.gov/inforesources/letters-regulations/letters-and-notices/all-county-letters/2024-all-county-letters +9. **2025 ACL index** - Full list: https://www.cdss.ca.gov/inforesources/letters-regulations/letters-and-notices/county-letters/2025-county-letters