generated from mantinedev/vite-template
-
Notifications
You must be signed in to change notification settings - Fork 3
Add blog post: TANF modeling for all 50 states and DC #695
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
PavelMakarchuk
wants to merge
4
commits into
main
Choose a base branch
from
tanf-blog-post
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+166
−0
Open
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
76f20e1
Add blog post: TANF modeling for all 50 states and DC
PavelMakarchuk a640a0c
Update blog post description to list three access channels
PavelMakarchuk 6aae2f3
Address review comments: link text and add significantly
PavelMakarchuk dedd7d0
Add ziming-hua as co-author on TANF blog post
PavelMakarchuk File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| PolicyEngine now models Temporary Assistance for Needy Families (TANF) eligibility and benefit calculations for all 50 states and Washington, D.C. This completes our nationwide coverage of the federal block grant program that provides cash assistance to low-income families with children, with each state's specific rules encoded in our open-source rules engine. | ||
|
|
||
| ## How we built it | ||
|
|
||
| Each state administers TANF under its own rules, setting benefit levels, income disregards, asset limits, and eligibility criteria independently. Encoding 51 distinct policy configurations required a systematic approach. | ||
|
|
||
| We used the multi-agent AI workflow we described in [this article](multi-agent-workflows-policy-research). Claude Code agents handled the repetitive components of the implementation: reading state policy manuals, structuring parameters, drafting variable logic, and generating test cases. Human reviewers validated each state's rules against official documentation and resolved cases where policy language was ambiguous or where program interactions required judgment. | ||
|
|
||
| This workflow allowed us to maintain consistent code quality and documentation standards across all 51 implementations while significantly reducing the time required for each additional state. | ||
|
|
||
| ## What TANF covers | ||
|
|
||
| TANF is a federal block grant that gives states broad flexibility in designing cash assistance programs for families. Key policy dimensions that vary by state include: | ||
|
|
||
| - **Maximum benefit amounts** by household size | ||
| - **Earned income disregards** that determine how much employment income is excluded from benefit calculations | ||
| - **Asset limits** for eligibility | ||
| - **Income thresholds** for initial eligibility and ongoing receipt | ||
| - **Child age requirements** and school enrollment provisions | ||
|
|
||
| PolicyEngine's model captures these variations, enabling direct comparisons of how TANF operates across states and how proposed reforms would affect families differently depending on where they live. | ||
|
|
||
| ## How to use it | ||
|
|
||
| The TANF models are available through multiple channels, each supporting both household-level calculations and population-wide microsimulation: | ||
|
|
||
| - **[Web app](https://policyengine.org).** Enter household details to calculate TANF eligibility and benefit amounts in any state, or use the population impact view to estimate the fiscal cost, poverty impact, and distributional effects of TANF reforms. | ||
| - **[Python package](https://github.com/PolicyEngine/policyengine-us).** Run household or microsimulation analyses programmatically, with full access to TANF variables and parameters for custom research. | ||
| - **[API](https://policyengine.org/api).** Integrate TANF calculations into external applications for benefits screening, policy design, or other tools. | ||
|
|
||
|
|
||
| ## Looking ahead | ||
|
|
||
| With TANF coverage complete, PolicyEngine's US model now includes state-level rules for income taxes, SNAP, Medicaid, CHIP, ACA subsidies, and TANF across all 50 states and D.C. A full list of covered programs is available on our [model documentation page](https://policyengine.org/us/model). We are applying the same approach to encode the Child Care and Development Fund (CCDF), SSI State Supplements, and the Low Income Home Energy Assistance Program (LIHEAP) across all states. We also continue to validate our calculations against other microsimulation models through our partnerships with [NBER](policyengine-nber-mou-taxsim) and the [Federal Reserve Bank of Atlanta](policyengine-atlanta-fed-mou-prd). | ||
|
|
||
| For questions about using the TANF models or integrating them into your work, reach out to us directly or visit our [GitHub repository](https://github.com/PolicyEngine/policyengine-us). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.