PolicyEngine / PolicyEngine/microcosm

SSI state by-area recipient rows bind a mixed universe (~115k state-supplement-only gap)

Open
#582 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
4
Avg merge
1d 3h
Merged PRs (30d)
94

Description

Residual from the #507/#508 adjudication, flagged for separate adjudication in the #508 close-out (now closed, so tracking here).

The by-area STATE recipient rows (ssa_supplement.ssi_recipients, role ssi_recipients) still bind engine ssi — the federal payment — while their universe is federally administered, which includes ~114,977 state-supplement-only recipients nationally (7,404,820 − 7,289,843, December 2024). The national all_areas_total row was re-scoped non-binding for exactly this mismatch (#524), but the 51 state rows remain the only state-grain SSI caseload signal, so they kept binding with the residual documented at the compile site (_ssa_ssi_reference_from_fact in fiscal_targets.py).

Closing it needs one of:

  1. a state-level federal-payment recipient source (the SSA SSI Monthly state tables, if the federal-payment split exists at state grain), or
  2. a modeled state-supplement concept, letting the federally-administered rows bind a combined federal+supplement quantity.

Until then the solve carries a ~1.6% wrong-universe pull distributed across states. Relates #508, #524, #549.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at _ssa_ssi_reference_from_fact in fiscal_targets.py and inspect how the ssa_supplement.ssi_recipients state rows bind to engine ssi. Review the close-out context in #508 and the re-scoping in #524, then determine whether a state-level federal-payment source exists or a modeled combined concept is needed. Done means the state rows bind a matching universe without the documented residual.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.