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
4 changes: 4 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- bump: minor
changes:
changed:
- Moved Social Security contribution and benefit base (wage cap) from gov.irs.payroll.social_security.cap to gov.ssa.social_security.contribution_and_benefit_base to reflect its statutory location in the Social Security Act (42 U.S.C. § 430).
5 changes: 2 additions & 3 deletions policyengine_us/parameters/gov/ssa/nawi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,8 @@ values:
2021-01-01: 60_575.07 # NAWI(Y-2) for CBB(2023)
2022-01-01: 63_795.13 # NAWI(Y-2) for CBB(2024)
2023-01-01: 66_621.80 # NAWI(Y-2) for CBB(2025)
# Back out NAWI from CBO's forecast of the payroll tax cap, in
# parameters/gov/irs/payroll/social_security/cap.yaml
# Back out NAWI from CBO's forecast of the payroll tax cap.
# Back out NAWI from CBO's forecast of the contribution and benefit base, in
# parameters/gov/ssa/social_security/contribution_and_benefit_base.yaml
# The formula to derive NAWI(Y-2) from CBB(Y) is:
# NAWI(Y-2) approx = CBB(Y) * (NAWI_1992 / CBB_1994)
# where NAWI_1992 = 22_935.42 and CBB_1994 = 60_600.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description: Individual earnings below this amount are subjected to Social Security (OASDI) payroll tax. This parameter is indexed by the rate of growth in average wages, not by the price inflation rate.
description: The contribution and benefit base (commonly called the Social Security wage base) is the maximum amount of earnings subject to Social Security tax. This applies to both FICA (payroll) and SECA (self-employment) taxes. Defined in the Social Security Act and indexed by the national average wage index.
values:
1937-01-01: 3_000
1951-01-01: 3_600
Expand Down Expand Up @@ -72,7 +72,7 @@ values:
metadata:
unit: currency-USD
period: year
label: Social Security earnings cap
label: Social Security contribution and benefit base
uprating: gov.ssa.nawi
reference:
- title: 42 U.S.C. § 430(b)
Expand All @@ -81,7 +81,10 @@ metadata:
# (b)(2) indexes based on the national average wage index relative to 1992
- title: 26 U.S.C. § 3121(a)(1)
href: https://www.law.cornell.edu/uscode/text/26/3121#a_1
# Defines wages for FICA tax purposes as amounts from the benefit base.
# Defines wages for FICA tax purposes as amounts up to the contribution and benefit base.
- title: 26 U.S.C. § 1402(b)(1)
href: https://www.law.cornell.edu/uscode/text/26/1402#b_1
# Defines self-employment income for SECA tax purposes as amounts up to the contribution and benefit base.
- title: Contribution And Benefit Base
href: https://www.ssa.gov/oact/cola/cbb.html
- title: CBO Tax Parameters and Effective Marginal Tax Rates | Jan 2025
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ class taxable_earnings_for_social_security(Variable):
def formula(person, period, parameters):
earnings = person("payroll_tax_gross_wages", period)
p = parameters(period).gov
base_taxable = min_(earnings, p.irs.payroll.social_security.cap)
base_taxable = min_(
earnings, p.ssa.social_security.contribution_and_benefit_base
)
secondary_taxable = max_(
0,
earnings - p.contrib.cbo.payroll.secondary_earnings_threshold,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,7 @@ class taxable_earnings_for_social_security(Variable):
unit = USD

def formula(person, period, parameters):
p = parameters(period).gov.irs.payroll.social_security
return min_(p.cap, person("payroll_tax_gross_wages", period))
ss_wage_base = parameters(
period
).gov.ssa.social_security.contribution_and_benefit_base
return min_(ss_wage_base, person("payroll_tax_gross_wages", period))
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,12 @@ class social_security_taxable_self_employment_income(Variable):
reference = "https://www.law.cornell.edu/uscode/text/26/1402#b"

def formula(person, period, parameters):
p = parameters(period).gov.irs.payroll.social_security
ss_wage_base = parameters(
period
).gov.ssa.social_security.contribution_and_benefit_base
# This will not be negative, since
# taxable_earnings_for_social_security is capped at the cap.
cap_minus_earnings = p.cap - person(
# taxable_earnings_for_social_security is capped at the wage base.
cap_minus_earnings = ss_wage_base - person(
"taxable_earnings_for_social_security", period
)
# Deduct SS payroll taxable wages and salaries.
Expand Down