Technical writing
Social Security OASDI: The Federal Data Behind $1.4 Trillion in Annual Benefits and 70 Million Recipients
The Social Security Administration's Old-Age, Survivors, and Disability Insurance program is the single largest expenditure in the federal budget. In 2024, OASDI paid approximately $1.4 trillion in benefits to roughly 70 million recipients — one in five Americans — through a payroll-tax-funded system established by Title II of the Social Security Act of 1935. Behind that headline figure sits a rich, publicly accessible data infrastructure spanning actuarial projections, monthly beneficiary snapshots, a 700-table statistical supplement, and individual earnings records spanning every American worker's career.
Program structure and statutory foundation
OASDI is authorized by Title II of the Social Security Act (42 U.S.C. §§ 401–434), signed into law by President Roosevelt on August 14, 1935. The program is administered by the Social Security Administration, an independent federal agency with roughly 60,000 employees operating more than 1,200 field offices and processing centers nationwide. SSA's Office of the Chief Actuary (OCACT) produces the annual Trustees Report, the authoritative projection of the program's long-range financial status.
OASDI is financed through the Federal Insurance Contributions Act (FICA) payroll tax. Workers and employers each pay 6.2% of covered wages up to the taxable maximum — $168,600 in 2024 — for a combined rate of 12.4%. Self-employed individuals pay the full 12.4% through the Self-Employment Contributions Act (SECA), though they may deduct half the amount for income tax purposes. The taxable maximum is indexed to the National Average Wage Index (NAWI) and adjusts each year. In 2024, approximately 94% of covered workers earned below the taxable maximum, meaning about 6% of workers have earnings above the cap — those earnings above $168,600 are exempt from OASDI tax but subject to the Medicare HI tax (1.45% each, no cap).
OASDI revenues flow into two legally separate trust funds managed by the Department of the Treasury. The Old-Age and Survivors Insurance (OASI) Trust Fund receives 5.015 percentage points of the 6.2% employee rate and 5.015 points of the employer rate. The Disability Insurance (DI) Trust Fund receives the remaining 0.9 percentage points from each side. Trust fund balances are invested exclusively in special-issue U.S. Treasury obligations that earn interest at rates set by statute based on average market yields of Treasury securities. Both funds are managed by a six-member Board of Trustees: the Secretaries of Treasury, Labor, and Health and Human Services; the Commissioner of Social Security; and two public trustees confirmed by the Senate.
Benefit categories and recipient population
OASDI serves four broad categories of beneficiaries, each with distinct eligibility requirements and benefit computation rules.
Retired workers constitute the largest category — approximately 57 million recipients in 2024. Eligibility requires at least 40 quarters of coverage (ten years of covered employment), and benefits can begin as early as age 62 or as late as age 70. The Full Retirement Age (FRA) — the age at which a worker receives 100% of their Primary Insurance Amount — is 67 for anyone born in 1960 or later, phased up from 65 for those born before 1938. Claiming before FRA reduces the monthly benefit permanently: by 5/9 of 1% per month for the first 36 months before FRA and 5/12 of 1% per month beyond 36 months. For a worker with an FRA of 67 claiming at 62, the reduction is approximately 30%. Conversely, each month of delayed claiming beyond FRA earns Delayed Retirement Credits (DRCs) of 8% per year (2/3 of 1% per month), capped at age 70, for a maximum increase of 24% above the FRA benefit. The average retirement benefit in 2024 was approximately $1,907 per month.
Disabled workers numbered approximately 8 million in 2024 under Title II Disability Insurance (DI). This is distinct from Supplemental Security Income (SSI), which is authorized by Title XVI and is a means-tested needs-based program for people with disabilities and limited income or assets, regardless of work history. SSDI (Title II DI) requires a sufficient work history: the worker must have earned a minimum number of work credits based on age at disability onset, and in recent years of work (the “recent work” test). Disability is defined as an inability to engage in any substantial gainful activity (SGA) due to a medically determinable physical or mental impairment expected to last at least 12 months or result in death. SGA for non-blind individuals was $1,550 per month in 2024.
Spouses and children of retired or disabled workers may receive auxiliary benefits. A spouse at FRA receives up to 50% of the worker's PIA; a spouse claiming early receives a reduced benefit (down to 32.5% at age 62). Divorced spouses who were married for at least 10 years and have not remarried may claim spousal benefits on the ex-spouse's record if doing so yields a higher benefit than their own retirement benefit. Dependent children under 18 (or 19 if a full-time secondary student, or any age if disabled before 22) of retired or disabled workers receive 50% of the worker's PIA, subject to a family maximum.
Survivors of deceased workers may receive widow(er) benefits, with the surviving spouse eligible for 100% of the deceased worker's benefit at FRA or reduced amounts as early as age 60 (50 if disabled). Surviving divorced spouses, dependent children, and dependent parents of deceased workers may also qualify. A lump-sum death payment of $255 is payable to an eligible surviving spouse or child.
The benefit formula: AIME, PIA, and bend points
Social Security retirement benefits are computed through a two-step formula designed to replace a higher fraction of career earnings for lower-wage workers — a deliberately progressive structure.
The first step computes the Average Indexed Monthly Earnings (AIME). SSA takes the worker's complete earnings history in covered employment and indexes each year's earnings to the National Average Wage Index for the year the worker turns 60. This indexing ensures that the formula accounts for economy-wide wage growth over the career rather than comparing 1985 wages to 2024 wages in nominal terms. After indexing, SSA selects the highest 35 years of indexed earnings. Years with zero or low earnings count as zero; workers with fewer than 35 years of covered earnings have zeros averaged in for the missing years, a significant penalty for career interruptions. The total of the 35 highest indexed years is divided by 420 (35 years × 12 months) to arrive at the AIME.
The second step applies the PIA formula using “bend points” that are updated each year. For workers reaching age 62 in 2024, the PIA formula is: 90% of the first $1,174 of AIME, plus 32% of AIME between $1,174 and $7,078, plus 15% of AIME above $7,078. The resulting PIA is rounded down to the nearest dime. A worker with an AIME of $3,000 would have a PIA of: (0.90 × $1,174) + (0.32 × ($3,000 − $1,174)) = $1,056.60 + $584.32 = $1,640.92, rounded to $1,640.90. The replacement rate — PIA as a fraction of AIME — is approximately 90% at very low earnings, falls to around 55–60% at median earnings, and approaches 28–30% at the taxable maximum. This progressive structure means that OASDI provides proportionally greater retirement security to lower-wage workers, though in absolute dollar terms higher earners still receive larger benefits.
The PIA is the base from which all benefit calculations flow. The retired worker's benefit equals the PIA adjusted for early or delayed claiming. Spousal benefits are computed as a percentage of the worker's PIA. Survivor benefits are based on the deceased worker's PIA. The family maximum — the cap on total benefits payable to all members of a family on a single worker's record — is itself computed from a separate bend-point formula applied to the PIA.
Cost-of-Living Adjustments
OASDI benefits are indexed to inflation through automatic Cost-of-Living Adjustments (COLAs). The COLA mechanism was established by the 1972 Social Security Amendments and first applied in 1975. The adjustment equals the percentage increase in the Consumer Price Index for Urban Wage Earners and Clerical Workers (CPI-W) from the third quarter of the previous year to the third quarter of the current year, rounded to the nearest 0.1%. If the CPI-W does not increase, no COLA is payable; there can be no negative adjustment. The COLA for 2024 was 3.2%, following 8.7% in 2023 (the largest since 1981) and 5.9% in 2022. The taxable maximum and bend points are indexed to the NAWI rather than CPI-W, maintaining the real relationship between benefit formula thresholds and economy-wide wages.
Critics of the CPI-W as the COLA index note that it tracks the spending patterns of urban wage earners in prime working years rather than retirees, who spend a higher share of income on medical care and housing. An alternative index, the CPI-E (CPI for the Elderly), tracked by BLS since 1983, has generally risen somewhat faster than CPI-W over the long run, suggesting COLAs slightly understate the inflation experienced by typical beneficiaries. Several legislative proposals over the years have called for switching to CPI-E, which would increase long-range program costs.
WEP and GPO: offsets for government pensions
Two provisions have reduced Social Security benefits for government workers who also receive pensions from employment not covered by Social Security — primarily certain state and local government jobs and federal employees hired before 1984 under the Civil Service Retirement System (CSRS).
The Windfall Elimination Provision (WEP), enacted in 1983, reduces the first-factor percentage in the PIA formula from 90% to as low as 40% for workers with fewer than 30 years of substantial covered earnings who also receive a noncovered pension. The reduction reflects that the standard formula's progressive structure would otherwise overpay workers who appear to have low career Social Security earnings but actually had substantial earnings outside the covered system. The maximum WEP reduction in 2024 was $587 per month. Workers with 30 or more years of substantial covered earnings are exempt from WEP; the reduction phases in from 30 years down to 21 years of substantial earnings.
The Government Pension Offset (GPO) reduces spousal and survivor Social Security benefits for individuals who receive their own pension from noncovered government employment. The offset equals two-thirds of the noncovered pension amount, subtracted from the spousal or survivor benefit. For many recipients with substantial government pensions, the GPO eliminates the Social Security spousal or survivor benefit entirely. Both WEP and GPO have been subjects of sustained legislative controversy. The Social Security Fairness Act of 2023, which passed the House but stalled in the Senate, proposed eliminating both provisions at an estimated 10-year cost of over $150 billion.
The SSA data ecosystem: transparency and public access
SSA maintains one of the most comprehensive statistical disclosure operations in the federal government. The primary public data resources are as follows.
The Monthly Statistical Snapshot, published each month at ssa.gov/policy, provides a one-page summary of current beneficiary counts and average payments by program and benefit type. The accompanying Excel file contains more granular breakdowns: retired workers, disabled workers, spouses, children, widows and widowers, and other survivor categories, along with average benefit amounts. The Snapshot is the fastest-updating SSA data product and the most commonly used for tracking headline trends.
The Annual Statistical Supplement to the Social Security Bulletinis the comprehensive companion, running to more than 700 tables published at ssa.gov/policy/docs/statcomps/supplement/. The Supplement covers OASDI beneficiary counts and payments by age, sex, and type; DI application awards and denial rates by impairment; SSI recipients and payments; Medicare enrollment; covered employment and taxable wages; trust fund financial operations; and benefit formula parameters dating back decades. Table 5.J in particular provides state-level OASDI data: total beneficiaries, total monthly benefits, average benefit, and type breakdowns for all 50 states, the District of Columbia, and territories. This table is invaluable for state-level policy research.
The OASDI Trustees Report, published annually (typically April–June), is the definitive actuarial forecast. The report presents 75-year projections under three sets of demographic and economic assumptions — optimistic, intermediate, and pessimistic — and calculates the actuarial balance, the open group unfunded obligation, and the projected year of trust fund depletion. The 2024 Trustees Report projected OASI Trust Fund depletion in 2033 and DI Trust Fund depletion in 2098; the combined OASDI fund was projected to be depleted in 2035 under intermediate assumptions.
The Social Security Statement, available at my.ssa.gov, provides individual workers with their complete earnings history as recorded by SSA, estimated future retirement benefits at ages 62, 67, and 70 based on projected future earnings, estimated disability benefits, and survivor benefit projections for family members. The Statement draws on the Master Earnings File maintained by SSA, which contains W-2 wage data reported by employers and self-employment income reported on Schedule SE. Researchers can access the public-use version of linked SSA earnings data through the Health and Retirement Study (HRS) at the University of Michigan under a restricted-use data agreement.
Fiscal outlook and the trust fund depletion question
The long-range financial challenge facing OASDI is well-documented and widely misunderstood. Contrary to frequent media characterizations, Social Security is not “going bankrupt.” The trust funds are projected to be depleted — meaning accumulated reserves exhausted — but the program would continue to receive ongoing payroll tax revenues. The 2024 Trustees Report projected that at OASI Trust Fund depletion in 2033, incoming revenues would cover approximately 77% of scheduled benefits. Beneficiaries would face a benefit reduction of roughly 23%, not elimination of benefits.
The long-range actuarial deficit for the combined OASDI program under intermediate assumptions is 3.33% of taxable payroll over the 75-year projection period. This means that an immediate and permanent increase in the combined payroll tax rate from 12.4% to 15.73% (or equivalent benefit reductions, or some combination) would eliminate the projected shortfall. OCACT has analyzed numerous policy options in detail, each expressed as a share of the long-range deficit they would close.
The primary driver of the long-range imbalance is demographic: the baby boom generation (born 1946–1964) is moving through retirement while fertility rates have fallen below the 2.1 replacement level, reducing the ratio of covered workers to beneficiaries. This ratio — often called the worker-to-beneficiary ratio or support ratio — stood at 5.1 workers per beneficiary in 1960, fell to 3.3 in 2000, and is projected to reach approximately 2.3 by 2035. A secondary driver is increasing life expectancy: the program was designed when life expectancy at 65 was substantially lower than it is today, meaning the expected duration of benefit receipt has increased significantly since 1935.
Legislative options under active policy discussion include: raising the payroll tax rate (increasing revenue); raising or eliminating the taxable wage base (extending the tax to higher earners); further increasing the Full Retirement Age beyond 67; changing the COLA formula (switching from CPI-W to a chained CPI, which grows slightly more slowly); reducing benefits for higher-earning workers through benefit formula adjustments; and increasing the minimum benefit for long-career low-wage workers. The 1983 amendments, the last major bipartisan reform, combined a tax increase, phased FRA increases, and benefit changes to shore up the program through the projected horizon at that time. Each proposed measure carries significant distributional consequences across income, age, and demographic groups, which SSA's OCACT regularly analyzes and publishes in actuarial notes.
State-level variation in OASDI benefits
Social Security benefits vary substantially by state, reflecting differences in beneficiary composition, average career earnings, retirement ages, and disability prevalence. Annual Statistical Supplement Table 5.J provides the state-by-state breakdown; the data.ssa.gov portal surfaces it in machine-readable form.
Florida consistently ranks among the states with the highest total OASDI beneficiary counts and the highest share of retired-worker beneficiaries relative to total population. The state's retirement destination status — attracting higher-income retirees from northeastern states with relatively strong earnings histories — also produces above-average retirement benefit amounts. In 2024, Florida had approximately 5.2 million OASDI beneficiaries, the third-largest total behind California and Texas by raw count, but with an unusually high ratio of beneficiaries to state population reflecting its older age distribution.
West Virginia exhibits a different pattern: among the highest rates of DI beneficiaries per capita in the country, driven by the state's industrial labor history (mining, manufacturing), relatively high rates of work-limiting physical health conditions, lower median earnings, and an older working-age population. High DI rates in Appalachian states broadly reflect occupational injury history, access to occupational healthcare, and socioeconomic conditions that correlate with disability prevalence. DI application rates and award rates by state and impairment are published in the Annual Statistical Supplement.
Average retirement benefit amounts are highest in states with historically higher wages — Connecticut, New Jersey, New York, and Maryland frequently rank near the top — because the benefit formula, though progressive, still delivers higher absolute benefits to higher-earning workers. States with lower average earnings histories, concentrated in the South and Mountain West, produce lower average retirement benefits. This geographic dimension of Social Security benefit distribution has implications for the adequacy of retirement income in different regions, particularly when combined with variation in state income tax treatment of Social Security benefits and variation in cost of living.
SSI versus SSDI: a critical distinction
A persistent source of confusion in public discourse conflates two related but legally and administratively distinct programs. SSDI (Social Security Disability Insurance) is Title II OASDI disability benefits: it requires a sufficient work and contribution history, is not means-tested, and is funded by the DI Trust Fund payroll tax revenues. SSI (Supplemental Security Income) is Title XVI: it is funded by general Treasury revenues (not the OASDI trust funds), requires no prior work history, is explicitly means-tested (income and resource limits apply), and provides a federal benefit rate of $943 per month for an individual in 2024 with state supplementation in many states. Many individuals with disabilities qualify for both SSDI and SSI (called “concurrent beneficiaries”) when their SSDI payment is low enough that the SSI income rules make them eligible for a partial SSI payment. SSA administers both programs, and both are included in SSA's statistical publications, but they draw on different funding sources and serve partially overlapping populations under different rules.
Python: analyzing the Monthly Statistical Snapshot
The script below fetches two Monthly Statistical Snapshot Excel files from SSA — a current month and the same month one year prior — parses beneficiary counts by category, computes year-over-year changes, and identifies which benefit categories are growing or declining fastest. SSA's public data files require no authentication.
import requests
import pandas as pd
import io
# -------------------------------------------------------
# SSA Monthly Statistical Snapshot: Beneficiary Trend Analysis
# Downloads the current and prior-year Monthly Statistical
# Snapshots from the SSA website, parses beneficiary counts
# by benefit type, and computes year-over-year changes to
# identify which categories are growing fastest.
# -------------------------------------------------------
# SSA publishes the Monthly Statistical Snapshot as an Excel file at
# a stable URL pattern. The most recent file is at:
# https://www.ssa.gov/policy/docs/quickfacts/stat_snapshot/
# Individual month files follow a naming convention like:
# 2024-10.xlsx (October 2024)
# We fetch two snapshots (current and 12 months prior) and compare.
SSA_BASE = "https://www.ssa.gov/policy/docs/quickfacts/stat_snapshot"
def fetch_snapshot(year: int, month: int) -> pd.DataFrame:
"""
Download a Monthly Statistical Snapshot Excel file from SSA.
Returns a DataFrame with two columns: 'category' and 'count'.
"""
url = f"{SSA_BASE}/{year}-{month:02d}.xlsx"
print(f"Fetching: {url}")
resp = requests.get(url, timeout=60)
resp.raise_for_status()
# The Snapshot Excel workbook has the beneficiary table starting around row 5.
# Sheet name and exact layout vary; we search for the header row.
xl = pd.ExcelFile(io.BytesIO(resp.content))
sheet = xl.sheet_names[0]
raw = pd.read_excel(xl, sheet_name=sheet, header=None, dtype=str)
# Locate the row containing "Beneficiaries" as the start of the data table
header_row = None
for i, row in raw.iterrows():
row_str = " ".join([str(v) for v in row if pd.notna(v)]).lower()
if "beneficiar" in row_str or "total" in row_str:
header_row = i
break
if header_row is None:
# Fallback: assume data starts at row 4
header_row = 4
data = raw.iloc[header_row:].copy().reset_index(drop=True)
data.columns = range(data.shape[1])
# Extract category (col 0) and beneficiary count (col 1)
result = data[[0, 1]].copy()
result.columns = ["category", "count"]
result = result.dropna(subset=["category"])
result["category"] = result["category"].astype(str).str.strip()
result = result[result["category"].str.len() > 2]
result["count"] = pd.to_numeric(
result["count"].astype(str).str.replace(",", "").str.strip(),
errors="coerce",
)
result = result.dropna(subset=["count"])
result = result[result["count"] > 0].reset_index(drop=True)
return result
# -------------------------------------------------------
# Step 1: Fetch current snapshot and prior-year snapshot
# -------------------------------------------------------
# Adjust these to the two most recent available months
CURRENT_YEAR, CURRENT_MONTH = 2024, 10
PRIOR_YEAR, PRIOR_MONTH = 2023, 10
current = fetch_snapshot(CURRENT_YEAR, CURRENT_MONTH)
prior = fetch_snapshot(PRIOR_YEAR, PRIOR_MONTH)
print(f"
Current snapshot ({CURRENT_YEAR}-{CURRENT_MONTH:02d}): {len(current)} rows")
print(current.to_string(index=False))
# -------------------------------------------------------
# Step 2: Merge on category and compute year-over-year change
# -------------------------------------------------------
merged = current.merge(prior, on="category", suffixes=("_current", "_prior"), how="outer")
merged["yoy_change"] = merged["count_current"] - merged["count_prior"]
merged["yoy_pct"] = (
(merged["yoy_change"] / merged["count_prior"]) * 100
).round(2)
merged = merged.sort_values("count_current", ascending=False).reset_index(drop=True)
print("
Year-over-year change by beneficiary category:")
print(
merged[["category", "count_current", "count_prior", "yoy_change", "yoy_pct"]]
.to_string(index=False)
)
# -------------------------------------------------------
# Step 3: Identify fastest-growing categories
# -------------------------------------------------------
growing = (
merged[merged["yoy_pct"] > 0]
.sort_values("yoy_pct", ascending=False)
.head(5)
)
print("
Top 5 fastest-growing beneficiary categories (year-over-year):")
print(growing[["category", "yoy_pct", "yoy_change"]].to_string(index=False))
declining = (
merged[merged["yoy_pct"] < 0]
.sort_values("yoy_pct", ascending=True)
.head(5)
)
print("
Top 5 fastest-declining beneficiary categories (year-over-year):")
print(declining[["category", "yoy_pct", "yoy_change"]].to_string(index=False))
# -------------------------------------------------------
# Step 4: Summarize total beneficiaries and payments if available
# -------------------------------------------------------
total_rows = merged[merged["category"].str.lower().str.contains("total")]
if not total_rows.empty:
total_row = total_rows.iloc[0]
print(f"
Total beneficiaries (current): {int(total_row['count_current']):,}")
if pd.notna(total_row["count_prior"]):
print(f"Total beneficiaries (prior): {int(total_row['count_prior']):,}")
print(f"Net change: {int(total_row['yoy_change']):+,}")
print("
Done.")
Running this analysis across multiple years reveals the structural shifts in the program: retired-worker counts grow steadily as baby boomers age into benefits and longevity increases; DI beneficiary counts have declined modestly since 2014 due to tightened medical continuing disability reviews and a cyclically stronger labor market that kept some marginally disabled workers employed; survivor beneficiary counts trend gradually downward as the World War II and Korean War survivor cohort ages out. The year-over-year comparison also captures COLA effects in average payment data — the 8.7% COLA applied in January 2023 produces a clearly visible step-change in average payment figures between December 2022 and January 2023 snapshots.
For deeper demographic analysis, the Annual Statistical Supplement tables can be accessed by downloading the ZIP file of Excel workbooks from ssa.gov/policy/docs/statcomps/supplement/ and parsing Table 5.J for state-level breakdowns or Tables 5.A through 5.F for age-sex distributions. The OCACT also publishes microsimulation projections and distributional analyses by career earnings quintile as actuarial notes, providing the richest public view of how policy changes would affect different groups of workers and beneficiaries.
Related writing
VA Disability Benefits: The Federal Data Behind 5.5 Million Compensation Recipients and $130 Billion in Annual Spending— the Department of Veterans Affairs disability rating system, PACT Act expansion, GI Bill, home loan guaranty, and state-level VA benefits utilization analysis. Veterans with service-connected disabilities often receive both VA compensation and Social Security benefits.
IRS Statistics of Income: The Federal Dataset Behind the US Tax and Income Distribution— the IRS SOI program's tabulations of adjusted gross income, top-income concentration, and EITC distribution — the income-side complement to SSA's earnings and benefit data for understanding lifetime income and retirement adequacy across the wage distribution.