From 982fff3e8f6b9c88f027ea13813eb16c78519b8f Mon Sep 17 00:00:00 2001 From: Daphne Hansell <128793799+daphnehanse11@users.noreply.github.com> Date: Wed, 20 May 2026 13:37:41 -0400 Subject: [PATCH 1/4] Update ACA take-up time series --- changelog.d/changed/620.md | 1 + policyengine_us_data/parameters/take_up/aca.yaml | 10 +++++++++- tests/unit/test_stochastic_variables.py | 7 +++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 changelog.d/changed/620.md diff --git a/changelog.d/changed/620.md b/changelog.d/changed/620.md new file mode 100644 index 000000000..7c96c9e3c --- /dev/null +++ b/changelog.d/changed/620.md @@ -0,0 +1 @@ +Update the ACA take-up parameter with a KFF-based time series for 2023 through 2026. diff --git a/policyengine_us_data/parameters/take_up/aca.yaml b/policyengine_us_data/parameters/take_up/aca.yaml index 98f920142..3f183cd90 100644 --- a/policyengine_us_data/parameters/take_up/aca.yaml +++ b/policyengine_us_data/parameters/take_up/aca.yaml @@ -5,6 +5,14 @@ metadata: 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 + href: https://www.kff.org/affordable-care-act/state-indicator/distribution-of-eligibility-for-aca-coverage-among-the-remaining-uninsured/ + - title: KFF State Health Facts, Open Enrollment Marketplace Plan Selections, 2014-2026 + href: https://www.kff.org/affordable-care-act/state-indicator/open-enrollment-marketplace-plan-selections/ values: 2018-01-01: 0.672 + # Marketplace plan selections / (plan selections + 2023 tax-credit-eligible uninsured). + # KFF reports 8,163,000 uninsured people eligible for Marketplace tax credits in 2023. + 2023-01-01: 0.667088 + 2024-01-01: 0.724308 + 2025-01-01: 0.748697 + 2026-01-01: 0.739150 diff --git a/tests/unit/test_stochastic_variables.py b/tests/unit/test_stochastic_variables.py index a168f3ee3..ddeac744e 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_enrollment_time_series(self): + assert load_take_up_rate("aca", 2022) == 0.672 + assert np.isclose(load_take_up_rate("aca", 2023), 0.667088) + assert np.isclose(load_take_up_rate("aca", 2024), 0.724308) + assert np.isclose(load_take_up_rate("aca", 2025), 0.748697) + assert np.isclose(load_take_up_rate("aca", 2026), 0.739150) + def test_head_start_rate_loads(self): rate = load_take_up_rate("head_start", 2022) assert 0 < rate <= 1 From 224025e582964fef40b6fea8c0460de51b629211 Mon Sep 17 00:00:00 2001 From: Daphne Hansell <128793799+daphnehanse11@users.noreply.github.com> Date: Wed, 20 May 2026 14:38:10 -0400 Subject: [PATCH 2/4] Fix changelog fragment path --- changelog.d/{changed/620.md => 620.changed.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelog.d/{changed/620.md => 620.changed.md} (100%) diff --git a/changelog.d/changed/620.md b/changelog.d/620.changed.md similarity index 100% rename from changelog.d/changed/620.md rename to changelog.d/620.changed.md From f3549a844eaa5fb488fbe5624754fe71ac1292f7 Mon Sep 17 00:00:00 2001 From: Daphne Hansell <128793799+daphnehanse11@users.noreply.github.com> Date: Wed, 20 May 2026 15:32:00 -0400 Subject: [PATCH 3/4] Use APTC enrollment for ACA take-up rates --- .../parameters/take_up/aca.yaml | 22 +++++++++++++------ tests/unit/test_stochastic_variables.py | 8 +++---- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/policyengine_us_data/parameters/take_up/aca.yaml b/policyengine_us_data/parameters/take_up/aca.yaml index 3f183cd90..177203c8d 100644 --- a/policyengine_us_data/parameters/take_up/aca.yaml +++ b/policyengine_us_data/parameters/take_up/aca.yaml @@ -6,13 +6,21 @@ metadata: reference: - title: KFF "A Closer Look at the Remaining Uninsured Population Eligible for Medicaid and CHIP" href: https://www.kff.org/affordable-care-act/state-indicator/distribution-of-eligibility-for-aca-coverage-among-the-remaining-uninsured/ - - title: KFF State Health Facts, Open Enrollment Marketplace Plan Selections, 2014-2026 - href: https://www.kff.org/affordable-care-act/state-indicator/open-enrollment-marketplace-plan-selections/ + - title: "CMS Effectuated Enrollment: Early 2024 Snapshot and Full Year 2023 Average" + href: https://www.cms.gov/files/document/early-2024-and-full-year-2023-effectuated-enrollment-report.pdf + - 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 Effectuated Enrollment: Early 2025 Snapshot and Full Year 2024 Average" + href: https://www.cms.gov/files/document/effectuated-enrollment-early-snapshot-2025-and-full-year-2024-average.pdf + - 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 - # Marketplace plan selections / (plan selections + 2023 tax-credit-eligible uninsured). + # APTC enrollment / (APTC enrollment + 2023 tax-credit-eligible uninsured). # KFF reports 8,163,000 uninsured people eligible for Marketplace tax credits in 2023. - 2023-01-01: 0.667088 - 2024-01-01: 0.724308 - 2025-01-01: 0.748697 - 2026-01-01: 0.739150 + # APTC enrollment: 14,793,073 (2023), 19,771,819 (2024), 21,822,894 (2025), + # and 20,035,756 (2026). + 2023-01-01: 0.644408 + 2024-01-01: 0.707784 + 2025-01-01: 0.727772 + 2026-01-01: 0.710519 diff --git a/tests/unit/test_stochastic_variables.py b/tests/unit/test_stochastic_variables.py index ddeac744e..0d9c9a7a4 100644 --- a/tests/unit/test_stochastic_variables.py +++ b/tests/unit/test_stochastic_variables.py @@ -39,10 +39,10 @@ def test_aca_rate_loads(self): def test_aca_rate_uses_marketplace_enrollment_time_series(self): assert load_take_up_rate("aca", 2022) == 0.672 - assert np.isclose(load_take_up_rate("aca", 2023), 0.667088) - assert np.isclose(load_take_up_rate("aca", 2024), 0.724308) - assert np.isclose(load_take_up_rate("aca", 2025), 0.748697) - assert np.isclose(load_take_up_rate("aca", 2026), 0.739150) + assert np.isclose(load_take_up_rate("aca", 2023), 0.644408) + assert np.isclose(load_take_up_rate("aca", 2024), 0.707784) + assert np.isclose(load_take_up_rate("aca", 2025), 0.727772) + 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) From d158a90f604a60281489870efdde15c97e041c26 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 25 May 2026 10:38:41 -0400 Subject: [PATCH 4/4] Use consistent ACA OEP take-up series --- .../parameters/take_up/aca.yaml | 20 +++++++++---------- tests/unit/test_stochastic_variables.py | 8 ++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/policyengine_us_data/parameters/take_up/aca.yaml b/policyengine_us_data/parameters/take_up/aca.yaml index 177203c8d..8ebfc85f0 100644 --- a/policyengine_us_data/parameters/take_up/aca.yaml +++ b/policyengine_us_data/parameters/take_up/aca.yaml @@ -6,21 +6,21 @@ metadata: reference: - title: KFF "A Closer Look at the Remaining Uninsured Population Eligible for Medicaid and CHIP" href: https://www.kff.org/affordable-care-act/state-indicator/distribution-of-eligibility-for-aca-coverage-among-the-remaining-uninsured/ - - title: "CMS Effectuated Enrollment: Early 2024 Snapshot and Full Year 2023 Average" - href: https://www.cms.gov/files/document/early-2024-and-full-year-2023-effectuated-enrollment-report.pdf + - 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 Effectuated Enrollment: Early 2025 Snapshot and Full Year 2024 Average" - href: https://www.cms.gov/files/document/effectuated-enrollment-early-snapshot-2025-and-full-year-2024-average.pdf + - 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 - # APTC enrollment / (APTC enrollment + 2023 tax-credit-eligible uninsured). + # OEP APTC plan selections / (OEP APTC plan selections + 2023 tax-credit-eligible uninsured). # KFF reports 8,163,000 uninsured people eligible for Marketplace tax credits in 2023. - # APTC enrollment: 14,793,073 (2023), 19,771,819 (2024), 21,822,894 (2025), - # and 20,035,756 (2026). - 2023-01-01: 0.644408 - 2024-01-01: 0.707784 - 2025-01-01: 0.727772 + # OEP APTC plan selections: 14,797,921 (2023), 19,743,689 (2024), + # 22,380,137 (2025), and 20,035,756 (2026). + 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 0d9c9a7a4..3c1ca127b 100644 --- a/tests/unit/test_stochastic_variables.py +++ b/tests/unit/test_stochastic_variables.py @@ -37,11 +37,11 @@ def test_aca_rate_loads(self): rate = load_take_up_rate("aca", 2022) assert 0 < rate <= 1 - def test_aca_rate_uses_marketplace_enrollment_time_series(self): + 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.644408) - assert np.isclose(load_take_up_rate("aca", 2024), 0.707784) - assert np.isclose(load_take_up_rate("aca", 2025), 0.727772) + 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):