Skip to content

Conversation

@DTrim99
Copy link
Contributor

@DTrim99 DTrim99 commented Jan 5, 2026

Fixes #107

@DTrim99
Copy link
Contributor Author

DTrim99 commented Jan 5, 2026

Investigation: Unexpected Top Decile Impacts from MN CTC Reform

We noticed unexpected results in the app showing high-income households (top deciles) being affected by the Minnesota CTC reform, even though the CTC phases out at ~$30-40k income. This local analysis confirms and explains the issue.

The Puzzle

The reform (CTC $1,750→$2,000, phase-out rate 12%→20%) was showing impacts in the 8th, 9th, and 10th income deciles - households with AGIs of $250k-$800k+.

Root Cause: Multi-Tax-Unit Households Concentrated in Top Deciles

Analysis revealed that affected high-income households have dramatically more tax units than unaffected ones:

Metric Affected Top-Decile HH Unaffected Top-Decile HH
Avg tax units per household 6.41 1.55
Household count 50,907 325,752

Distribution of tax units among affected top-decile households:

  • 53% have 8 tax units
  • 40% have 5 tax units
  • Only 6% have 2 tax units

This is Likely a Data Bug

Multi-tax-unit households should be spread across the income distribution, not concentrated in just the top deciles. The current microdata appears to be incorrectly placing these complex household structures predominantly in high-income deciles.

This is something we need to adjust in the microdata - the household/tax-unit mapping or weighting needs to be reviewed to ensure multi-tax-unit households are distributed more realistically across the income spectrum.

Current Behavior

  • Household AGI is high because it sums income across all members
  • But individual tax units within that household may earn $30-50k and qualify for the CTC
  • When the CTC parameters change, those low-income tax units are affected, showing up as the wealthy "household" being impacted

The tax unit analysis cells at the bottom of mn_ctc_reform_analysis.ipynb document this investigation.

@DTrim99
Copy link
Contributor Author

DTrim99 commented Jan 6, 2026

Review: MN CTC Reform Analysis with Test Dataset

Dataset Comparison

Metric Old Dataset Test Dataset Target
Households 1,254,857 1,838,548 2,344,432
Coverage 53.5% 78.4% 100%

The test dataset (hf://policyengine/test/MN.h5) shows significant improvement in household coverage (78% vs 53% of target).

Reform Results Summary

Reform: CTC $1,750→$2,000 (+$250/child) + Phase-out 12%→20%

Metric Value
Net Cost $-0.21M (essentially revenue-neutral)
Winners 12.63% of population (~740k people)
Losers 12.14% of population (~711k people)
Avg Gain $440/household
Avg Loss $546/household

Poverty Impact ⚠️

The reform increases poverty slightly:

  • Overall: +0.15% (1,234 more people)
  • Children: +0.47% (630 more children)

This result is expected given the reform mechanics: while the CTC amount increases by $250/child, the phase-out rate jumps from 12% to 20%, causing benefits to phase out faster. Middle-income families lose more from the accelerated phase-out than they gain from the higher base amount.

Distributional Analysis

Decile Avg Change % Winners % Losers
1st +$37 17.5% 1.4%
2nd +$148 49.5% 0.0%
3rd +$119 41.5% 7.2%
4th -$118 8.5% 32.4%
5th -$66 8.2% 13.9%

Winners concentrated in lower deciles (1-3), losers in middle deciles (4-5).

Data Quality Note

The test dataset still shows some anomalous household structures:

  • 1.17% of households have 8 tax units (21,591 weighted)
  • Among affected high-income households, 36.6% have 8 tax units
  • Affected top-decile households average 4.51 tax units vs 1.70 for unaffected

These multi-tax-unit households may be artifacts of the CD-stacking replication method identified in the data exploration notebook.

Recommendation

The analysis successfully demonstrates the reform's distributional impacts. The counterintuitive poverty increase is a real policy finding—the higher phase-out rate offsets the CTC increase for middle-income families. Consider whether the reform parameters achieve the intended policy goals.

🤖 Generated with Claude Code

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.

Minnesota dataset exploration

1 participant