Skip to content

Conversation

@DTrim99
Copy link
Contributor

@DTrim99 DTrim99 commented Dec 17, 2025

Summary

Adds a comprehensive analysis notebook for childless families receiving EITC, addressing issue #99.

Features

  • State-specific datasets: Uses individual state datasets (hf://policyengine/policyengine-us-data/states/{STATE}.h5) for better state-level accuracy
  • 5 EITC phase statuses:
    • No income (no earned income)
    • Pre-phase-in (earning but below maximum credit)
    • Full amount (at plateau/maximum credit)
    • Partially phased out (in phase-out range)
    • Fully phased out (income too high, EITC = $0)
  • Weighted analysis: Household counts and percentages by state
  • Both federal and state EITC: Captures state EITC programs where applicable
  • Household characteristics: Marital status, age of head, AGI

Outputs

  • eitc_childless_phase_status_summary_2024.csv - Summary by state and phase status for 2024
  • eitc_childless_phase_status_summary_2025.csv - Summary by state and phase status for 2025
  • Detailed household CSVs generated locally (too large for GitHub)

Files Changed

  • New notebook: eitc_childless_analysis/eitc_childless_analysis.ipynb
  • Summary CSVs for 2024 and 2025
  • Updated .gitignore to exclude large data files

Fixes #99

🤖 Generated with Claude Code

Analyzes childless families by EITC phase status using state-specific datasets.

Features:
- Uses state datasets (hf://policyengine/policyengine-us-data/states/{STATE}.h5)
- 5 phase statuses: No income, Pre-phase-in, Full amount, Partially phased out, Fully phased out
- Weighted household counts and percentages by state
- Separate summary CSVs for 2024 and 2025
- Includes federal and state EITC amounts
- Household characteristics: marital status, age, AGI

Fixes PolicyEngine#99

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Added detailed comments and docstrings throughout the notebook to make
it easier for recipients to understand, reproduce, and modify the analysis.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@DTrim99
Copy link
Contributor Author

DTrim99 commented Dec 17, 2025

Documentation Update

Added comprehensive comments and documentation throughout the notebook to make it easy for recipients to understand, reproduce, and modify the analysis:

What was added:

  1. Overview markdown cell - Explains what the notebook does, lists the 5 EITC phase status categories with descriptions, and documents output files

  2. Detailed function docstrings - Each function now has:

    • Description of purpose
    • Parameter definitions with types
    • Return value documentation
    • Inline comments explaining key steps
  3. Section header comments - Each code cell has a comment block explaining:

    • What the section does
    • Key outputs and their meaning
    • Processing notes (e.g., file sizes, runtime estimates)
  4. Variable tables - Documentation of PolicyEngine variables used:

    • tax_unit_weight, eitc, state_eitc, eitc_phased_in, eitc_reduction, etc.
  5. EITC classification logic - ASCII diagram of the EITC trapezoidal schedule and explanation of how households are classified into each phase status

The notebook is now fully documented and ready for external recipients who may want to reproduce or modify the analysis.

Major changes:
- Add comprehensive state EITC documentation at beginning (CA, MN, WA, VA, DE, MD)
- Add 'Ineligible' phase status tier for SSN/age/investment income failures
- Rename 'No income' to 'No earned income' with true zero threshold
- Add eitc_eligible variable to data loading
- Remove filing status cross-tabulation cells (redundant with CSVs)
- Clean up export function to only include loaded columns
- Update phase status order and notes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@DTrim99
Copy link
Contributor Author

DTrim99 commented Dec 17, 2025

Major Refactoring Update

New Features

  1. State EITC Documentation - Added comprehensive documentation of all state EITC programs at the beginning of the notebook:

    • Standard federal match states (CO, CT, DC, etc.)
    • Unique structure states:
      • California (CA): Different phase-in rates by children (7.65% for childless), 85% adjustment factor
      • Minnesota (MN): Replaced WFC with Child & Working Families Credit in 2023, completely independent calculation
      • Washington (WA): Flat dollar amounts ($300-$325 for childless), not a percentage match
      • Virginia (VA): Split refundable/non-refundable + alternative Low-Income Tax Credit
      • Delaware (DE): Choice between 4.5% refundable OR 20% non-refundable
      • Maryland (MD): Different percentages for childless unmarried vs. married/with children
  2. New "Ineligible" Phase Status - Added eligibility checking using PolicyEngine's eitc_eligible variable to identify filers who don't qualify due to:

    • Age (outside 25-64 range)
    • Invalid SSN for work
    • Investment income exceeding threshold (~$11,000)
    • Filing as Married Filing Separately
  3. Updated "No earned income" Definition - Changed from "$100 or less" threshold to true zero earned income

Code Cleanup

  • Removed filing status cross-tabulation cells (redundant with CSV exports)
  • Removed example households cell (referenced columns no longer loaded)
  • Cleaned up export function to only include actually loaded columns
  • Updated PHASE_ORDER to include all 6 categories

Expected Output Changes

The summary will now show 6 categories per state:

Status Description
Ineligible Fails age/SSN/investment income requirements
No earned income Eligible but $0 earned income
Pre-phase-in Receiving EITC, building toward maximum
Full amount At maximum credit (plateau)
Partially phased out In phase-out region
Fully phased out Income too high, EITC = $0

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.

EITC Analysis: Childless Families by Phase-in/Phase-out Status

1 participant