PolicyEngine / PolicyEngine/microcosm
Preserve the WIC holdout and diagnose the infant/child eligibility offset
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 4
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 94
Description
From scorecard diagnosis batch 1, item #10 (classification: pe_gap, confidence medium; full memo: PolicyEngine/policyengine-scorecard diagnosis/DIAGNOSES.md).
Divergence
National eligibility is 9,367,299 PE versus 9,444,000 Urban (-76,701, -0.812%); participation is 51.412% versus 53.5% (-2.088 points); the gap is 4,551,354 versus 4,389,000 (+162,354). Eligibility agreement hides an infant shortfall of 434,957 (-23.78%) offset by 357,256 (+4.69%) more children ages 1-4. Participation rates differ by +1.620 points for infants and -1.052 points for ages 1-4; age-specific gap differences of -109,375 and +271,729 net to the national +162,354.
Proposed fix
Build P has zero WIC calibration targets, so Urban's national 2023 totals are held-out and independently recomputed. National eligibility agrees within 0.8%, but that total hides a 435k (23.8%) infant shortfall offset by 357k (4.7%) more children ages 1-4. Add held-out age and state diagnostics, beginning with the populace#520 infant-geography concern; preserve a validation holdout or target rotation before adding WIC controls. Continue to label participation as source-seeded from FNS CY2022 category rates, not an unanchored forecast or a consumed calibration target.
Evidence
- c80b6c4:data/comparison.json, WIC national total and age rows: every eligible and participation quantity is held_out; calibration_basis says zero WIC calibration targets and identifies the match as out-of-sample.
- POP@8828dee:packages/populace-build/src/populace/build/us/target_parity_manifest.json:680-689 excludes WIC targets; docs/mechanics-audit.md:200-205 and docs/replication-assessment.md:64-68 confirm the zero-target surface.
- docs/RECONCILIATION.md:20-25,39-44 records bit-exact agreement between independent implementations; lines 31-32 record the corrected monthly WIC gate.
- POP@8828dee:packages/populace-build/src/populace/build/us/source_stages.json:2250-2301 and us_runtime/wic_claim.py:89-130,283-338 seed would_claim_wic from distinct FNS CY2022 category rates, including 78.4% for infants and 46.0% for children.
- c80b6c4:data/comparison.json WIC age rows: infant eligibility is 1.394M PE vs 1.829M Urban; age 1-4 is 7.973M vs 7.616M. Rates are 81.520% vs 79.9% and 46.148% vs 47.2%, respectively.
🤖 Generated with Claude Code
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with data/comparison.json and the WIC entries in packages/populace-build/src/populace/build/us/target_parity_manifest.json, then read us_runtime/wic_claim.py and the related source stages. Use the existing held-out national and age rows as the validation baseline, including the infant-geography concern from populace#520. Done means age and state diagnostics are added while WIC targets remain held out and participation remains labeled as source-seeded.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data, testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100