Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
18377c9
Add a national LIHEAP total and LIHEAP cooling registry notes
hua7450 Nov 9, 2026
dad4de0
Add Georgia LIHEAP regular cooling assistance
hua7450 Nov 9, 2026
73861f8
Merge branch 'liheap-aggregate' into ga-liheap-cooling
hua7450 Nov 9, 2026
4673489
Count Georgia LIHEAP cooling in the national LIHEAP total
hua7450 Nov 9, 2026
77e0f84
Guard the LIHEAP payment list and reword the Rhode Island cooling note
hua7450 Nov 10, 2026
5ffaa98
Merge remote-tracking branch 'upstream/main' into liheap-aggregate
hua7450 Nov 10, 2026
a2b94e4
Apply Georgia LIHEAP cooling review fixes
hua7450 Nov 10, 2026
dab20aa
Merge branch 'liheap-aggregate' into ga-liheap-cooling
hua7450 Nov 10, 2026
e5a2a6c
Make state LIHEAP formulas run in a microsimulation
hua7450 Nov 12, 2026
d4401d7
Merge remote-tracking branch 'upstream/main' into liheap-aggregate
hua7450 Nov 12, 2026
6bee540
Drop the options=[ADD] code-health check
hua7450 Nov 12, 2026
7b9434d
Merge remote-tracking branch 'upstream/liheap-aggregate' into ga-lihe…
hua7450 Nov 12, 2026
b7a4f4e
Point the Georgia floor candidate at the moved income test
hua7450 Nov 12, 2026
4625f4e
Pin the Michigan, California and Illinois list entries and add the pr…
hua7450 Nov 12, 2026
eded8ff
Merge PR 10730's final head (4625f4e59a) into ga-liheap-cooling
hua7450 Nov 12, 2026
3a78498
Merge upstream/main (c65b162782) into ga-liheap-cooling
hua7450 Nov 12, 2026
6db6581
Merge remote-tracking branch 'upstream/main' into ga-liheap-cooling
hua7450 Nov 13, 2026
ea297cd
Fix issues from review: in-rent route, fuel condition, ruling record
hua7450 Nov 13, 2026
0046a70
Merge remote-tracking branch 'upstream/main' into ga-liheap-cooling
hua7450 Nov 13, 2026
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/ga-liheap-cooling.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add Georgia LIHEAP regular cooling assistance.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ values:
- de_liheap # Delaware LIHEAP
- fl_liheap # Florida LIHEAP
- ga_liheap # Georgia LIHEAP
- ga_liheap_cooling # Georgia LIHEAP cooling
- hi_liheap_subsidized_amount # Hawaii LIHEAP subsidized dwelling benefit
- ia_liheap # Iowa LIHEAP
- id_liheap # Idaho LIHEAP
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
description: Georgia provides this cooling payment by income level under the Low Income Home Energy Assistance Program.
# The matrices print one cooling amount per income level for every main heating
# fuel. FY2027 has no posted matrix; the FY2027 plan keeps the $400 minimum and $500
# maximum, so the FY2026 amounts carry forward.
lower_income:
2024-10-01: 500
higher_income:
2024-10-01: 400
metadata:
unit: currency-USD
period: year
label: Georgia LIHEAP cooling payment by income level
propagate_metadata_to_children: true
reference:
- title: Georgia Benefit Matrix, FY2025 income guidelines, step 2 (cooling benefit, Level I and Level II)
href: https://liheapch.acf.gov/docs/2025/benefits-matricies/GA_BenefitMatrix_2025.pdf
- title: Georgia Benefit Matrix, FY2026 income guidelines, step 2 (cooling benefit, Level I and Level II)
href: https://liheapch.acf.gov/docs/2026/benefits-matricies/GA_BenefitMatrix_Heat-Cool_2026.pdf
- title: Georgia FY2025 LIHEAP State Plan, section 3.6
href: https://liheapch.acf.gov/docs/2025/state-plans/GA_Plan_2025.pdf#page=11
- title: Georgia FY2026 LIHEAP State Plan, section 3.6
href: https://liheapch.acf.gov/docs/2026/state-plans/GA_Plan_2026.pdf#page=11
- title: Georgia FY2027 LIHEAP State Plan, section 3.6
href: https://liheapch.acf.gov/docs/2027/state-plans/GA_Plan_2027.pdf#page=11
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description: Georgia limits annual income to this amount by household size for Level I heating payments under the Low Income Home Energy Assistance Program.
description: Georgia limits annual income to this amount by household size for Level I payments under the Low Income Home Energy Assistance Program.
# Preserve the published size-four amount. The source does not define these
# cutoffs as a fixed percentage of current federal poverty or median income.
1:
Expand Down
10 changes: 9 additions & 1 deletion policyengine_us/programs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1101,7 +1101,15 @@ programs:
variable: ga_liheap
parameter_prefix: gov.states.ga.dfcs.liheap
verified_years: "2025-2026"
notes: FY2025-FY2026 regular heating only, with the published fuel matrix and the bundled-utility rental payment. Crisis, cooling, weatherization and equipment assistance are out of scope.
notes: FY2025-FY2026 regular heating, with the published fuel matrix and the bundled-utility rental payment. Regular cooling is the separate Georgia LIHEAP cooling entry; crisis, weatherization and equipment assistance are out of scope.
- state: GA
status: partial
name: Georgia LIHEAP cooling
full_name: Georgia Low Income Home Energy Assistance Program regular cooling assistance
variable: ga_liheap_cooling
parameter_prefix: gov.states.ga.dfcs.liheap
verified_years: "2025-2026"
notes: FY2025-FY2026 regular cooling benefit of $500 (Level I) or $400 (Level II), with the heating income test. Crisis cooling and air-conditioner purchase are out of scope.
- state: HI
status: partial
name: Hawaii LIHEAP subsidized dwelling benefit
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
# Georgia regular cooling benefit: the FY2025 and FY2026 matrices (step 2, COOLING BENEFIT)
# pay $500 in Level I and $400 in Level II for every main heating fuel. Step 1 Level I
# cutoffs are inclusive. Wages: full time at the $7.25 federal minimum wage,
# 7.25 x 40 x 52 = 15_080; a Georgia cashier at the BLS OEWS May 2025 median, $29,070
# (series OEUS130000000000041201113). The $1,800 electric bill does not change the
# cooling amount.

# FY2026: size two, income 15_080 is at or below the 17_770 Level I cutoff and the
# 45_179 limit, so cooling pays 500. Electric heat also pays the Level I heating amount,
# 400 + 100 = 500, as a separate benefit, so the national LIHEAP total is 500 + 500 = 1_000.
- name: Case 1, a minimum wage parent receives the Level I cooling benefit beside the heating benefit.
period: 2026
absolute_error_margin: 0.01
input:
people:
person1:
age: 30
immigration_status: CITIZEN
ssi: 0
employment_income_before_lsr: 15_080
person2:
age: 7
immigration_status: CITIZEN
ssi: 0
spm_units:
spm_unit:
members: [person1, person2]
ga_tanf: 0
heating_type: ELECTRICITY
has_cooling_expense: true
pre_subsidy_electricity_expense: 1_800
households:
household:
members: [person1, person2]
state_code: GA
output:
ga_liheap_household_size: 2
ga_liheap_income: 15_080
ga_liheap_income_limit: 45_179
ga_liheap_cooling_eligible: true
ga_liheap_cooling: 500
ga_liheap: 500
liheap: 1_000

# FY2026: a one-person cashier, 29_070, is above the 13_589 Level I cutoff and within the
# 34_549 limit, so cooling pays the Level II amount, 400. The cooling column is one value
# for every fuel, so gas heat and no heat both receive it.
- name: Case 2, the Level II cooling benefit does not depend on the heating fuel.
period: 2026
absolute_error_margin: 0.01
input:
state_code: [GA, GA]
age: [35, 35]
immigration_status: [CITIZEN, CITIZEN]
ssi: [0, 0]
ga_tanf: [0, 0]
employment_income_before_lsr: [29_070, 29_070]
heating_type: [NATURAL_GAS, NONE]
has_cooling_expense: [true, true]
pre_subsidy_electricity_expense: [1_800, 1_800]
output:
ga_liheap_income: [29_070, 29_070]
ga_liheap_cooling_eligible: [true, true]
ga_liheap_cooling: [400, 400]

# Boundary: the FY2026 size-one Level I range is $0 - $13589 and Level II starts at
# $13590. Income of 13_589 pays 500; 13_589.01 pays 400.
- name: Case 3, the Level I cutoff is inclusive.
period: 2026
absolute_error_margin: 0.01
input:
state_code: [GA, GA]
age: [40, 40]
immigration_status: [CITIZEN, CITIZEN]
heating_type: [ELECTRICITY, ELECTRICITY]
has_cooling_expense: [true, true]
pre_subsidy_electricity_expense: [1_800, 1_800]
ga_liheap_income: [13_589, 13_589.01]
output:
ga_liheap_cooling: [500, 400]

# FY2025: Case 1's family, 15_080, is at or below the FY2025 size-two Level I cutoff of
# 16_993 and the 43_203 limit, so the FY2025 matrix pays 500.
- name: Case 4, FY2025 Level I cooling benefit.
period: 2025
absolute_error_margin: 0.01
input:
people:
person1:
age: 30
immigration_status: CITIZEN
ssi: 0
employment_income_before_lsr: 15_080
person2:
age: 7
immigration_status: CITIZEN
ssi: 0
spm_units:
spm_unit:
members: [person1, person2]
ga_tanf: 0
heating_type: ELECTRICITY
has_cooling_expense: true
pre_subsidy_electricity_expense: 1_800
households:
household:
members: [person1, person2]
state_code: GA
output:
ga_liheap_income: 15_080
ga_liheap_income_limit: 43_203
ga_liheap_cooling: 500

# The FY2026 matrix prints Level I cutoffs through household size 16, so a 17-person
# household uses the size 16 cutoff of 42_336; its 109_627 income limit is well above
# that. Income of 42_336 pays 500; 42_336.01 pays 400.
- name: Case 5, a household above the published table size uses the size sixteen Level I cutoff.
period: 2026
absolute_error_margin: 0.01
input:
state_code: [GA, GA]
ga_liheap_household_size: [17, 17]
ga_liheap_income: [42_336, 42_336.01]
heating_type: [ELECTRICITY, ELECTRICITY]
has_cooling_expense: [true, true]
output:
ga_liheap_income_limit: [109_627, 109_627]
ga_liheap_cooling_eligible: [true, true]
ga_liheap_cooling: [500, 400]

# Case 2's cashier in Georgia beside the same household in Alabama. The Alabama unit has
# Georgia household size 0 and receives no Georgia cooling benefit; the Georgia unit
# receives the Level II amount, 400.
- name: Case 6, a unit in another state beside a Georgia unit receives no Georgia cooling benefit.
period: 2026
absolute_error_margin: 0.01
input:
state_code: [GA, AL]
age: [35, 35]
immigration_status: [CITIZEN, CITIZEN]
ssi: [0, 0]
ga_tanf: [0, 0]
employment_income_before_lsr: [29_070, 29_070]
heating_type: [ELECTRICITY, ELECTRICITY]
has_cooling_expense: [true, true]
pre_subsidy_electricity_expense: [1_800, 1_800]
output:
ga_liheap_household_size: [1, 0]
ga_liheap_cooling_eligible: [true, false]
ga_liheap_cooling: [400, 0]
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
# Georgia regular cooling eligibility: the heating program's income and household tests
# (PAMMS chapter 100, page 4; cooling FAQ, page 1) with the household's own cooling cost, or
# unsubsidized rent that includes all utilities (heating's direct payment route), as the
# energy burden. Wages are Georgia BLS OEWS May 2025 medians: cashiers $29,070 (series
# OEUS130000000000041201113) and fast food and counter workers $26,920 (series
# OEUS130000000000035302313).

# FY2026: a cashier and a fast food worker earn 29_070 + 26_920 = 55_990, above the
# 45_179 size-two limit (and the 110% poverty floor), so no cooling benefit is paid.
- name: Case 1, income above the limit prevents cooling eligibility.
period: 2026
absolute_error_margin: 0.01
input:
people:
person1:
age: 35
immigration_status: CITIZEN
ssi: 0
employment_income_before_lsr: 29_070
person2:
age: 33
immigration_status: CITIZEN
ssi: 0
employment_income_before_lsr: 26_920
spm_units:
spm_unit:
members: [person1, person2]
ga_tanf: 0
heating_type: NATURAL_GAS
has_cooling_expense: true
pre_subsidy_electricity_expense: 1_800
households:
household:
members: [person1, person2]
state_code: GA
output:
ga_liheap_income: 55_990
ga_liheap_income_limit: 45_179
ga_liheap_income_eligible: false
ga_liheap_cooling_eligible: false
ga_liheap_cooling: 0

# FY2026: a one-person cashier with gas heat and a gas bill receives the Level II gas
# heating amount, 560, but reports no cooling cost, so the cooling benefit is 0.
- name: Case 2, a heating recipient without cooling costs receives no cooling benefit.
period: 2026
absolute_error_margin: 0.01
input:
people:
person1:
age: 35
immigration_status: CITIZEN
ssi: 0
employment_income_before_lsr: 29_070
spm_units:
spm_unit:
members: [person1]
ga_tanf: 0
heating_type: NATURAL_GAS
gas_expense: 1_200
has_cooling_expense: false
pre_subsidy_electricity_expense: 1_800
households:
household:
members: [person1]
state_code: GA
output:
ga_liheap_eligible: true
ga_liheap: 560
ga_liheap_cooling_eligible: false
ga_liheap_cooling: 0

# With no income both households pass the income test, so only the qualified member
# requirement separates them: an undocumented adult alone has Georgia household size 0
# (manual 1100.4, page 51).
- name: Case 3, a household with no qualified member is not eligible.
period: 2026
input:
state_code: [GA, GA]
age: [40, 40]
immigration_status: [CITIZEN, UNDOCUMENTED]
ssi: [0, 0]
ga_tanf: [0, 0]
heating_type: [ELECTRICITY, ELECTRICITY]
has_cooling_expense: [true, true]
pre_subsidy_electricity_expense: [1_800, 1_800]
output:
ga_liheap_household_size: [1, 0]
ga_liheap_cooling_eligible: [true, false]

# Case 2's cashier (29_070, within the 34_549 limit) reports a cooling cost but no fuel. The
# matrix prints one cooling amount for every fuel, so the fuel does not matter: 29_070 is
# above the 13_589 Level I cutoff, so cooling pays the Level II amount, 400.
- name: Case 4, an unspecified heating fuel receives the cooling benefit.
period: 2026
absolute_error_margin: 0.01
input:
people:
person1:
age: 35
immigration_status: CITIZEN
ssi: 0
employment_income_before_lsr: 29_070
spm_units:
spm_unit:
members: [person1]
ga_tanf: 0
heating_type: UNSPECIFIED
has_cooling_expense: true
pre_subsidy_electricity_expense: 1_800
households:
household:
members: [person1]
state_code: GA
output:
ga_liheap_income_eligible: true
# Was false and 0, now true and 400: cooling eligibility no longer adds a heating fuel
# condition.
ga_liheap_cooling_eligible: true
ga_liheap_cooling: 400

# Heating's Case 14 renter: one adult with 12_000 of wages and unsubsidized rent that
# includes all utilities, with no separate bill and no reported cooling cost. Rent is the
# HUD FY2026 one-bedroom Fair Market Rent for Dougherty County, 1_006 x 12 = 12_072. The
# manual's energy burden table pays this renter directly, and section 1300.2 pays costs
# "included in their rent and designated as a separate cost", which the rental agreement
# is assumed to do. 12_000 is at or below the 13_589 size-one Level I cutoff, so cooling
# pays 500 beside the 500 heating minimum, and the national total is 1_000.
- name: Case 5, rent that includes all utilities qualifies without a separate cooling cost.
period: 2026
absolute_error_margin: 0.01
input:
people:
person1:
age: 40
immigration_status: CITIZEN
ssi: 0
employment_income_before_lsr: 12_000
rent: 12_072
spm_units:
spm_unit:
members: [person1]
ga_tanf: 0
heating_type: UNSPECIFIED
heat_expense_included_in_rent: true
receives_housing_assistance: false
has_cooling_expense: false
households:
household:
members: [person1]
state_code: GA
tenant_pays_utilities: false
is_in_public_housing: false
output:
ga_liheap_income: 12_000
ga_liheap_eligible: true
ga_liheap: 500
ga_liheap_cooling_eligible: true
ga_liheap_cooling: 500
liheap: 1_000
Loading
Loading