PolicyEngine / PolicyEngine/microcosm
ESI employer premium contributions as a first-class, validated resource component
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 4
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 94
Description
Motivation
Employer-sponsored insurance premium contributions are the largest health subsidy absent from Populace's resource surface. Dense builds impute employer_sponsored_insurance_premiums (~$1.13T at f0af251, right scale against KFF EHBS employer-share benchmarks), but:
- The column dies in sparse exports (#361 inventories it among the 94 dropped inputs) and was never stored in the retired us-data lineage — the IARIW OBBBA paper (PolicyEngine/obbba-paper) found it computes $0 on eCPS 1.73.0 and had to document ESI as a levels-omission in its resource measure.
- No calibration target or validation gate anchors it. A CBO-comparable household-resources measure counts employer premium contributions as income; without an external anchor the imputation can drift silently.
- ESI status gates real policy interactions: an affordable-ESI offer blocks marketplace PTC eligibility, and ESI/Medicaid churn matters for coverage analyses. A live, validated ESI input makes those model pathways meaningful rather than degenerate.
Proposed work
- Carry
employer_sponsored_insurance_premiums(and the ESI offer/coverage flags it pairs with) through every release class — wire into the #340/#361 input-coverage gate so sparse exports fail without it. - Add a Ledger fact + calibration or validation target for aggregate employer premium contributions (NHEA sponsor-of-funds employer share, or KFF EHBS average premiums × employer share × covered lives; state-level if a defensible source exists).
- Release gate: aggregate within a stated tolerance of the external anchor, plus a nonzero-mass check.
- Document the resource-concept role: ESI belongs in the CBO-style "income including health benefits" surface alongside Medicaid/CHIP/PTC.
Acceptance
A release's stored ESI premiums aggregate within tolerance of the documented external anchor on both dense and sparse artifacts, with the gate red if the column is absent or zero-mass.
Consumer
PolicyEngine/obbba-paper (IARIW 2026): methods currently disclose "employer contributions to health premiums, which CBO's income measure also counts, are absent from this file" — this issue is the permanent fix.
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 by tracing employer_sponsored_insurance_premiums and its ESI offer and coverage flags through every release class, including the #340/#361 input-coverage gate and dense and sparse artifacts. Then review the Ledger calibration or validation path and choose the documented external anchor and tolerance. Done means stored premiums are nonzero and within tolerance in both artifact types, with the release gate failing when the column is absent or zero-mass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100