PolicyEngine / PolicyEngine/policyengine-us

Without county_fips, CT/IL and CO/IN share identical benchmark premiums

Open
#9,480 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
162
Forks
212
Avg merge
3d 3h
Merged PRs (30d)
97

Description

**Observed** (API, 2026, no `county_fips` supplied): benchmark-driven medical out-of-pocket at $150,000+ of earnings is identical to the dollar for Connecticut and Illinois ($9,935 single / $19,870 couple / $39,958 couple with three children) and for Colorado and Indiana ($5,430 / $10,861 / $21,841), across every household shape in a 51-state × 8-archetype sweep. Other state pairs differ as expected (CA $7,745 vs NY $8,160 single).

**Cause (inferred)**: when no county is given, the rating area/benchmark premium falls back to a default that is not derived from the state, so the two pairs share a premium table. A state-level comparison built without counties therefore ranks a default, not the state.

**Expected**: a state-only household should get a state-representative benchmark (population-weighted or the largest county's rating area), or the API should say the premium is undefined without a county.

**Repro**: single adult age 30, `employment_income` 150000, `state_name` CT then IL, requesting `spm_unit_medical_out_of_pocket_expenses` and `premium_tax_credit`; no `county_fips`.

Contributor guide

Open the contributing guide

Research direction

Start with the API reproduction using state_name for CT, IL, CO, and IN, omitting county_fips, and request spm_unit_medical_out_of_pocket_expenses and premium_tax_credit. Trace how the missing county_fips selects the rating area and benchmark premium; done means state-only results are state-representative or the API clearly reports that the premium is undefined without a county.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend-api-design
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.