PolicyEngine / PolicyEngine/policyengine-us
Audit and fix TANF resource tests against populated microdata assets
- Dominant language
- Python
- Stars
- 162
- Forks
- 212
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 97
Description
## Summary
TANF resource testing is currently inconsistent with the microdata we actually populate.
In a live CPS 2024 microsimulation:
- `spm_unit_assets` evaluates to zero for all SPM units
- `spm_unit_cash_assets` is populated from imputed bank/stock/bond assets
- several TANF state resource tests rely directly on `spm_unit_assets`
- three state `countable_resources` variables are placeholders and evaluate to all zeros: `dc_tanf_countable_resources`, `wa_tanf_countable_resources`, `mt_tanf_countable_resources`
This means some TANF asset tests are effectively dead or mis-specified in microsimulation.
## Concrete problems
1. `spm_unit_assets` is defined as a variable shell but does not appear to aggregate populated asset inputs in microsimulation.
2. States using `spm_unit_assets` directly may be screening on an all-zero variable.
3. DC / WA / MT countable resource variables are placeholder shells with no formula.
4. GA resource eligibility is explicitly marked as a simplified cash-only implementation.
5. We need state-specific handling of countable asset types and vehicle/property exclusions based on primary sources, not generic placeholders.
## Proposed work
1. Define a coherent baseline asset aggregate for populated microdata, or stop using `spm_unit_assets` in TANF resource tests.
2. Implement real formulas for DC, WA, and MT TANF countable resources.
3. Audit all TANF state resource tests and distinguish:
- cash-only rules
n - broader countable-resource rules
- vehicle/property exclusions
4. Cite primary state sources for each state's countable asset types.
5. Add regression tests covering populated CPS inputs and resource-test behavior.
## Evidence
Observed in CPS 2024 microsimulation from `policyengine-us-data`:
- `spm_unit_assets`: all zero
- `wa_tanf_countable_resources`: all zero
- `dc_tanf_countable_resources`: all zero
- `mt_tanf_countable_resources`: all zero
Related:
- policyengine-us-data#535
- policyengine-us#1955
- policyengine-us#2404
Contributor guide
Assessment
This issue has not been assessed yet.