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
6 changes: 6 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- bump: minor
changes:
added:
- Add ACA Premium Tax Credit (PTC) targets from IRS SOI CD-level data (N85530/A85530)
at national, state, and congressional district levels
date: 2026-02-06 12:00:00
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@
"health_insurance_premiums_without_medicare_part_b",
"snap",
"state_income_tax", # Census STC state income tax collections
"aca_ptc", # ACA Premium Tax Credit from IRS SOI
],
},
)
Expand Down
2 changes: 1 addition & 1 deletion policyengine_us_data/db/DATABASE_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ The `stratum_group_id` field categorizes strata:
| 5 | Medicaid | Medicaid enrollment strata |
| 6 | EITC | EITC recipients by qualifying children |
| 7 | State Income Tax | State-level income tax collections (Census STC) |
| 100-118 | IRS Conditional | Each IRS variable paired with conditional count constraints |
| 100-119 | IRS Conditional | Each IRS variable paired with conditional count constraints (includes ACA PTC at 119) |

### Conditional Strata (IRS SOI)

Expand Down
23 changes: 23 additions & 0 deletions policyengine_us_data/db/etl_irs_soi.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,7 @@ def transform_soi_data(raw_df):
dict(code="18425", name="salt", breakdown=None),
dict(code="06500", name="income_tax", breakdown=None),
dict(code="05800", name="income_tax_before_credits", breakdown=None),
dict(code="85530", name="aca_ptc", breakdown=None),
]

# National ---------------
Expand Down Expand Up @@ -566,6 +567,28 @@ def load_soi_data(long_dfs, year):
units="dollars",
)

# ACA Premium Tax Credit
ptc_group = get_or_create_variable_group(
session,
name="aca_ptc_recipients",
category="tax",
is_histogram=False,
is_exclusive=False,
aggregation_method="sum",
display_order=9,
description="ACA Premium Tax Credit recipients and amounts",
)

get_or_create_variable_metadata(
session,
variable="aca_ptc",
group=ptc_group,
display_name="Premium Tax Credit",
display_order=1,
units="dollars",
notes="ACA Premium Tax Credit amount from IRS SOI",
)

# Fetch existing geographic strata
geo_strata = get_geographic_strata(session)

Expand Down