Calibrate ACA take-up contract#8352
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8352 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 8 3 -5
Lines 127 30 -97
=========================================
- Hits 127 30 -97
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
4a479a0 to
b53dcb3
Compare
b53dcb3 to
09b160d
Compare
|
Reviewed in depth (agent-assisted). Technically clean (green CI on the current head, clean merge against today's main, 22 ACA tests pass post-merge, single-household default stays deterministically true) — but holding merge for a contract decision:
Suggest folding the observed-coverage-informs-take-up behavior into the #8693 line of work. |
|
Closing as superseded by the author's own newer contract direction: the Feb 2026 deterministic-country-package architecture made take-up variables formula-less with data-package randomness, and #8693's partner guidance states simulated ACA take-up should write takes_up_aca_if_eligible directly — the opposite of this PR's simulated_aca_take_up_if_eligible pass-through seam, which nothing else on main or in the newer health PRs references. The observed-coverage-informs-take-up behavior is worth folding into the #8693 line of work (detailed findings in the review comment above). Happy to reopen if the contract decision goes the other way. |
Summary
takes_up_aca_if_eligiblefrom reported Marketplace coverage or a data-supplied/simulated take-up switchsimulated_aca_take_up_if_eligibleso Populace and other datasets can provide calibrated non-reported Marketplace take-up without writing the final formula-owned take-up variableselected_marketplace_plan_benchmark_ratioas an explicit user/data input, defaulting to the benchmark-plan assumption when absentCloses #8168.
Data framework note
Under the Populace-style contract,
has_marketplace_health_coverage_at_interviewremains the observed coverage input,simulated_aca_take_up_if_eligibleis the data-supplied/calibrated take-up input for tax units without reported Marketplace coverage, andtakes_up_aca_if_eligibleis computed by PolicyEngine-US. Populace should therefore writesimulated_aca_take_up_if_eligible, nottakes_up_aca_if_eligible, once this lands.Tests
uv run python -m policyengine_core.scripts.policyengine_command test policyengine_us/tests/policy/baseline/gov/aca/takes_up_aca_if_eligible.yaml policyengine_us/tests/policy/baseline/gov/aca/person_receives_aca.yaml policyengine_us/tests/policy/baseline/gov/aca/ptc/marketplace_net_premium.yaml policyengine_us/tests/policy/baseline/gov/aca/ptc/selected_marketplace_plan_premium_proxy.yaml policyengine_us/tests/policy/baseline/gov/aca/ptc/used_aca_ptc.yaml policyengine_us/tests/policy/baseline/gov/aca/ptc/assigned_aca_ptc.yaml -c policyengine_usuv run python -m policyengine_core.scripts.policyengine_command test policyengine_us/tests/policy/baseline/gov/aca -c policyengine_usuv run pytest policyengine_us/tests/test_parameter_files.py -quv run --extra dev ruff check policyengine_us/variables/gov/aca policyengine_us/tests/policy/baseline/gov/acauv run --extra dev ruff format --check policyengine_us/variables/gov/aca/takes_up_aca_if_eligible.py policyengine_us/variables/gov/aca/simulated_aca_take_up_if_eligible.py policyengine_us/variables/gov/aca/ptc/selected_marketplace_plan_benchmark_ratio.pygit diff --check