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
8 changes: 8 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
- bump: minor
changes:
added:
- Add liquid asset input variables (bank_account_assets, stock_assets, bond_assets), ssi_countable_resources, and spm_unit_cash_assets aggregation
- Add takes_up_ssi_if_eligible variable for SSI takeup modeling
changed:
- SSI resource test now uses actual imputed assets instead of random pass rate
- SSI benefit now applies takeup in microsimulation
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
# Resources

[SSA reported $5.293 billion in SSI expenditures in February 2023](https://www.ssa.gov/policy/docs/quickfacts/stat_snapshot/#table3).
Adjust `pass_rate.yaml` to match this for SSI in 2023 ($5.293 billion * 12 = $63.5 billion).
SSI countable resources are now calculated from imputed liquid assets
(bank accounts, stocks, bonds) rather than using a random pass rate.

The assets are imputed from SIPP in policyengine-us-data and flow through
to the SSI resource test via `ssi_countable_resources`.

Check with this code:
Check SSI expenditures with:
```python
from policyengine_us import Microsimulation
Microsimulation().calc("ssi", map_to="person", period=2023).sum() / 1e9
```

[SSA reported $5.293 billion in SSI expenditures in February 2023](https://www.ssa.gov/policy/docs/quickfacts/stat_snapshot/#table3).
Annual target: $5.293 billion * 12 = $63.5 billion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
description: >-
The US counts these asset types as countable resources for SSI eligibility.
Excludes home, one vehicle, household goods, burial plots, and retirement accounts.
values:
1975-01-01:
# Liquid assets counted as resources
- bank_account_assets # Checking, savings, money market
- stock_assets # Stocks and mutual funds
- bond_assets # Bonds and government securities
metadata:
label: SSI countable resource sources
reference:
- title: SSA POMS SI 01140.200 - Checking and Savings Accounts
href: https://secure.ssa.gov/poms.nsf/lnx/0501140200
- title: SSA POMS SI 01140.220 - Stocks
href: https://secure.ssa.gov/poms.nsf/lnx/0501140220
- title: SSA POMS SI 01140.240 - U.S. Savings Bonds
href: https://secure.ssa.gov/poms.nsf/lnx/0501140240
- title: SSA POMS SI 01140.250 - Municipal, Corporate and Government Bonds
href: https://secure.ssa.gov/poms.nsf/lnx/0501140250

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ class meets_ssi_resource_test(Variable):
value_type = bool
entity = Person
label = "Meets SSI resource test"
unit = USD
definition_period = YEAR
reference = "https://secure.ssa.gov/poms.nsf/lnx/0501110000"

def formula(person, period, parameters):
p = parameters(period).gov.ssa.ssi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,15 @@ class ssi_countable_resources(Variable):
value_type = float
entity = Person
label = "SSI countable resources"
documentation = (
"Countable resources for SSI eligibility. Includes liquid assets "
"(bank accounts, stocks, bonds) but excludes home, one vehicle, "
"household goods, and retirement accounts per SSI rules."
)
unit = USD
definition_period = YEAR
reference = (
"https://secure.ssa.gov/poms.nsf/lnx/0501140000", # POMS SI 01140.000 - Types of Countable Resources
)

adds = "gov.ssa.ssi.eligibility.resources.countable"
5 changes: 4 additions & 1 deletion policyengine_us/variables/gov/ssa/ssi/ssi.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,11 @@ def formula(person, period, parameters):
individual_max = p.individual * MONTHS_IN_YEAR
capped_benefit = min_(benefit, individual_max)

return where(
final_benefit = where(
deeming_applies,
capped_benefit,
benefit,
)

takes_up = person("takes_up_ssi_if_eligible", period)
return final_benefit * takes_up
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
from policyengine_us.model_api import *


class takes_up_ssi_if_eligible(Variable):
value_type = bool
entity = Person
label = "Takes up SSI if eligible"
definition_period = YEAR
default_value = True
15 changes: 15 additions & 0 deletions policyengine_us/variables/household/assets/bank_account_assets.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from policyengine_us.model_api import *


class bank_account_assets(Variable):
value_type = float
entity = Person
label = "Bank account assets"
documentation = (
"Value of checking, savings, and money market accounts. "
"Imputed from SIPP TVAL_BANK."
)
unit = USD
definition_period = YEAR
uprating = "gov.bls.cpi.cpi_u"
reference = "https://secure.ssa.gov/poms.nsf/lnx/0501140200"
18 changes: 18 additions & 0 deletions policyengine_us/variables/household/assets/bond_assets.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
from policyengine_us.model_api import *


class bond_assets(Variable):
value_type = float
entity = Person
label = "Bond assets"
documentation = (
"Value of bonds and government securities. "
"Imputed from SIPP TVAL_BOND."
)
unit = USD
definition_period = YEAR
uprating = "gov.bls.cpi.cpi_u"
reference = (
"https://secure.ssa.gov/poms.nsf/lnx/0501140240",
"https://secure.ssa.gov/poms.nsf/lnx/0501140250",
)
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ class spm_unit_cash_assets(Variable):
label = "SPM unit cash assets"
definition_period = YEAR
unit = USD

adds = ["bank_account_assets", "stock_assets", "bond_assets"]
14 changes: 14 additions & 0 deletions policyengine_us/variables/household/assets/stock_assets.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from policyengine_us.model_api import *


class stock_assets(Variable):
value_type = float
entity = Person
label = "Stock assets"
documentation = (
"Value of stocks and mutual funds. " "Imputed from SIPP TVAL_STMF."
)
unit = USD
definition_period = YEAR
uprating = "gov.bls.cpi.cpi_u"
reference = "https://secure.ssa.gov/poms.nsf/lnx/0501140220"