Wealth Calculators

Project compound growth, or stress-test a retirement target with Monte Carlo simulation.

JZ
v0.2 · Personal
Mode

Pick what you want the calculator to solve for. Everything else uses market-average defaults — no advanced inputs to fiddle with.

Your Numbers
Current Age
 
Monthly Spend in retirement, today's $
$
After-tax dollars at today's prices.
Current Investments invested today, not cash
$
Brokerage, 401(k), IRA, HSA. Exclude cash & emergency fund.
Current Monthly Investment what you save monthly
$
Dollar amount across all retirement accounts.
Computing…
YOU CAN RETIRE AT
Defaults & Assumptions

This Quick Plan uses these market-average assumptions so you don't have to think about them:

  • Real return: 6% now → 4% at retirement (glide path: portfolio gradually de-risks as you age)
  • Volatility: 15% now → 8% at retirement
  • Real wage growth: 1% (your contributions scale with income)
  • Annual fees: 0.1% (assumes index funds)
  • Tax rate on withdrawals: 12% (typical retiree)
  • Pre-tax % of investments: 70% (most savings in 401(k) traditional)
  • Pre-Medicare healthcare: $1,500/mo extra until age 65 (auto-zeros if you retire at 65+)
  • Spending profile: flat in real terms throughout retirement
  • Life expectancy: 90 years
  • Target confidence: 80% probability money lasts to life expectancy
  • Employer match & Social Security: $0 (conservative — overestimates required savings if you have either; for an honest answer with these, use the full Retirement · Monte Carlo tab)

The Monte Carlo simulation under the hood is identical to the full Retirement · Monte Carlo tab — same 5,000-trial decumulation model, same horizon-adjusted SWR, same SS claim-age table. The only difference is that all advanced inputs are pinned to defaults here.

Inputs

Contributions are held constant in today's dollars (auto-escalated for inflation).

Starting Net Worth
$
Liquid only — investable assets.
Annual Growth Rate
%
S&P 500 ≈ 10%/yr long-run · 60/40 ≈ 7% · bonds-heavy ≈ 5%
Annual Inflation
%
US long-run avg ≈ 3% · Fed target 2% · last decade ≈ 2.5%
Monthly Contribution today's dollars
$
Held constant in real terms — escalates with inflation.
Time Horizon
yrs
Years until you need the money.
Nominal Ending Balance
Future dollars
Real Ending Balance
Today's dollars · purchasing power
Total Contributed
Growth
Earnings on top of contributions
Year-by-year breakdown
Methodology

Inputs

  • Starting net worth (P) — initial balance, in today's dollars.
  • Annual growth rate (g) — nominal annual rate of return on the portfolio.
  • Annual inflation (i) — annual rate at which prices rise.
  • Monthly contribution (C₀) — in today's dollars; auto-escalates with inflation so its real value stays constant.
  • Time horizon (Y) — number of years invested.

Per-period rates

Annual rates are converted to monthly by dividing by 12 (nominal / APR convention, same as Money Guy's calculator):

r_g = g / 12        (monthly growth rate)
r_i = i / 12        (monthly inflation rate)
N   = Y × 12        (total months)

Monthly loop

1. Apply growth:   total = total × (1 + r_g)
2. Inflate C:      C_m = C₀ × (1 + r_i)^(m − 1)
3. Add C_m:        total = total + C_m

Contributions are added at month-end (ordinary annuity convention).

Real (today's dollars)

real(y) = nominal(y) / (1 + r_i)^(12 × y)

Assumptions

  • Returns are constant — no volatility or sequence-of-returns risk modeled. Use the Monte Carlo tab for that.
  • No taxes, fees, or withdrawals.
  • End-of-month contribution timing.
Timeline how long you have
Current Age
 
Retirement Age
When you stop earning income.
Life Expectancy
SSA actuarial: ~80 (M) / ~84 (F) for current 65-yr-olds. Plan 5–10 yrs past for safety.
Money & Career what you have, spend, and earn
Monthly Spend in retirement, today's $
$
After-tax dollars at today's prices.
Current Investments invested today, not cash
$
Brokerage, 401(k), IRA, HSA, etc. Exclude emergency fund & checking.
Real Wage Growth above inflation
%
US long-run avg ≈ 0.5–1.5% · early-career often 2–3% · 0 if wages just track inflation
Employer Match $/month, today's $
$
Avg US 401(k) match ≈ 4–5% of salary · e.g. $80k × 4% / 12 = $267/mo
Retirement Spending spending profile + early-retirement healthcare
Spending Profile
"Smile" reflects spending decline mid-retirement (Blanchett 2014).
Pre-Medicare Healthcare extra $/mo until age 65
$
Marketplace insurance + OOP. ~$700–1,500/mo individual · $1,500–2,500 household, before subsidies. Auto-zeros if you retire at 65+. Set to $0 if employer retiree health.
Social Security & Taxes benefit + tax-bracket adjustments
SS at FRA monthly @ age 67
$
Estimated full benefit at FRA (67). Avg ≈ $1,900/mo (2024) · ssa.gov/myaccount
SS Claim Age when you start SS
62 ≈ 70% of FRA · 67 = 100% · 70 ≈ 124% (delayed credits)
Tax Rate on portfolio withdrawals
%
Effective rate. ~12% typical retiree · 22%+ high pre-tax + bracket · 0% if all Roth/HSA
Pre-Tax % share of investments
%
% in 401(k) traditional / traditional IRA. Roth/HSA = 0% pre-tax
Market Assumptions · Glide Path return + volatility, now and at retirement
Real Return Now after inflation, before fees
%
Stock-heavy ≈ 6–7% · 60/40 ≈ 4–5% · bonds-heavy ≈ 1–2%
Volatility Now annual stddev
%
100% stocks ≈ 15–18% · 60/40 ≈ 10% · bonds ≈ 5%
Real Return at Retirement glide-path end
%
Lower if you'll de-risk. 60/40 ≈ 4% · bonds-heavy ≈ 2% · same as "now" disables glide
Volatility at Retirement glide-path end
%
Lower if you'll de-risk. 60/40 ≈ 10% · bonds-heavy ≈ 5%
Simulation Settings fees, confidence, trials
Annual Fees expense ratio + advisor
%
Index funds ≈ 0.05–0.20% · 401(k) avg ≈ 0.4–0.8% · advisor add 0.5–1%
Target Success Probability
% of MC trials where money lasts to life expectancy.
Trials
More trials = stabler tails.
Computing…
Reference Target · 4% Rule
25× annual spend, in today's $
Required Monthly Investment
If Markets Were Steady
What you'd need to invest if every year hit the average return — money lasts exactly to life expectancy.
Odds Money Lasts
Projection · Full-Life Monte Carlo Fan

Outcomes from today through end of life if you invest the required amount each month. Accumulation grows the balance; decumulation draws it down. Dark band = middle 50% of trials, light band = middle 90%. Dashed line = reference target.

Outcome percentiles at retirement
Methodology

1 · Two-phase, full-life simulation

Unlike a calculator that just asks "do you hit 25× by retirement?", this runs your entire timeline — accumulating from today to retirement, then withdrawing through end of life — and reports the probability your portfolio survives. The 4% rule is shown as a reference benchmark, not the optimization target.

2 · Reference target (horizon-adjusted SWR + healthcare buffer)

Net of Social Security, grossed up for taxes, with a withdrawal rate that auto-adjusts to your retirement length, plus the present value of any pre-Medicare healthcare bump.

Withdrawal rate by horizon (Bengen / Trinity / FIRE-community consensus — the 4% rule is calibrated for 30-year retirements; longer horizons need a lower rate to survive sequence-of-returns risk):

30 yrs → 4.0%   (linear interpolation between)
40 yrs → 3.5%
50+ yrs → 3.0%

Reference target formula:

ss_actual         = ss_at_FRA × claim_age_factor
net_spend         = max(0, monthly_spend − ss_actual)
gross_up          = 1 / (1 − pretax_share × tax_rate)
swr               = horizonSWR(life_expectancy − retire_age)
baseline_target   = (net_spend × 12 × gross_up) / swr

years_pre65       = max(0, min(65, life_expectancy) − retire_age)
pre65_buffer_PV   = PV of (pre65_health × 12 × gross_up) for years_pre65
                    discounted at (real_return_at_retirement − fees)

reference_target  = baseline_target + pre65_buffer_PV

The MC simulation actually exercises this — it draws down the portfolio year by year through retirement, with the pre-65 healthcare bump applied automatically until age 65 — so the "Required Monthly Investment" stat is the honest answer; the reference target is just the heuristic benchmark for comparison.

2a · Pre-Medicare healthcare bump

For retirees younger than 65, an additional monthly cost (default $1,500/mo, household-typical) is added to spending each year until Medicare eligibility kicks in at 65. Marketplace insurance + out-of-pocket runs roughly $700–1,500/mo per person before subsidies, often higher for households or those with health conditions. Set to $0 if you have employer-sponsored retiree health, qualify for ACA subsidies, or otherwise don't need to budget extra.

If you retire at 65+, the bump auto-zeros (no early-retirement years to apply to). The bump is grossed up for taxes the same way regular spending is, since it's also funded from the portfolio. Note: real-world healthcare cost inflation typically runs 1–2% above CPI; we keep it constant in real terms here for simplicity — bump the input value if you want to budget for that drift.

3 · Glide path on returns and volatility

Real portfolios get more conservative near retirement. We linearly interpolate both the mean return and volatility from "now" to "at retirement" over the accumulation phase, then hold at the "at retirement" values through decumulation:

mu_y    = mu_now    + (mu_retire    − mu_now)    × y / years_to_retire
sigma_y = sigma_now + (sigma_retire − sigma_now) × y / years_to_retire

Setting "at retirement" equal to "now" disables the glide path (constant assumptions throughout).

4 · Social Security claim-age adjustment

Your stated benefit is at Full Retirement Age (FRA = 67). If you claim earlier or later (per SSA's actuarial table):

62 → 70%   |  63 → 75%   |  64 → 80%
65 → 86.7% |  66 → 93.3% |  67 → 100%
68 → 108%  |  69 → 116%  |  70 → 124%

If your SS claim age > retirement age, there's a "gap" period during which the portfolio funds 100% of spending.

5 · Spending profile

"Flat" assumes constant real spending throughout retirement. "Smile" applies a –1%/year real decline for the first 15 years (then flat at 85%) — a documented pattern (Blanchett 2014, Bengen) where retirees naturally spend less in middle retirement years. We don't model the late-life healthcare uptick separately.

6 · Tax adjustment

Withdrawals from pre-tax accounts (401k traditional, traditional IRA) are taxed as income; Roth and HSA withdrawals are tax-free. We approximate the blended effect:

effective_withdrawal = monthly_spend / (1 − pretax_share × tax_rate)

The portfolio must fund this larger gross amount each month so the post-tax received equals your stated spend. We do not separately model SS taxation, taxable-account dividend tax, or capital gains on rebalancing.

7 · Monte Carlo loop

balance = current_investments
mult    = 1
for each year y in 1..(life_expectancy − current_age):
    {mu_y, sigma_y} = glide-path values
    return_y        = (mu_y − fees) + sigma_y × randn()
    balance        *= max(0.01, 1 + return_y)

    if y ≤ years_to_retirement:
        balance += 12 × (user_C + employer_E) × mult
        mult    *= (1 + real_wage_growth)
    else:
        spend_factor = 1 (flat) or smile(y − years_to_retire)
        ss_now       = (age ≥ ss_claim_age) ? ss_actual : 0
        net_withdraw = 12 × (effective_spend × spend_factor − ss_now)
        balance     -= net_withdraw
        if balance < 0: balance = 0; trial_failed = true

trial succeeds if balance never hit 0 throughout life

8 · Solving for the required investment

Deterministic version ("If Markets Were Steady"): runs the same loop with sigma=0, finds the user contribution that leaves balance exactly at zero at end of life. The simulation is linear in C, so we use 2-point linear interpolation: F(0) and F(1), then C* = −F(0) / (F(1) − F(0)).

Probabilistic version ("Required Monthly Investment"): binary-searches the user contribution where the fraction of MC trials surviving (positive balance throughout) equals the chosen target probability.

9 · What the chart shows

  • Median (P50) — solid line; half of trials end above, half below.
  • P25–P75 band — middle 50% of outcomes.
  • P5–P95 band — middle 90% of outcomes.
  • Dashed line — the after-tax, SS-net 4% reference target.

The chart spans your full life: you'll see the balance grow during the accumulation years, peak around retirement, then decline as you withdraw. Trials that hit zero stay flat at the bottom.

What this still does NOT model

  • SS taxation (up to 85% of SS income can be federally taxed).
  • Required Minimum Distributions (forced withdrawals at 73-75 from pre-tax accounts).
  • Withdrawal sequencing across account types (taxable → tax-deferred → Roth is typically optimal).
  • Asset-location tax efficiency.
  • Healthcare cost inflation (typically 1–2% above CPI).
  • Long-term care or other end-of-life cost spikes.
  • Returns assumed normal — real markets have fatter tails.
  • Returns assumed independent year-to-year — no autocorrelation, mean reversion.
  • Spousal benefits, joint life expectancy, survivor benefits.
  • Geographic cost-of-living differences or in-retirement relocation.
  • Lump-sum events: inheritance, home sale, kids' college.
Assumptions

Each cell shows the % of your annual income to invest, starting from $0, to replace your income at retirement using the 4% rule. Adjust assumptions to see how the table shifts.

Income Replacement % of pre-retirement income
%
80% is a common rule of thumb (you spend less in retirement).
Inflation
%
US long-run avg ≈ 3% · Fed target 2%
Wage Growth
%
Set equal to inflation for flat real wages.
Withdrawal Rate
%
4% Trinity rule · 3.5% for early retirement (40+ yr horizon)
Required Investment Rate · Heat Map

Rows = your current age. Columns = your target retirement age. Color = how aggressive that rate is.

↓ Current Age  ·  → Target Retirement Age
≤ 25% · achievable 25–50% · aggressive > 50% · severe N/A · > 90% required
Methodology

What each cell means

The cell at row A (current age) and column R (retirement age) shows: "if you currently have $0 invested, what % of your annual income do you need to invest every year — held constant as a % of your growing income — to be able to retire at age R and replace 80% of your then-current income, assuming 4% withdrawals?"

Lifetime return assumption

Following Money Guy's published convention, the assumed nominal annual return depends on your current age:

r_nominal(age) = max(5.5%, 10% − 0.1% × (age − 20))

So a 20-year-old uses 10% throughout the projection, a 30-year-old uses 9%, a 40-year-old uses 8%, and so on, floor at 5.5% by age 65. The idea: younger people can hold more equity exposure for longer.

Real return

To work in today's dollars, the nominal return is converted to a real (inflation-adjusted) return:

r_real = (1 + r_nominal) / (1 + inflation) − 1

Real income trajectory

If wage growth equals inflation (the default 3% / 3%), real income is constant at $1. Otherwise it grows at the real wage growth rate:

g_real = (1 + wage_growth) / (1 + inflation) − 1
real_income(year y) = (1 + g_real)^y

Target portfolio (4% rule, in today's dollars)

Replace p of your future real income at withdrawal rate w:

target_real = (p × real_income_at_retirement) / w
            = (0.80 × (1 + g_real)^N) / 0.04
            = 20 × (1 + g_real)^N

(With the default 3%/3% assumption, this just equals 20× current real income.)

Solving for the savings rate s

If you contribute s × real_income(y) at the start of each year for N years, the future value (in real $) is:

FV = s × R × (g^N − R^N) / (g − R)
   where g = 1 + g_real,  R = 1 + r_real

Set FV = target_real and solve for s. Cells where s > 90% are shown as N/A — the goal is mathematically possible but not realistic.

Verified against Money Guy's published table

Spot-checked across the table: most cells match exactly, a handful differ by 1pp due to rounding/convention differences in their internal calculation. The math here is the standard FV-of-growing-annuity formula and is reproducible from the assumptions above.

What this does NOT account for

  • Existing investments. The table assumes $0 starting balance — use the Monte Carlo tab to factor in current investments.
  • Volatility. Like the original, this is a deterministic / "if returns hit average" projection.
  • Taxes, fees, employer match, social security.
  • Variable income or career interruptions.