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/ak-pfd-receipt.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Limit the Alaska Permanent Fund Dividend and energy relief to the immigration statuses in AS 43.23.005(a)(5), and add a default-true take-up input for residents Alaska does not pay.
116 changes: 107 additions & 9 deletions docs/validation/alaska-pfd.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
# Alaska Permanent Fund Dividend in model comparisons

PolicyEngine automatically calculates `ak_permanent_fund_dividend` and
`ak_energy_relief` for each person whose household is in Alaska. These amounts
are calculated benefits, rather than imputed income or fixed default inputs.
Current Alaska residence is an eligibility proxy: the model does not check an
application, prior-year residence, or actual receipt. Supplying wages and other
known income does not disable either calculation.
`ak_energy_relief` for each person who lives in Alaska, holds one of the
immigration statuses in the dividend statute, and takes up the dividend. These
amounts are calculated benefits, rather than imputed income or fixed default
inputs. PolicyEngine cannot resolve the statute's other tests from its inputs:
an application, residence on the application date and during all of the prior
calendar year, 72 consecutive hours of presence in the prior two years,
allowable absences, Selective Service compliance, or a felony sentence or
conviction-based incarceration during that year. `is_incarcerated` records no
conviction and does not tie to that year, so it does not affect the dividend.
Supplying wages and other known income does not disable either calculation.

The regular PFD is included in federal gross income for nondependent people.
A dependent child's PFD is not automatically added to the parent's adjusted
Expand All @@ -14,13 +19,106 @@ status; supply explicit roles or dependent status when constructing a household.
The regular dividend appears on [2022 Schedule 1, line
8g](https://www.irs.gov/pub/irs-prior/f1040s1--2022.pdf#page=1).

## Who receives the dividend

`ak_permanent_fund_dividend_eligible` applies the status test in [AS
43.23.005(a)(5)](https://www.akleg.gov/basis/statutes.asp#43.23.005): a citizen,
an alien lawfully admitted for permanent residence, a refugee, or an asylee.

In *State v. Andrade*, 23 P.3d 58 (Alaska 2001), the Alaska Supreme Court held
that the state phrase does not incorporate the federal definition: an alien must
be legally present and able to form the intent to remain in Alaska. In [15 AAC
23.154(a)](https://www.akleg.gov/basis/aac.asp#15.23.154), the Department of
Revenue applies that reading to a status under 8 U.S.C. 1101 to 1189 that lets
the alien adopt the United States as their domicile. The department lists
immigrants, nonimmigrants whose status requires no foreign residence, people on
indefinite parole, and conditional permanent residents. PolicyEngine has no
status for the last three, so code them as `LEGAL_PERMANENT_RESIDENT`. Under 15
AAC 23.154(b) and (d), a person whose status requires a foreign residence fails,
and a limited-stay nonimmigrant fails the residence test until they take a
significant step toward a permanent or indefinite status. On its [immigration
page](https://pfd.alaska.gov/eligibility/immigration), the department's
Permanent Fund Dividend Division also describes paths for US nationals and
Compact of Free Association migrants. PolicyEngine has no status for those
either, so code a person the Division accepts as `LEGAL_PERMANENT_RESIDENT`.

PolicyEngine leaves the other values of `immigration_status` out:

- `PAROLED_ONE_YEAR` does not say a parole runs indefinitely. In [OAH No.
25-3180-PFD](https://aws.state.ak.us/OAH/Decision/Display?rec=7350), an
administrative law judge upheld the Division's denial of a 2025 dividend to a
fixed-term parolee.
- `TPS` (8 U.S.C. 1254a) and `DEPORTATION_WITHHELD` (8 U.S.C. 1231(b)(3)) fall
outside 8 U.S.C. 1101 to 1189, and a person coded `DACA` holds no status under
those sections. A TPS holder might meet *Andrade*'s test alone, but the court
did not address TPS, and PolicyEngine follows the regulation's range.
- A person coded `UNDOCUMENTED` lacks the legal presence the court required in
*Andrade*.
- `CUBAN_HAITIAN_ENTRANT` and `CONDITIONAL_ENTRANT` do not say whether the person
may adopt the United States as their domicile.

Alaska tests the status a person holds during the qualifying year and on the
application date (15 AAC 23.154(e)), and under 15 AAC 23.154(c) an alien's
qualifying year starts on January 1 after the person gains the status.
PolicyEngine has no status history, so it reads the status for the dividend year.

`takes_up_ak_permanent_fund_dividend_if_eligible` covers the statute's other
tests and anyone who does not apply. It defaults to true, so a household
calculation pays every eligible Alaska resident unless an input says otherwise.
Set it to false for a person Alaska did not pay. Both variables gate
`ak_energy_relief` as well, because Alaska pays energy relief as part of the
dividend ([sec. 13, ch. 34, SLA
2026](https://www.akleg.gov/PDF/34/Bills/HB0263Z.PDF#page=84)).

### Children under one

A child born during the dividend year cannot receive that year's dividend. The
child fails AS 43.23.005(a)(3), and under (c) only children born in the two
calendar years before the dividend year qualify. The Division [takes
applications](https://pfd.alaska.gov/application/applying-for-a-child) for a child
"born on or before December 31st of the qualifying year." A child born during the
qualifying year qualifies only under (c), and only through a parent eligible for
that dividend. `ak_permanent_fund_dividend_eligible` tests the child's own
status, not a parent's eligibility.

PolicyEngine cannot identify a child born during the dividend year from `age`,
because a child aged 0 may have a birth date in either calendar year. Populace
takes `age` from the CPS ASEC, which the Census Bureau [conducts in February,
March and
April](https://www.census.gov/topics/income-poverty/poverty/guidance/surveys-programs.html),
recording each person's age [as of the survey
date](https://www.census.gov/programs-surveys/cps/technical-documentation/subject-definitions.html).
In each survey, the Bureau asks about income in the year before, which Populace
records as `source_year`. Of the people aged 0 in Populace's 2024 Alaska records,
74% come from the 2023 survey. If each record keeps its own survey date, 92% to
96% of them have birth dates in 2022 or 2023 and can qualify under (c). If every
survey fell in the dividend year instead, 71% to 87% could. The ranges run from
mid-February to mid-April interviews. `birth_year`, which subtracts `age` from
the year, would put all of them in the dividend year. So the model pays a
resident aged 0 unless the take-up input says otherwise. Set that input to false
for a child born during the dividend year, or for a child born during the
qualifying year who has no eligible parent.

### Recipients in microsimulation

Populace does not set `takes_up_ak_permanent_fund_dividend_if_eligible` yet, so
the default microsimulation pays everyone who passes the status test: 730,150
people for 2024, against the [624,489 applications Alaska
paid](https://pfd.alaska.gov/division-info/summary-of-dividend-applications-payments)
for that dividend year. The Microcosm data pipeline can close that gap by setting
the flag from reported receipt and Alaska's paid count; see
[microcosm issue 1551](https://github.com/PolicyEngine/microcosm/issues/1551).
The microsimulation has no inputs before its 2024 base year, so it cannot report
recipients for earlier years.

## Override calculated payments

Supply either variable as an input on the person to replace its calculated
amount. To exclude both transfers from a controlled comparison, set both to zero
for **every person**. Overriding only `ak_permanent_fund_dividend` leaves energy
relief in place. Overriding only tax-unit AGI leaves the underlying person income
and benefit amounts unchanged.
amount. Overriding only `ak_permanent_fund_dividend` leaves energy relief in
place. To exclude both transfers from a controlled comparison, set
`takes_up_ak_permanent_fund_dividend_if_eligible` to false or set both payments
to zero, for **every person**. Overriding only tax-unit AGI leaves the underlying
person income and benefit amounts unchanged.

This complete situation retains Alaska residence while excluding both payments:

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
description: Alaska limits the Permanent Fund Dividend to people with these immigration statuses.

values:
# In State v. Andrade, 23 P.3d 58 (Alaska 2001), the Alaska Supreme Court
# held that "lawfully admitted for permanent residence" in AS
# 43.23.005(a)(5)(B) does not incorporate the federal definition: an alien
# must be legally present and able to form the intent to remain in Alaska.
# In 15 AAC 23.154(a), the Department of Revenue applies that reading to a
# status under 8 U.S.C. 1101 to 1189 that lets the alien adopt the United
# States as their domicile: an immigrant, a nonimmigrant whose status
# requires no foreign residence, a person on indefinite parole, or a
# conditional permanent resident. PolicyEngine has no status for the last
# three, so code them as LEGAL_PERMANENT_RESIDENT.
#
# PolicyEngine leaves the other statuses out. PAROLED_ONE_YEAR does not say a
# parole runs indefinitely, and in OAH No. 25-3180-PFD an administrative law
# judge upheld the Permanent Fund Dividend Division's denial of a fixed-term
# parolee's dividend. TPS (8 U.S.C. 1254a) and DEPORTATION_WITHHELD (8 U.S.C.
# 1231(b)(3)) fall outside 8 U.S.C. 1101 to 1189, and a person coded DACA
# holds no status under those sections. A person coded UNDOCUMENTED lacks the
# legal presence the court required in Andrade. CUBAN_HAITIAN_ENTRANT and
# CONDITIONAL_ENTRANT do not say whether the person may adopt the United
# States as their domicile.
2015-01-01:
- CITIZEN
- LEGAL_PERMANENT_RESIDENT
- REFUGEE
- ASYLEE

metadata:
unit: list
period: year
label: Alaska Permanent Fund Dividend eligible immigration statuses
reference:
- title: AS 43.23.005(a)(5), Eligibility
href: https://www.akleg.gov/basis/statutes.asp#43.23.005
- title: 15 AAC 23.154, Eligibility of aliens
href: https://www.akleg.gov/basis/aac.asp#15.23.154
- title: Alaska Permanent Fund Dividend Division, Immigration - Alien Status and Eligibility for the PFD
href: https://pfd.alaska.gov/eligibility/immigration
- title: Alaska Office of Administrative Hearings, OAH No. 25-3180-PFD (adopted March 10, 2026)
href: https://aws.state.ak.us/OAH/Decision/Display?rec=7350
Original file line number Diff line number Diff line change
Expand Up @@ -82,3 +82,73 @@
state_code: AK
output:
ak_energy_relief: 0

- name: Case 13, a resident with no status input gets the 2026 energy relief, since the status defaults to citizen and take-up to true.
period: 2026
input:
state_code: AK
output:
ak_energy_relief: 200

- name: Case 14, an undocumented Alaska resident gets no energy relief, because Alaska pays it as part of the dividend.
period: 2026
input:
state_code: AK
immigration_status: UNDOCUMENTED
output:
ak_energy_relief: 0

- name: Case 15, a resident who does not take up the dividend gets no energy relief.
period: 2026
input:
state_code: AK
takes_up_ak_permanent_fund_dividend_if_eligible: false
output:
ak_energy_relief: 0

- name: Case 16, each person in one household gets energy relief on their own status and take-up.
period: 2024
absolute_error_margin: 0.01
input:
people:
citizen:
age: 40
undocumented_parent:
age: 36
immigration_status: UNDOCUMENTED
non_applicant:
age: 15
takes_up_ak_permanent_fund_dividend_if_eligible: false
asylee:
age: 22
immigration_status: ASYLEE
households:
household:
members: [citizen, undocumented_parent, non_applicant, asylee]
state_code: AK
output:
ak_energy_relief: [298.17, 0, 0, 298.17]

- name: Case 17, a supplied zero dividend leaves energy relief in place, since each payment has its own override.
period: 2026
input:
state_code: AK
ak_permanent_fund_dividend: 0
output:
ak_energy_relief: 200

- name: Case 18, an undocumented child gets no energy relief though a citizen parent does.
period: 2026
input:
people:
parent:
age: 35
child:
age: 6
immigration_status: UNDOCUMENTED
households:
household:
members: [parent, child]
state_code: AK
output:
ak_energy_relief: [200, 0]
Original file line number Diff line number Diff line change
Expand Up @@ -122,3 +122,142 @@
ak_energy_relief: 0
irs_gross_income: 51_000
adjusted_gross_income: 51_000

- name: Case 15, a resident with no status input gets the dividend, since the status defaults to citizen and take-up to true.
period: 2026
input:
state_code: AK
output:
ak_permanent_fund_dividend_eligible: true
takes_up_ak_permanent_fund_dividend_if_eligible: true
ak_permanent_fund_dividend: 1_000

- name: Case 16, a lawful permanent resident gets the dividend under AS 43.23.005(a)(5)(B).
period: 2026
input:
state_code: AK
immigration_status: LEGAL_PERMANENT_RESIDENT
output:
ak_permanent_fund_dividend: 1_000

- name: Case 17, a refugee gets the dividend under AS 43.23.005(a)(5)(C).
period: 2026
input:
state_code: AK
immigration_status: REFUGEE
output:
ak_permanent_fund_dividend: 1_000

- name: Case 18, an asylee gets the dividend under AS 43.23.005(a)(5)(D).
period: 2026
input:
state_code: AK
immigration_status: ASYLEE
output:
ak_permanent_fund_dividend: 1_000

- name: Case 19, an undocumented Alaska resident gets no dividend.
period: 2026
input:
state_code: AK
immigration_status: UNDOCUMENTED
output:
ak_permanent_fund_dividend_eligible: false
ak_permanent_fund_dividend: 0

- name: Case 20, a resident who does not take up the dividend gets none, though eligible.
period: 2026
input:
state_code: AK
takes_up_ak_permanent_fund_dividend_if_eligible: false
output:
ak_permanent_fund_dividend_eligible: true
ak_permanent_fund_dividend: 0

- name: Case 21, each person in one household gets the dividend on their own status and take-up.
period: 2026
input:
people:
citizen:
age: 40
permanent_resident:
age: 38
immigration_status: LEGAL_PERMANENT_RESIDENT
undocumented_parent:
age: 36
immigration_status: UNDOCUMENTED
non_applicant:
age: 15
takes_up_ak_permanent_fund_dividend_if_eligible: false
child:
age: 5
households:
household:
members: [citizen, permanent_resident, undocumented_parent, non_applicant, child]
state_code: AK
output:
ak_permanent_fund_dividend: [1_000, 1_000, 0, 0, 1_000]

- name: Case 22, a filer who does not take up the dividend has no dividend in federal gross income or AGI.
period: 2026
input:
people:
person:
age: 40
employment_income: 50_000
takes_up_ak_permanent_fund_dividend_if_eligible: false
tax_units:
tax_unit:
members: [person]
households:
household:
members: [person]
state_code: AK
output:
ak_permanent_fund_dividend: 0
ak_energy_relief: 0
irs_gross_income: 50_000
adjusted_gross_income: 50_000

- name: Case 23, a supplied dividend overrides the calculation for an ineligible person.
period: 2026
input:
state_code: AK
immigration_status: UNDOCUMENTED
ak_permanent_fund_dividend: 1_000
output:
ak_permanent_fund_dividend: 1_000

- name: Case 24, an undocumented child gets no dividend though a citizen parent does, since under AS 43.23.005(c) a child still needs a status in (a)(5).
period: 2026
input:
people:
parent:
age: 35
child:
age: 6
immigration_status: UNDOCUMENTED
households:
household:
members: [parent, child]
state_code: AK
output:
ak_permanent_fund_dividend: [1_000, 0]

- name: Case 25, a resident child under one gets the dividend unless an input says otherwise, since age 0 does not show a birth during the dividend year.
period: 2026
input:
people:
infant:
age: 0
infant_born_during_the_dividend_year:
age: 0
takes_up_ak_permanent_fund_dividend_if_eligible: false
one_year_old:
age: 1
households:
household:
members: [infant, infant_born_during_the_dividend_year, one_year_old]
state_code: AK
output:
ak_permanent_fund_dividend: [1_000, 0, 1_000]
Loading
Loading