Pension Calculator

Use this Pension Calculator to estimate a defined benefit (DB) pension based on final average salary, years of service, and your plan multiplier, then see the monthly amount. You can also model an early-retirement reduction and compare the monthly pension to a rough lump-sum value.

Advanced options
Early retirement reduction (estimate)
Today’s dollars (optional)
Rough lump-sum value (optional)
Calculating…
Did we solve your problem today?

How to use our Pension Calculator

  1. Enter your Final average salary (USD per year), using the salary average your plan uses (often highest 3 or 5 years).
  2. Enter Years of service. You can use decimals if needed (example: 30.5).
  3. Enter your Pension multiplier (percent per year), sometimes called the accrual rate (example: 2).
  4. Set Retirement start age (years), the age when payments begin.
  5. Set Normal retirement age (years), the age when your plan usually pays the full (unreduced) amount.
  6. Open Advanced options if you want to estimate an early-retirement reduction, convert to today's dollars, or compute a rough lump-sum present value.
  7. Click Calculate to see your estimated annual pension, monthly pension, and replacement rate.
  8. If you filled in discount rate and years paid, review the lump-sum value as a comparison only (real plans can use different rates and mortality rules).

Definitions

Defined benefit (DB) pension: A retirement plan that pays a set benefit based on a formula, not an investment account balance.

Final average salary: The average yearly pay your plan uses in the formula (often your highest 3 or 5 years, or your last years).

Pension multiplier (accrual rate): The percent you earn each year of service (example: 2% per year).

Normal retirement age: The age when the plan typically pays the full, unreduced pension.

Early-retirement reduction: A cut to the pension if payments start before normal retirement age.

Replacement rate: Your pension as a percent of final average salary.

Present value: A way to estimate what a stream of future payments could be worth as a single lump sum today, using a discount rate. Real pension lump sums may follow IRS-related rules for rates and mortality assumptions. [1] [2]


Methodology

What this calculator estimates

This tool uses a common, generic DB pension formula, then applies an optional simple early-retirement reduction. It can also (optionally) convert the result to today's dollars using an inflation rate, and compute a rough lump-sum present value using fixed-term annuity math. For official numbers, your plan administrator (or PBGC for certain plans) can provide a benefit estimate based on your plan's exact rules and payment option. [3]

Step 1: Unreduced annual pension (generic formula)

unreduced_annual_pension = final_avg_salary * (multiplier_pct/100) * years_service

This is the baseline estimate before any early-retirement reduction.

Step 2: Early-retirement reduction (optional simple model)

years_early = max(0, normal_retire_age - retire_age)

reduction_pct = years_early * early_reduction_pct_per_year

if early_reduction_cap_pct is provided: reduction_pct = min(early_reduction_cap_pct, reduction_pct)

reduced_annual_pension = unreduced_annual_pension * (1 - reduction_pct/100)

If retire_age is at or after normal_retire_age, then years_early is 0, so the reduction is 0%. This model does not increase benefits for retiring after normal retirement age.

Step 3: Convert annual to monthly

monthly_pension = reduced_annual_pension / 12

Step 4: Replacement rate

replacement_rate_pct = 100 * (reduced_annual_pension / final_avg_salary)

If final_avg_salary is 0, the replacement rate is shown as N/A to avoid divide-by-zero.

Optional: Pension in today's dollars (real dollars)

This is only calculated when both current_age and inflation_pct are provided.

years_until_retire = max(0, retire_age - current_age)

today_dollars_monthly = monthly_pension / (1 + inflation_pct/100)^(years_until_retire)

This helps you compare a future monthly pension to prices today. It is a simple inflation adjustment, not a promise of how your plan will add cost-of-living increases.

Optional: Rough lump-sum present value (simple comparison)

This is only calculated when both pv_discount_pct and pv_years_paid are provided. Real pension lump sums can be based on IRS-related segment rates and mortality tables, so this result is for a rough sanity-check only. [1] [2]

r = pv_discount_pct/100

n = pv_years_paid*12

i = r/12

if i = 0: PV = monthly_pension * n

if i != 0: PV = monthly_pension * (1 - (1 + i)^(-n)) / i

Validation and edge-case handling

Required inputs must be valid numbers. Final average salary must be greater than 0, years of service cannot be negative, and the pension multiplier must be greater than 0 (blank is not allowed). Ages must be within a reasonable range (0 to 100). If the reduction percent reaches 100% or more, the pension is set to 0 and a warning is shown because the inputs imply no benefit under this simple model.


Sources