Retirement Readiness Score

The complete 0–100 scoring formula — the nominal projected portfolio, the inflation factor, the five weighted factor scores, and the score bands — plus why the number is a heuristic, not a probability of success.

What the score is

The Retirement Readiness Calculator turns a handful of inputs into a single 0–100 score built from five weighted factors. It is a simplified educational heuristic — a quick directional read, not a year-by-year projection. All of its math runs server-side in RetireCalc.Engine.

The score is not a probability of retirement success. There is no Monte Carlo simulation, no sequence-of-returns modelling, and no detailed tax, RMD, or account-type logic inside the score. For a full year-by-year projection use the Retirement Calculator.

Inputs

  • Current age and planned retirement age.
  • Current annual income and current total savings.
  • Monthly contribution (flat nominal — no raises or escalation).
  • Expected annual return — nominal (before inflation).
  • Inflation rate — default 3%, valid range 0–15%, fractional values preserved. An omitted value becomes 3%; an explicit 0 is a genuine 0%.
  • Planned annual retirement spending (today’s dollars, must be greater than zero).
  • Estimated annual Social Security benefit (today’s dollars).
  • Healthcare-planning score (0–10, entered directly).

Projected portfolio at retirement

Let y = max(1, retirementAge − currentAge) and r = the nominal expected return. The projected balance is the future value of current savings plus the future value of the monthly contributions as an ordinary annuity (contributions at the end of each month), compounded monthly:

projectedBalance = savings × (1 + r/12)12y + monthly × ( (1 + r/12)12y − 1 ) ÷ (r/12)
when r = 0:  projectedBalance = savings + monthly × 12y

This is a nominal future value — dollars of the retirement year, not today’s dollars.

Inflation factor and retirement-year figures

Spending and Social Security are entered in today’s dollars and carried forward to the retirement year with the same inflation factor, so every dollar amount the projected portfolio is compared against is on the same nominal basis:

F = (1 + inflation)y
spendingAtRetirement = spendingToday × F
ssAtRetirement = ssAnnualToday × F
targetAtRetirement = spendingAtRetirement × 25
gapAtRetirement = max( 0, spendingAtRetirement − ssAtRetirement )

The 25× multiplier is the inverse of a 4% withdrawal rate. Because Social Security is grown by the same factor as spending, it is treated as holding constant real purchasing power relative to spending — there is no claiming-age or COLA modelling. This gross 25×-spending benchmark is deliberately different from the Retirement Age Calculator’s target, which nets Social Security out of the portfolio requirement first.

The five factor scores

FactorMax pointsWhat it measures
Savings adequacy30Projected portfolio ÷ a 25× inflation-adjusted spending target
Income replacement25Planned spending as a share of current income (today's dollars)
Withdrawal safety20First-year spending gap ÷ projected portfolio
Longevity coverage15How many years the projected portfolio funds the spending gap
Healthcare planning10Your self-rated healthcare-preparedness score (0–10)

Savings adequacy — 30 points

ratio = projectedBalance ÷ targetAtRetirement
points = min( 30, floor( 30 × ratio + 0.5 ) )

The score rises linearly with the funded ratio and is capped at 30. If targetAtRetirement is zero or negative (only possible with a zero spending input, which the calculator rejects), the factor returns the full 30.

Income replacement — 25 points

A today’s-dollar ratio of planned spending to current income (inflation cancels because both are current-dollar inputs, so it is intentionally left unadjusted):

ratio = spending ÷ income
≤ 0.60 → 25  ·  ≤ 0.75 → 22  ·  ≤ 0.85 → 18  ·  ≤ 1.00 → 12  ·  > 1.00 → 5

If income is entered as 0, the factor returns a neutral 12 rather than dividing by zero.

Withdrawal safety — 20 points

withdrawalRate = gapAtRetirement ÷ projectedBalance × 100  (99 if projectedBalance ≤ 0)
≤ 3.5 → 20  ·  ≤ 4.0 → 17  ·  ≤ 4.5 → 13  ·  ≤ 5.0 → 9  ·  ≤ 6.0 → 4  ·  > 6.0 → 0

Longevity coverage — 15 points

A grow-then-withdraw simulation of the retirement years. It starts with balance = projectedBalance and a first-year withdrawal equal to gapAtRetirement (already inflated to the retirement year — not inflated again). Each year the balance grows at the user’s nominal return, then that year’s withdrawal is subtracted, then the next withdrawal is escalated by the inflation assumption. The count stops when the balance runs out, or at 40 years:

each year:  balance ← balance × (1 + r) − withdrawal;  then withdrawal ← withdrawal × (1 + inflation)
≥ 30 yrs → 15  ·  ≥ 25 → 12  ·  ≥ 20 → 8  ·  ≥ 15 → 4  ·  < 15 → 0

Healthcare planning — 10 points

Your entered 0–10 healthcare-preparedness score, used directly.

Total score and bands

totalScore = savingsScore + incomeScore + withdrawalScore + longevityScore + healthcareScore  (0–100)
ScoreBand
85 – 100Retirement Ready
70 – 84On Track
55 – 69Getting There
40 – 54Needs Work
Below 40At Risk

Limitations

  • A heuristic score, not a probability of success — no Monte Carlo, no sequence-of-returns risk.
  • No taxes, RMDs, or account-type detail inside the score. The return is nominal; contributions are flat nominal.
  • Social Security is modelled only as a constant real offset to spending — no claiming-age math, no COLA forecast, no spousal or survivor benefits.
  • The savings target is a gross 25× spending benchmark, chosen to be simple and comparable across users — not a personalised portfolio requirement.

Related guides: Retirement Readiness Guide · Retirement Planning Guide