Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/8527.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Apply ACA premium tax credit formulas to years with historical SLCSP premiums.
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,44 @@ metadata:
reference:
- title: 26 U.S. Code § 36B(b)(3)(A) - Refundable credit for coverage under a qualified health plan
href: https://www.law.cornell.edu/uscode/text/26/36B#b_3_A
- title: IRS Revenue Procedure 2017-36 - Applicable percentage table for 2018
href: https://www.irs.gov/pub/irs-drop/rp-17-36.pdf#page=2
- title: IRS Revenue Procedure 2018-34 - Applicable percentage table for 2019
href: https://www.irs.gov/pub/irs-drop/rp-18-34.pdf#page=2
- title: IRS Revenue Procedure 2019-29 - Applicable percentage table for 2020
href: https://www.irs.gov/pub/irs-drop/rp-19-29.pdf#page=3
- title: IRS Revenue Procedure 2025-25 - Applicable percentage table for 2026
href: https://www.irs.gov/pub/irs-drop/rp-25-25.pdf
values:
# Original ACA (2015-2020): 6 brackets
# Original ACA: 6 brackets
2015-01-01:
- 0.02 # 0-133%: flat 2%
- 0.04 # 133-150%
- 0.063 # 150-200%
- 0.0805 # 200-250%
- 0.095 # 250-300%
- 0.095 # 300-400%: flat 9.5%
2018-01-01:
- 0.0201
- 0.0403
- 0.0634
- 0.081
- 0.0956
- 0.0956
2019-01-01:
- 0.0208
- 0.0415
- 0.0654
- 0.0836
- 0.0986
- 0.0986
2020-01-01:
- 0.0206
- 0.0412
- 0.0649
- 0.0829
- 0.0978
- 0.0978
# ARPA/IRA (2021-2025): 5 brackets, no 133% threshold
2021-01-01:
- 0 # 0-150%: flat 0%
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,44 @@ metadata:
reference:
- title: 26 U.S. Code § 36B(b)(3)(A) - Refundable credit for coverage under a qualified health plan
href: https://www.law.cornell.edu/uscode/text/26/36B#b_3_A
- title: IRS Revenue Procedure 2017-36 - Applicable percentage table for 2018
href: https://www.irs.gov/pub/irs-drop/rp-17-36.pdf#page=2
- title: IRS Revenue Procedure 2018-34 - Applicable percentage table for 2019
href: https://www.irs.gov/pub/irs-drop/rp-18-34.pdf#page=2
- title: IRS Revenue Procedure 2019-29 - Applicable percentage table for 2020
href: https://www.irs.gov/pub/irs-drop/rp-19-29.pdf#page=3
- title: IRS Revenue Procedure 2025-25 - Applicable percentage table for 2026
href: https://www.irs.gov/pub/irs-drop/rp-25-25.pdf
values:
# Original ACA (2015-2020): 6 brackets
# Original ACA: 6 brackets
2015-01-01:
- 0.02 # 0-133%: flat 2%
- 0.03 # 133-150%
- 0.04 # 150-200%
- 0.063 # 200-250%
- 0.0805 # 250-300%
- 0.095 # 300-400%: flat 9.5%
2018-01-01:
- 0.0201
- 0.0302
- 0.0403
- 0.0634
- 0.081
- 0.0956
2019-01-01:
- 0.0208
- 0.0311
- 0.0415
- 0.0654
- 0.0836
- 0.0986
2020-01-01:
- 0.0206
- 0.0309
- 0.0412
- 0.0649
- 0.0829
- 0.0978
# ARPA/IRA (2021-2025): 5 brackets, no 133% threshold
2021-01-01:
- 0 # 0-150%: flat 0%
Expand Down
15 changes: 14 additions & 1 deletion policyengine_us/tests/policy/baseline/gov/aca/ptc/aca_ptc.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,24 @@
- name: ACA PTC returns zero before 2024
- name: ACA PTC calculated for 2023 using historical premiums
absolute_error_margin: 0.01
period: 2023
input:
is_aca_ptc_eligible: true
slcsp: 1_200
aca_magi: 25_000
aca_required_contribution_percentage: 0.04
tax_unit_is_filer: true
output:
aca_ptc: 200 # 1200 - 0.04 * 25000 = 200

- name: ACA PTC remains zero before available rating-area premium data
absolute_error_margin: 0.01
period: 2017
input:
is_aca_ptc_eligible: true
slcsp: 1_200
aca_magi: 25_000
aca_required_contribution_percentage: 0.04
tax_unit_is_filer: true
output:
aca_ptc: 0

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@
output:
aca_required_contribution_percentage: 0.0314

- name: Flat at 100% FPL in 2019 (pre-ARPA, should be 2%)
- name: Flat at 100% FPL in 2019 (pre-ARPA, should be 2.08%)
period: 2019
absolute_error_margin: 0.0001
input:
aca_magi_fraction: 1.0
output:
aca_required_contribution_percentage: 0.02
aca_required_contribution_percentage: 0.0208

- name: aca_required_contribution_percentage unit test 1
period: 2022
Expand Down Expand Up @@ -101,3 +101,43 @@
aca_magi_fraction: 4.0
output:
aca_required_contribution_percentage: 0.0996

- name: 2018 ACA contribution percentage at 100 percent FPL.
period: 2018
absolute_error_margin: 0.0001
input:
aca_magi_fraction: 1.0
output:
aca_required_contribution_percentage: 0.0201

- name: 2018 ACA contribution percentage at 350 percent FPL.
period: 2018
absolute_error_margin: 0.0001
input:
aca_magi_fraction: 3.5
output:
aca_required_contribution_percentage: 0.0956

- name: 2019 ACA contribution percentage at 350 percent FPL.
period: 2019
absolute_error_margin: 0.0001
input:
aca_magi_fraction: 3.5
output:
aca_required_contribution_percentage: 0.0986

- name: 2020 ACA contribution percentage at 100 percent FPL.
period: 2020
absolute_error_margin: 0.0001
input:
aca_magi_fraction: 1.0
output:
aca_required_contribution_percentage: 0.0206

- name: 2020 ACA contribution percentage at 350 percent FPL.
period: 2020
absolute_error_margin: 0.0001
input:
aca_magi_fraction: 3.5
output:
aca_required_contribution_percentage: 0.0978
26 changes: 26 additions & 0 deletions policyengine_us/tests/policy/baseline/gov/aca/ptc/integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,3 +92,29 @@
selected_marketplace_plan_premium_proxy: 3_929.25
used_aca_ptc: 3_929.25
unused_aca_ptc: 394.31

- name: 2023 aca_ptc_los_angeles_single
absolute_error_margin: 0.01
period: 2023
input:
people:
person1:
age: 40
employment_income: 30_000
is_aca_eshi_eligible: false
tax_units:
tax_unit:
members: [person1]
households:
household:
members: [person1]
state_fips: 6 # CA
county: LOS_ANGELES_COUNTY_CA
three_digit_zip_code: 902
output:
is_medicaid_eligible: [false]
is_aca_ptc_eligible: [true]
slcsp: 4_250.01
aca_magi_fraction: 2.20
aca_required_contribution_percentage: 0.028
aca_ptc: 3_410.01
2 changes: 1 addition & 1 deletion policyengine_us/variables/gov/aca/ptc/aca_ptc.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class aca_ptc(Variable):
def formula(tax_unit, period, parameters):
return 0

def formula_2024(tax_unit, period, parameters):
def formula_2018(tax_unit, period, parameters):
plan_cost = tax_unit("slcsp", period)
income = tax_unit("aca_magi", period)
applicable_figure = tax_unit("aca_required_contribution_percentage", period)
Expand Down
Loading