Skip to content

Sparse-57k certified release drops SSI asset input columns; SSI resource-test reforms score $0 on bundle 4.18.8 #356

Description

@MaxGhenis

Summary

The sparse-57k certified release (populace-us-2024-sparse-l0-refit-57k-71a0887-national-only-20260701, the bundle 4.18.8 default) drops the SSI countable-resource input columns from the person table entirely: bank_account_assets, stock_assets, and bond_assets are absent (222 person columns vs 249 in the dense f0af251 release certified for 4.18.7, which carries all three with real mass — 42.5% of people nonzero).

This is the dropped-column counterpart of #278's zeroed input bases: ssi_countable_resources (adds = gov.ssa.ssi.eligibility.resources.countable) computes 0 for every record, meets_ssi_resource_test is universally true, and any SSI resource-limit reform silently scores $0 for every 4.18.8 consumer.

Measured (TY2026, managed_microsimulation, policyengine-us 1.752.2)

run baseline SSI remove resource test $10k/$20k limits
sparse 57k (4.18.8 certified) 8.27M recipients / $66.0B, no resource-test bite +$0.00B / +0 recipients +$0.00B / +0
dense f0af251 (4.18.7 certified) native asset columns 8.05M / $63.6B +$16.05B / +3.23M +$1.60B / +499k

SSA administrative totals for reference: ≈7.4M recipients / ≈$61B federal payments (2024). The dense baseline sits near them; the sparse baseline runs above (no resource-test exclusions) and its reform surface for this policy family is dead.

External comparators for the $10k/$20k scenario (both modeled for 2026): SSA OACT scored S.4102 at ≈$1.0B federal SSI cost in 2026; CBPP estimated ≈224k new beneficiaries. The dense-native run lands within ~1.6× / ~2.2× of those; prior ECPS-based runs (PolicyEngine/ssi-asset-limits) were similar or further.

Mechanism

The three asset inputs sit on no calibration target, so the sparse build path lost them altogether (here as dropped columns rather than zeroed mass). The #257-style gate (flag inputs absent, constant-at-default, or zero-mass vs the dense parent / an admin anchor) would have caught this row too — bank_account_assets et al. would diff as column missing against the dense parent.

Suggested fix

Found while re-running the PolicyEngine/ssi-asset-limits analysis (SSI resource-test reforms) against the certified populace default via policyengine.py. Relates to #278, #49, #257; the next release build (#324) is a natural vehicle.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions