diff --git a/changelog.d/620.changed.md b/changelog.d/620.changed.md new file mode 100644 index 000000000..902b25d78 --- /dev/null +++ b/changelog.d/620.changed.md @@ -0,0 +1 @@ +Update the ACA take-up parameter with a 2023-2026 time series built from CMS Marketplace open enrollment data and KFF eligibility estimates. diff --git a/policyengine_us_data/parameters/take_up/aca.yaml b/policyengine_us_data/parameters/take_up/aca.yaml index 98f920142..b1a40a7bb 100644 --- a/policyengine_us_data/parameters/take_up/aca.yaml +++ b/policyengine_us_data/parameters/take_up/aca.yaml @@ -4,7 +4,32 @@ metadata: unit: /1 period: year reference: - - title: KFF "A Closer Look at the Remaining Uninsured Population Eligible for Medicaid and CHIP" - href: https://www.kff.org/uninsured/issue-brief/a-closer-look-at-the-remaining-uninsured-population-eligible-for-medicaid-and-chip/#:~:text=the%20uninsured%20rate%20dropped%20to,States%20began%20the + - title: KFF "Distribution of Eligibility for ACA Health Coverage Among the Remaining Uninsured" + href: https://www.kff.org/affordable-care-act/state-indicator/distribution-of-eligibility-for-aca-coverage-among-the-remaining-uninsured/ + - title: CMS "2023 Marketplace Open Enrollment Period Public Use Files" + href: https://www.cms.gov/data-research/statistics-trends-reports/marketplace-products/2023-marketplace-open-enrollment-period-public-use-files + - title: CMS "2024 Marketplace Open Enrollment Period Public Use Files" + href: https://www.cms.gov/data-research/statistics-trends-reports/marketplace-products/2024-marketplace-open-enrollment-period-public-use-files + - title: CMS "2025 Marketplace Open Enrollment Period Public Use Files" + href: https://www.cms.gov/data-research/statistics-trends-reports/marketplace-products/2025-marketplace-open-enrollment-period-public-use-files + - title: CMS "2026 Marketplace Open Enrollment Period Public Use Files" + href: https://www.cms.gov/data-research/statistics-trends-reports/marketplace-products/2026-marketplace-open-enrollment-period-public-use-files values: 2018-01-01: 0.672 + # OEP APTC plan selections / (OEP APTC plan selections + tax-credit-eligible uninsured). + # Numerator: APTC plan selections summed from the CMS state-level OEP public + # use files: 14,797,921 (2023), 19,743,689 (2024), 22,380,137 (2025), and + # 20,035,756 (2026). Plan selections are used instead of effectuated + # enrollment so all four years come from the same source; effectuated + # enrollment for 2026 is not yet published. + # Denominator addend: KFF reports 8,163,000 uninsured people eligible for + # Marketplace tax credits, published for 2023 only. The same count is reused + # for 2024-2026, which likely understates take-up in those years because + # later enrollment growth draws people out of that uninsured pool. + # 2021-2022 stay on the 2018 baseline because the KFF denominator reflects + # the 2023 uninsured population (post-Medicaid-unwinding) and does not + # backcast to earlier years. + 2023-01-01: 0.644483 + 2024-01-01: 0.707489 + 2025-01-01: 0.732739 + 2026-01-01: 0.710519 diff --git a/tests/unit/test_stochastic_variables.py b/tests/unit/test_stochastic_variables.py index a168f3ee3..3c1ca127b 100644 --- a/tests/unit/test_stochastic_variables.py +++ b/tests/unit/test_stochastic_variables.py @@ -37,6 +37,13 @@ def test_aca_rate_loads(self): rate = load_take_up_rate("aca", 2022) assert 0 < rate <= 1 + def test_aca_rate_uses_marketplace_oep_enrollment_time_series(self): + assert load_take_up_rate("aca", 2022) == 0.672 + assert np.isclose(load_take_up_rate("aca", 2023), 0.644483) + assert np.isclose(load_take_up_rate("aca", 2024), 0.707489) + assert np.isclose(load_take_up_rate("aca", 2025), 0.732739) + assert np.isclose(load_take_up_rate("aca", 2026), 0.710519) + def test_head_start_rate_loads(self): rate = load_take_up_rate("head_start", 2022) assert 0 < rate <= 1