PolicyEngine / PolicyEngine/policyengine-us

Audit and fix TANF resource tests against populated microdata assets

Open
#7,987 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.