You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Share one helper for the HHS state median income LIHEAP limit #10005
Four state LIHEAP income-limit formulas compute the same HHS state median income (SMI) limit, each with its own copy of the household-size adjustment and rounding:
smi() divided by the four-person SMI, behind truncates_smi_limit
Each formula floors the state's rate (60%) times the four-person SMI, multiplies by the size factor, and floors again. That order reproduces the published limits: all 20 Mississippi rows, Georgia's 16 FY2026 limits, Florida's FY2026 sizes 1-12, and every HHS FFY2025 and FFY2026 Ohio amount. The size factor also repeats the calculation inside smi() in policyengine_us/variables/gov/hhs/hhs_smi.py.
HHS describes the calculation in the footnote to its SMI table: "60 percent of each state's estimated median income for a four-person family is multiplied by the following percentages to adjust for household size for LIHEAP" (LIHEAP IM 2025-02, Attachment 4). The footnote does not state a rounding order; the floor-then-floor order is a reconciliation against the printed tables.
Proposed change
Add a size-factor helper to hhs_smi.py, for example smi_size_factor(unit_size, period, parameters), and have smi() call it.
Add a helper that returns the LIHEAP SMI limit: floor the rate times the four-person SMI, multiply by the size factor, floor again. Let the caller pass the date for the SMI lookup, since Ohio reads the prior year's SMI from the 2026-27 season (smi_year_lag).
Move Mississippi, Ohio, Georgia and Florida onto the helper. Florida's FY2025 branch, which rounds the unfloored amount, keeps its own path.
co_ccap_smi.py also reads household_size_adjustment directly and can use the size-factor helper.
Acceptance criteria
Every existing test expectation in the four programs stays the same.
No new parameters.
Ohio, Georgia and Florida move onto the helper after their PRs merge.
Activity