Skip to content
Merged
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/liheap-federal-fpg-floor.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Apply the federal 110% poverty guideline floor to District of Columbia, Massachusetts, Mississippi, New Jersey and Oregon LIHEAP income eligibility.
11 changes: 11 additions & 0 deletions policyengine_us/parameters/gov/hhs/liheap/fpg_floor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
description: The US Department of Health and Human Services limits income-based exclusion to households with income of at least this percentage of the poverty guideline under the Low Income Home Energy Assistance Program.
# Pub. L. 98-558, section 605(a)(2), added the floor for fiscal year 1986 and later.
values:
1985-10-01: 1.1
metadata:
period: year
unit: /1
label: LIHEAP poverty guideline income floor
reference:
- title: 42 U.S.C. 8624(b)(2)(B)
href: https://www.law.cornell.edu/uscode/text/42/8624#b_2_B
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
description: The District of Columbia uses the poverty guidelines from this many years before the model year for the federal income floor under the Low Income Home Energy Assistance Program.
# HHS makes each January's guidelines mandatory for LIHEAP from the next
# October 1, so model period 2024 (FY2024) uses the 2023 guidelines and 2026
# (FY2026) the 2025 guidelines. The District's own limit uses state median
# income.
values:
2021-10-01: 1
metadata:
unit: year
period: year
label: DC LIHEAP poverty guideline year lag
reference:
- title: LIHEAP Information Memoranda, annual poverty guideline memoranda
href: https://acf.gov/ocs/policy-guidance/liheap-information-memoranda
- title: LIHEAP IM 2023-01, poverty guidelines for optional use in FFY 2023 and mandatory use in FFY 2024
href: https://acf.gov/archive/ocs/policy-guidance/liheap-im-2023-01-federal-poverty-guidelines-optional-use-ffy-2023and
- title: LIHEAP IM 2025-02, Attachment 2, poverty guidelines for mandatory use in FY26
href: https://acf.gov/sites/default/files/documents/ocs/COMM_LIHEAP_IM2025-02_FPGSte-Table_Att2.pdf#page=1
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
description: Mississippi uses the poverty guidelines from this many years before the model year for the federal income floor under the Low Income Home Energy Assistance Program.
# HHS makes each January's guidelines mandatory for LIHEAP from the next
# October 1, so model period 2026 (FY2026) uses the 2025 guidelines and 2027
# (FY2027) the 2026 guidelines. Mississippi's own limit uses state median income.
values:
2025-10-01: 1
metadata:
unit: year
period: year
label: Mississippi LIHEAP poverty guideline year lag
reference:
- title: LIHEAP IM 2025-02, Attachment 2, poverty guidelines for mandatory use in FY26
href: https://acf.gov/sites/default/files/documents/ocs/COMM_LIHEAP_IM2025-02_FPGSte-Table_Att2.pdf#page=1
- title: LIHEAP IM 2026-01, poverty guidelines for optional use in FY26 and mandatory use in FY27
href: https://acf.gov/ocs/policy-guidance/liheap-im2026-01-federal-poverty-guidelines-fpg-and-state-median-income-smi
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
description: New Jersey uses the poverty guidelines from this many years before the model year for the federal income floor under the Low Income Home Energy Assistance Program.
# HHS makes each January's guidelines mandatory for LIHEAP from the next
# October 1, so model period 2024 (FY2024) uses the 2023 guidelines and 2026
# (FY2026) the 2025 guidelines. New Jersey's own limit uses state median
# income.
values:
2021-10-01: 1
metadata:
unit: year
period: year
label: New Jersey LIHEAP poverty guideline year lag
reference:
- title: LIHEAP Information Memoranda, annual poverty guideline memoranda
href: https://acf.gov/ocs/policy-guidance/liheap-information-memoranda
- title: LIHEAP IM 2023-01, poverty guidelines for optional use in FFY 2023 and mandatory use in FFY 2024
href: https://acf.gov/archive/ocs/policy-guidance/liheap-im-2023-01-federal-poverty-guidelines-optional-use-ffy-2023and
- title: LIHEAP IM 2025-02, Attachment 2, poverty guidelines for mandatory use in FY26
href: https://acf.gov/sites/default/files/documents/ocs/COMM_LIHEAP_IM2025-02_FPGSte-Table_Att2.pdf#page=1
- title: LIHEAP IM 2026-01, poverty guidelines for optional use in FY26 and mandatory use in FY27
href: https://acf.gov/ocs/policy-guidance/liheap-im2026-01-federal-poverty-guidelines-fpg-and-state-median-income-smi
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
description: Oregon uses the poverty guidelines from this many years before the model year for the federal income floor under the Low Income Home Energy Assistance Program.
# HHS makes each January's guidelines mandatory for LIHEAP from the next
# October 1, so model period 2025 (PY2025) uses the 2024 guidelines, 2026
# (PY2026) the 2025 guidelines and 2027 (PY2027) the 2026 guidelines. Oregon's
# own limit uses state median income.
values:
2024-10-01: 1
metadata:
unit: year
period: year
label: Oregon LIHEAP poverty guideline year lag
reference:
- title: LIHEAP IM 2024-02, Attachment 2, poverty guidelines for mandatory use in FY25
href: https://acf.gov/sites/default/files/documents/ocs/COMM_LIHEAP_IM%202024-02_Att2FPGTables_States.pdf#page=1
- title: LIHEAP IM 2025-02, Attachment 2, poverty guidelines for mandatory use in FY26
href: https://acf.gov/sites/default/files/documents/ocs/COMM_LIHEAP_IM2025-02_FPGSte-Table_Att2.pdf#page=1
- title: LIHEAP IM 2026-01, poverty guidelines for optional use in FY26 and mandatory use in FY27
href: https://acf.gov/ocs/policy-guidance/liheap-im2026-01-federal-poverty-guidelines-fpg-and-state-median-income-smi
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,44 @@
state_code: DC
output:
dc_liheap_eligible: false

- name: Case 3, federal 110% poverty floor above the 60% state median income limit at size 36.
period: 2024
input:
state_code: [DC, DC, DC, DC, DC]
spm_unit_size: [36, 36, 36, 36, 35]
irs_gross_income: [212_000, 213_927.99, 213_928, 213_929, 210_000]
output:
# 42 U.S.C. 8624(b)(2)(B) bars excluding a household on income below 110%
# of the poverty guideline. FY2024 uses the 2023 guidelines (LIHEAP IM
# 2023-01): 14,580 + 5,140 x 35 = 194,480 for 36 people, and 110% is
# 213,928. The 60% SMI limit for 36 people is 212,669.78.
# Household 1 is below the 60% SMI limit: eligible.
# Household 2 is one cent below the floor: eligible.
# Household 3 is exactly at the floor, which is not below 110%: not eligible.
# Household 4 is above the floor: not eligible.
# Household 5 has 35 people, whose 209,795.87 limit exceeds the 208,274
# floor (110% of 189,340), so the limit still applies: not eligible.
dc_liheap_eligible: [true, true, false, false, false]

- name: Case 4, the floor uses the poverty guidelines from the year before the model year.
period: 2024
input:
state_code: DC
spm_unit_size: 36
irs_gross_income: 215_000
output:
# FY2024 uses the 2023 guidelines, so the floor is 213,928. The 2024
# guidelines would give 110% x (15,060 + 5,380 x 35) = 223,696.
dc_liheap_eligible: false

- name: Case 5, FY2023 uses the 2022 poverty guidelines for the floor.
period: 2023
input:
state_code: [DC, DC]
spm_unit_size: [39, 39]
irs_gross_income: [212_244.99, 212_245]
output:
# 110% x (13,590 + 4,720 x 38) = 212,245 for 39 people, above the
# 210,731.60 FY2023 60% SMI limit.
dc_liheap_eligible: [true, false]
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,45 @@
output:
ma_liheap_income_eligible: true
# hhs_smi: 119_895

- name: Case 4, federal 110% poverty floor above the 60% state median income limit at size 34.
period: 2026
input:
state_code: [MA, MA, MA, MA, MA]
spm_unit_size: [34, 34, 34, 34, 33]
ma_liheap_income: [215_000, 216_864.99, 216_865, 216_866, 213_000]
output:
# 42 U.S.C. 8624(b)(2)(B) bars excluding a household on income below 110%
# of the poverty guideline. FY2026 uses the 2025 guidelines (LIHEAP IM
# 2025-02): 15,650 + 5,500 x 33 = 197,150 for 34 people, and 110% is
# 216,865. The 60% SMI limit for 34 people is 215,077.68.
# Household 1 is below the 60% SMI limit: eligible.
# Household 2 is one cent below the floor: eligible.
# Household 3 is exactly at the floor, which is not below 110%: not eligible.
# Household 4 is above the floor: not eligible.
# Household 5 has 33 people, whose 212,090.49 limit exceeds the 210,815
# floor (110% of 191,650), so the limit still applies: not eligible.
ma_liheap_income_eligible: [true, true, false, false, false]

- name: Case 5, the floor uses the poverty guidelines from the year before the model year.
period: 2026
input:
state_code: MA
spm_unit_size: 34
ma_liheap_income: 220_000
output:
# FY2026 uses the 2025 guidelines, so the floor is 216,865. The 2026
# guidelines would give 110% x (15,960 + 5,680 x 33) = 223,740.
ma_liheap_income_eligible: false

- name: Case 6, FY2025 uses the 2024 poverty guidelines for the floor.
period: 2025
input:
state_code: [MA, MA]
spm_unit_size: [32, 32]
ma_liheap_income: [200_023.99, 200_024]
output:
# LIHEAP IM 2024-02 makes the 2024 guidelines mandatory in FY2025:
# 110% x (15,060 + 5,380 x 31) = 200,024 for 32 people, above the
# 198,676.80 FY2025 60% SMI limit.
ma_liheap_income_eligible: [true, false]
Original file line number Diff line number Diff line change
Expand Up @@ -379,3 +379,22 @@
# Household 2 pays its own electric bill of 45 a month. Matrix page 1,
# household size 1, first band, Electric 700: min(700, 540) = 540.
ms_liheap: [0, 540]
- name: Case 20, a household that qualifies only through the federal 110% poverty floor is paid from the last income band.
period: 2026
input:
state_code: [MS, MS]
age: [40, 40]
ms_liheap_household_size: [11, 11]
ms_liheap_income: [77_000, 77_715]
heating_type: [PROPANE, PROPANE]
heating_expense: [2_000, 2_000]
output:
# Both incomes exceed the 75,593 size-11 limit (manual PDF page 58).
# Household 1 is below the 77,715 floor (110% of the 2025 guideline of
# 70,650) and qualifies under 42 U.S.C. 8624(b)(2)(B). Household 2 is at
# the floor and does not qualify.
ms_liheap_eligible: [true, false]
# The size-11 matrix (manual PDF pages 59-64) has an open fourth band
# above 52,988. Propane column: 800 - 3 x 50 = 650. A 2,000 bill exceeds
# the cap, and no electric bill is reported.
ms_liheap: [650, 0]
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,51 @@
# Household 2 lives in public housing with heat included in the rent and no
# energy bill of its own: not eligible.
ms_liheap_eligible: [true, false]
- name: Case 5, federal 110% poverty floor above the 60% state median income limit at size 11.
period: 2026
input:
state_code: [MS, MS, MS, MS, MS]
age: [40, 40, 40, 40, 40]
ms_liheap_household_size: [11, 11, 11, 11, 10]
ms_liheap_income: [75_593, 77_714.99, 77_715, 77_716, 74_051]
heating_type: [ELECTRICITY, ELECTRICITY, ELECTRICITY, ELECTRICITY, ELECTRICITY]
heating_expense: [1_000, 1_000, 1_000, 1_000, 1_000]
output:
# 42 U.S.C. 8624(b)(2)(B) bars excluding a household on income below 110%
# of the poverty guideline. FY2026 uses the 2025 guidelines (LIHEAP IM
# 2025-02): 15,650 + 5,500 x 10 = 70,650 for 11 people, and 110% is 77,715.
# The 60% SMI limit for 11 people is 75,593 (manual PDF page 58).
# Household 1 is at the 60% SMI limit: eligible.
# Household 2 is one cent below the floor: eligible.
# Household 3 is exactly at the floor, which is not below 110%: not eligible.
# Household 4 is above the floor: not eligible.
# Household 5 has 10 people, whose 74,050 limit exceeds the 71,665 floor
# (110% of 65,150), so the limit still applies: not eligible.
ms_liheap_eligible: [true, true, false, false, false]
- name: Case 6, the floor uses the poverty guidelines from the year before the model year.
period: 2026
input:
state_code: MS
age: 40
ms_liheap_household_size: 11
ms_liheap_income: 78_000
heating_type: ELECTRICITY
heating_expense: 1_000
output:
# FY2026 uses the 2025 guidelines, so the floor is 77,715. The 2026
# guidelines would give 110% x (15,960 + 5,680 x 10) = 80,036.
ms_liheap_eligible: false
- name: Case 7, FY2027 uses the 2026 poverty guidelines for the floor.
period: 2027
input:
state_code: [MS, MS]
age: [40, 40]
ms_liheap_household_size: [11, 11]
ms_liheap_income: [80_035.99, 80_036]
heating_type: [ELECTRICITY, ELECTRICITY]
heating_expense: [1_000, 1_000]
output:
# LIHEAP IM 2026-01 makes the 2026 guidelines mandatory in FY2027:
# 110% x (15,960 + 5,680 x 10) = 80,036 for 11 people, above the 79,402
# FY2027 60% SMI limit.
ms_liheap_eligible: [true, false]
Original file line number Diff line number Diff line change
Expand Up @@ -485,7 +485,8 @@
nc_sa: 0

# G.S. 108A-42.1 adjusts the rates each January 1 by the Social Security
# cost-of-living adjustment. The 2027 rate and FBR are projections.
# cost-of-living adjustment. The 2027 rate is uprated until North Carolina
# publishes it; the 2027 FBR is the SSA amount announced with the 3.6% COLA.
# https://www.ncleg.gov/EnactedLegislation/Statutes/PDF/BySection/Chapter_108A/GS_108A-42.1.pdf
- name: Case 37, basic facility rate follows the cost-of-living adjustment in 2027.
period: 2027-01
Expand All @@ -495,13 +496,13 @@
age: 65
nc_sa_care_setting: ADULT_CARE_HOME
output:
# 1,397 uprated by the projected Social Security index and rounded to the
# dollar.
nc_sa_rate: 1_436
# Projected FBR.
ssi: 1_021.83
# 1,436 + 70 - 1,021.83 = 484.17 -> 484.
nc_sa: 484
# 1,397 uprated by the Social Security index (2027 CPI-W 328.746 / 2026
# 317.265 = 1.036187) and rounded to the dollar: 1,447.55 -> 1,448.
nc_sa_rate: 1_448
# 2027 SSI federal benefit rate.
ssi: 1_029
# 1,448 + 70 - 1,029 = 489.
nc_sa: 489

# An applicant "ineligible for SSI solely due to being over income for SSI"
# qualifies without applying for SSI (SA-3100 I, II.A.6): "If the a/b
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,3 +120,48 @@
is_tax_unit_dependent: [false, true]
output:
nj_liheap_eligible: [true, true]

- name: Case 7, federal 110% poverty floor above the 60% state median income limit at size 32.
period: 2026
input:
state_code: [NJ, NJ, NJ, NJ, NJ]
nj_liheap_household_size: [32, 32, 32, 32, 31]
nj_liheap_countable_income: [202_092, 204_764.99, 204_765, 204_766, 199_201]
heat_expense_included_in_rent: [true, true, true, true, true]
output:
# 42 U.S.C. 8624(b)(2)(B) bars excluding a household on income below 110%
# of the poverty guideline. FY2026 uses the 2025 guidelines (LIHEAP IM
# 2025-02): 15,650 + 5,500 x 31 = 186,150 for 32 people, and 110% is
# 204,765. The annualized 60% SMI limit for 32 people is 202,092.
# Household 1 is at the 60% SMI limit: eligible.
# Household 2 is one cent below the floor: eligible.
# Household 3 is exactly at the floor, which is not below 110%: not eligible.
# Household 4 is above the floor: not eligible.
# Household 5 has 31 people, whose 199,200 limit exceeds the 198,715 floor
# (110% of 180,650), so the limit still applies: not eligible.
nj_liheap_eligible: [true, true, false, false, false]

- name: Case 8, the floor uses the poverty guidelines from the year before the model year.
period: 2026
input:
state_code: NJ
nj_liheap_household_size: 32
nj_liheap_countable_income: 208_000
heat_expense_included_in_rent: true
output:
# FY2026 uses the 2025 guidelines, so the floor is 204,765. The 2026
# guidelines would give 110% x (15,960 + 5,680 x 31) = 211,244.
nj_liheap_eligible: false

- name: Case 9, FY2024 uses the 2023 poverty guidelines for the floor.
period: 2024
input:
state_code: [NJ, NJ]
nj_liheap_household_size: [28, 28]
nj_liheap_countable_income: [168_695.99, 168_696]
heat_expense_included_in_rent: [true, true]
output:
# LIHEAP IM 2023-01 makes the 2023 guidelines mandatory in FY2024:
# 110% x (14,580 + 5,140 x 27) = 168,696 for 28 people, above the 167,952
# FY2024 annualized 60% SMI limit.
nj_liheap_eligible: [true, false]
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,62 @@
# 7. public housing is subsidized housing, so heat included in rent is
# again "No", ineligible.
or_liheap_eligible: [false, true, false, true, true, false, false]

- name: Case 2, federal 110% poverty floor above the 60% state median income limit at size 20.
period: 2026
input:
state_code: [OR, OR, OR, OR, OR]
spm_unit_size: [20, 20, 20, 20, 19]
or_liheap_countable_income: [128_441, 132_164.99, 132_165, 132_166, 126_227]
heat_expense_included_in_rent: [true, true, true, true, true]
output:
# 42 U.S.C. 8624(b)(2)(B) bars excluding a household on income below 110%
# of the poverty guideline. PY2026 uses the 2025 guidelines (LIHEAP IM
# 2025-02): 15,650 + 5,500 x 19 = 120,150 for 20 people, and 110% is
# 132,165. The 60% SMI limit for 20 people is 128,441 (federal size
# factors; the manual's table stops at 12 on page 77).
# 1. at the 60% SMI limit: eligible;
# 2. one cent below the floor: eligible;
# 3. exactly at the floor, which is not below 110%: ineligible;
# 4. above the floor: ineligible;
# 5. 19 people, whose 126,226 limit exceeds the 126,115 floor (110% of
# 114,650), so the limit still applies: ineligible.
or_liheap_eligible: [true, true, false, false, false]

- name: Case 3, the floor uses the poverty guidelines from the year before the model year.
period: 2026
input:
state_code: OR
spm_unit_size: 20
or_liheap_countable_income: 134_000
heat_expense_included_in_rent: true
output:
# PY2026 uses the 2025 guidelines, so the floor is 132,165. The 2026
# guidelines would give 110% x (15,960 + 5,680 x 19) = 136,268.
or_liheap_eligible: false

- name: Case 4, PY2025 uses the 2024 poverty guidelines for the floor.
period: 2025
input:
state_code: [OR, OR]
spm_unit_size: [19, 19]
or_liheap_countable_income: [123_089.99, 123_090]
heat_expense_included_in_rent: [true, true]
output:
# LIHEAP IM 2024-02 makes the 2024 guidelines mandatory in FY2025:
# 110% x (15,060 + 5,380 x 18) = 123,090 for 19 people, above the 121,051
# PY2025 60% SMI limit.
or_liheap_eligible: [true, false]

- name: Case 5, PY2027 uses the 2026 poverty guidelines for the floor.
period: 2027
input:
state_code: [OR, OR]
spm_unit_size: [20, 20]
or_liheap_countable_income: [136_267.99, 136_268]
heat_expense_included_in_rent: [true, true]
output:
# LIHEAP IM 2026-01 makes the 2026 guidelines mandatory in FY2027:
# 110% x (15,960 + 5,680 x 19) = 136,268 for 20 people, above the 134,937
# PY2027 60% SMI limit.
or_liheap_eligible: [true, false]
Loading
Loading