Skip to content

Align SSI takeup and disability flags to CPS-reported receipt#607

Open
MaxGhenis wants to merge 1 commit intomainfrom
align-ssi-takeup-to-reported
Open

Align SSI takeup and disability flags to CPS-reported receipt#607
MaxGhenis wants to merge 1 commit intomainfrom
align-ssi-takeup-to-reported

Conversation

@MaxGhenis
Copy link
Contributor

Summary

  • Sets takes_up_ssi_if_eligible = True for CPS respondents who report receiving SSI (ssi_reported > 0), guaranteeing PE's takeup model doesn't randomly exclude actual recipients. Non-reporters get an adjusted random draw to hit the 50% overall takeup rate (Urban Institute estimate).
  • Sets is_disabled = True for SSI reporters under 65. SSI eligibility requires aged (65+) OR disabled/blind, so under-65 recipients must be disabled. CPS disability flags (PEDIS* columns) miss some of these people.

Problem

PE computes SSI eligibility from rules, then randomly assigns takeup. This means ~54% of CPS respondents who report receiving SSI get $0 SSI in PE because:

  1. Random takeup doesn't select them
  2. Some lack CPS disability flags needed for PE to compute eligibility

This inflates PE's simulated poverty rate by ~0.6pp.

Approach

Both fixes are applied in add_takeup() after ssi_reported, is_disabled, and age are all loaded into the dataset. This follows the same pattern used for SNAP reporter prioritization.

Test plan

  • Verify the change applies cleanly and make format passes
  • Rebuild CPS dataset and confirm SSI reporters now receive SSI
  • Check that the poverty rate decreases by ~0.6pp

People who report receiving SSI in the CPS were getting $0 SSI in PE
because (a) random takeup excluded them, and (b) some lacked CPS
disability flags needed for eligibility.

This adds two fixes in add_takeup():
1. Sets takes_up_ssi_if_eligible=True for SSI reporters, with an
   adjusted random draw for non-reporters to hit the 50% target rate
2. Sets is_disabled=True for SSI reporters under 65 (SSI requires
   aged OR disabled/blind, so under-65 recipients must be disabled)

Together these reduce the simulated poverty rate by ~0.6pp.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

1 participant