Skip to content

Virginia TANF#7135

Merged
PavelMakarchuk merged 14 commits intoPolicyEngine:mainfrom
hua7450:hua7450/issue7134
Jan 23, 2026
Merged

Virginia TANF#7135
PavelMakarchuk merged 14 commits intoPolicyEngine:mainfrom
hua7450:hua7450/issue7134

Conversation

@hua7450
Copy link
Copy Markdown
Collaborator

@hua7450 hua7450 commented Jan 7, 2026

Summary

Implements Virginia Temporary Assistance for Needy Families (TANF) program, including both regular TANF and TANF-UP (Unemployed Parent) benefits.

Closes #7134


Virginia TANF Income Rules

Regulatory Authority

  • Virginia TANF Manual Section 300 (Financial Eligibility)
  • Virginia TANF Manual Section 700 (TANF-UP Program)
  • 22 VAC 40-295 (TANF Administrative Code)

1. INCOME ELIGIBILITY TESTS

Two-Step Income Test (Section 305.1)

Step 1 - Gross Income Test:

  • Limit: Need Standard
  • Definition: Gross earned income + countable unearned income (after disregards only)

Step 2 - Net Income Test:

  • Limit: Grant Standard (or UP Grant Standard for TANF-UP)
  • Definition: Countable income after all deductions applied

Source: Virginia TANF Manual Section 305.1


2. INCOME DEDUCTIONS & EXEMPTIONS

A. Flat Earned Income Deduction

Assistance Unit Size Monthly Deduction
1-3 persons $167
4 persons $178
5 persons $209
6+ persons $240

Source: Virginia TANF Manual Section 302.6

B. Earned Income Disregard

20% of remaining earned income (after flat deduction) is disregarded.

Source: Virginia TANF Manual Section 302.6

C. Dependent Care Expense Deduction

Care Recipient Full-Time (30+ hrs)
Under age 2 $200/month
Age 2+ or disabled adult $175/month

Source: Virginia TANF Manual Section 302.6

D. Child Support Disregard

  • Amount: First $100/month excluded from unearned income

Source: Virginia TANF Manual Section 302.7


3. INCOME STANDARDS BY FAMILY SIZE

Standards use July 2020 base values with a multiplier parameter for annual increases.

Multiplier History:

Date Cumulative Multiplier
Pre-2016 0.769
Jul 2020 1.0 (base values)
Jul 2021 1.1
Jul 2022 1.155
Jul 2023 1.2705

Need Standard (Base Values - July 2020)

Family Size Group II Group III
1 $453 $631
2 $663 $842
3 $836 $1,017
4 $997 $1,178
5 $1,178 $1,403
6 $1,317 $1,534
7 $1,473 $1,696
8 $1,645 $1,868
9+ +$162/person +$162/person

Source: Virginia TANF Manual Section 302.4

Grant Standard (Base Values - July 2020)

Family Size Group II Group III
1 $226 $316
2 $332 $422
3 $417 $508
4 $499 $589
5 $589 $701
6 $658 $767
7 $736 $847
8 $822 $933

Source: Virginia TANF Manual Section 302.4

TANF-UP Grant Standard (Base Values - July 2020)

Family Size Group II Group III
1 $197 $275
2 $289 $367
3 $363 $442
4 $434 $513
5 $513 $610
6 $573 $667
7 $640 $737
8 $715 $812

Source: Virginia TANF Manual Section 702

Locality Groups

  • Group III (26 localities):
    • Counties (13): Albemarle, Arlington, Augusta, Caroline, Fairfax, Fauquier, James City, King George, Montgomery, Prince William, Spotsylvania, Stafford, York
    • Cities (13): Alexandria, Charlottesville, Colonial Heights, Fairfax, Falls Church, Fredericksburg, Hampton, Manassas, Manassas Park, Newport News, Poquoson, Staunton, Waynesboro
  • Group II: All other Virginia localities

Source: Virginia TANF Manual Section 302.4


4. BENEFIT CALCULATION

Formula:

Benefit = min(Grant Standard − Countable Income, Maximum Payment)

Where Countable Income = Countable Earned + Countable Unearned

Countable Earned:

max(max(Gross Earned − Flat Deduction, 0) × 0.8 − Childcare, 0)

Countable Unearned:

Gross Unearned − Child Support Disregard

Maximum Payment (Base Values - July 2020)

Program Group II Group III
Regular TANF $625 $745
TANF-UP $544 $648

Source: Virginia TANF Manual Section 302.4


5. NOT IMPLEMENTED

  • Part-time childcare deduction rates - Implementation assumes full-time work (30+ hrs)
  • Unemployment compensation disregard - TANF-UP only, 100% excluded

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

@hua7450 hua7450 mentioned this pull request Jan 7, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Jan 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (60c5dcc) to head (7e781d3).
⚠️ Report is 61 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##             main     #7135       +/-   ##
============================================
+ Coverage   73.76%   100.00%   +26.23%     
============================================
  Files        3666        12     -3654     
  Lines       52712       205    -52507     
  Branches      263         0      -263     
============================================
- Hits        38882       205    -38677     
+ Misses      13815         0    -13815     
+ Partials       15         0       -15     
Flag Coverage Δ
unittests 100.00% <100.00%> (+26.23%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hua7450 hua7450 marked this pull request as ready for review January 10, 2026 23:36
@PavelMakarchuk
Copy link
Copy Markdown
Collaborator

PR Review - Virginia TANF Implementation

🟡 Should Address

  1. Potential Loudoun County Missing from Group III - The PR description states Group III includes "Arlington, Fairfax, Loudoun, Prince William counties" but LOUDOUN_COUNTY_VA does not appear in localities/group3.yaml. Please verify against Virginia TANF Manual Section 302 whether Loudoun County should be included. If so, this would affect benefit calculations for Loudoun County residents.

  2. Test Comment Accuracy - In integration test "Family with earned and unearned income (child support)", the comment describes Step 1 as "$500 + $100 = $600" but the code uses gross income ($500 + $200 gross child support = $700). While the test passes either way, the comment should match the actual calculation.

  3. PR Description Correction - The description states need standard addition is "+$160/person" for Group II and "+$162/person" for Group III, but both parameter files show $162. Consider updating the description for accuracy.

🟢 Suggestions

  1. Consider adding tests for very large families (size > 12) to verify the addition logic works correctly beyond the lookup table.

Validation Summary

Check Result
CI Status ✅ All checks passing
Code Patterns ✅ Follows PolicyEngine standards
Parameter Metadata ✅ All have descriptions, labels, references with page numbers
Vectorization ✅ Uses where(), max_(), min_() correctly
adds / add() Usage ✅ Correct patterns
Period Handling ✅ Uses period.this_year correctly
Test Coverage ✅ 78 tests across 11 test files

What's Well Done

  • Comprehensive implementation covering regular TANF, TANF-UP, and all income deductions
  • Well-documented PR description with regulatory citations and calculation formulas
  • Creative base-year multiplier approach for handling annual benefit increases
  • Thorough test coverage with detailed calculation comments
  • Proper parameter structure with separate files for each locality group
  • Good use of PolicyEngine patterns (adds, add(), where(), defined_for)

Overall Assessment: COMMENT (Non-blocking)

The implementation is well-structured and ready for merge pending verification of the Loudoun County question. The code follows PolicyEngine standards and has comprehensive test coverage.


To auto-fix issues: /fix-pr 7135

🤖 Generated with Claude Code

@PavelMakarchuk
Copy link
Copy Markdown
Collaborator

@hua7450 could you take a look at the missing county

@hua7450
Copy link
Copy Markdown
Collaborator Author

hua7450 commented Jan 23, 2026

@hua7450 could you take a look at the missing county

The PR description is wrong, I have edited the PR Description.

@PavelMakarchuk PavelMakarchuk merged commit 0a6b3b8 into PolicyEngine:main Jan 23, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Virginia TANF simple

2 participants