✦ Retirement Stress Test

Would your retirement survive a 2008-style crash the year you stop working?

What could break my retirement plan? Most projections show one smooth line — this calculator runs your numbers through 4 canonical stress scenarios (crash at retirement, longevity, Social Security cut, Lost Decade) and ranks them by impact, so you know which risk is actually the one worth worrying about. Drop it into your own article in one script tag, and it looks like it was built for your site, not bolted onto it.

Complementary to <retirement-calc-resilience> (single sequence-risk scenario, deeper) — Stress Portfolio gives the multi-scenario ranked view, Resilience gives the single-scenario verdict.

Full explanation: A Market Crash When You Retire →

See it in context

Here's exactly what that looks like — a live instance embedded inside a sample article, using someone else's fonts and colors, not ours.

downturnready.com/blog/does-your-plan-survive-a-crash-at-retirement
Retirement Risk · 7 min read

Your Plan Says "95% Success." A Crash In Year One Doesn't Care.

DR
Downturn-Ready
Market-crash stress-testing for retirement plans

Clients bring us a number — a success rate, a projected balance, a monthly income figure — and treat it as settled. It isn't. That number was almost certainly built on an average return path. Retirement doesn't happen on an average path. It happens on one specific sequence of returns, and which sequence you get is the single biggest swing factor most projections never show you.

Why timing beats magnitude

A 35% market drop is the same 35% drop whether it happens in your first year of retirement or your tenth. But the damage it does to your plan is not the same at all. Early in retirement, you're withdrawing from a portfolio that just got smaller — so the same dollar withdrawal represents a much bigger bite out of a shrunken balance, permanently reducing the shares left to recover when the market does. Five or ten years in, that same crash lands on a portfolio that's had time to compound, and the withdrawals it's already survived have proven the plan resilient. This is sequence-of-returns risk, and it's the reason two retirees with identical average returns over 30 years can have wildly different outcomes depending on nothing but when the bad years landed.

What an average-return projection hides

Spreadsheet models built on a single assumed return — "we'll assume 6% a year" — are mathematically incapable of showing sequence risk at all. They smooth every year into the same number, which means a crash literally cannot be modeled. That's not a minor simplification; it's the exact risk that has derailed real retirements, hidden entirely by the tool meant to plan for it.

A plan that only survives the average future isn't a plan — it's a guess wearing a spreadsheet.

What "surviving" a historical scenario actually shows

Running your real numbers through a crash-at-retirement scenario, a longer-than-expected lifespan, a Social Security benefit reduction, and a prolonged low-return decade doesn't predict the future — no model does. What it demonstrates is whether your plan has enough structural slack to absorb a genuinely bad outcome, not just an average one. If one of those four stresses drops your success rate sharply while the others barely move it, you've just learned exactly where your plan's real fragility lives — which is a far more useful thing to know than a single reassuring percentage.

A worked example

A 55-year-old retiring at 65 with $1.09M saved and a $2,400/mo Social Security benefit at 67 shows an 87% success rate under normal simulation — a plan that looks solidly on track. Run the exact same numbers through a crash-at-retirement stress (the market drops sharply in year one instead of following an average path) and the same plan drops to 28%. Nothing about the plan changed; only when the bad year landed did.

What happens when two risks hit at once

This calculator tests four stresses one at a time — deliberately, so you always know exactly which one moved the number. But real trouble doesn't always arrive alone, and a crash landing the same year as a forced early retirement or a Social Security cut can be meaningfully worse than either risk suggests by itself, because the first one eats the buffer the second one needed. The full app's Combined Risk Scan stacks validated risk pairs against your real plan and reports honestly whether any combination compounds — and when one does, prices the fix (dynamic spending guardrails) against your own worst pair.

Try it with your own numbers

Adjust the sliders to the right — current age, nest egg, spending goal, Social Security — and see which of the four stresses actually threatens your plan, ranked by impact. No signup, and nothing entered leaves the browser.

Try it

That's the exact <retirement-calc-stress> widget, unmodified — same script tag, same math as the full app. See the full picture → · Jump to the embed code ↓

For developers

Everything below is for embedding this calculator on your own site — integration code, theming, and events.

Live demos

Default (single 55yo, $800K, $5K goal, $2.2K SS)

Themed (household, $1.5M, retiring at 62)

Preview your theme

Pick colors that match your site, then copy the CSS snippet at the bottom.

Theme colors

Big number, slider thumb, CTA button
#4f8ec9
Outer surface of the calc
#ffffff
Result area + toggle background
#f7f9fc
Title, slider values, result subline
#1a1f2e
retirement-calc-stress {
  --rc-accent: #4f8ec9;
  --rc-bg: #ffffff;
  --rc-surf: #f7f9fc;
  --rc-text: #1a1f2e;
}

Integration code

Drop this into your HTML:

<script src="https://app.retirementscenario.com/embed/v1/stress.js"></script>

<retirement-calc-stress></retirement-calc-stress>

Or pre-seed values relevant to your audience:

<retirement-calc-stress
  plan-type="household"
  current-age="60"
  retirement-age="65"
  nest-egg="1000000"
  monthly-goal="6000"
  ss-fra-benefit="2500"
  life-expectancy="90"
  expected-return="6">
</retirement-calc-stress>

Attributes

AttributeDefaultRange
plan-typesinglesingle or household
current-age5530 – 80
retirement-age6545 – 80
nest-egg800000100,000 – 10,000,000 (portfolio at retirement)
monthly-goal50001,000 – 30,000 (monthly spending target)
ss-fra-benefit22000 – 5,000 (SS at full retirement age — typical SSA statement number)
life-expectancy9070 – 105
expected-return62 – 12 (% expected pre-retirement nominal return)
refsrc(none)partner attribution tag

Honest scope: 4 canonical stresses chosen to span distinct risk dimensions (market timing, longevity, policy, prolonged returns). Doesn't include healthcare shock (requires fiddly baseline setup) or pure high inflation (engine's all-pass-through model makes it neutral for SS-heavy plans). SS-cut stress assumes 20% benefit reduction — the same figure the full app's Stress Test card uses (the trust-fund shortfall projected around 2033). Single retirement horizon; full app handles staggered/multi-event plans. 5× MC (~3-5 sec total compute).

Theming

Override CSS custom properties on the host:

retirement-calc-stress {
  --rc-accent: #ff6b35;    /* primary color */
  --rc-bg: #ffffff;        /* card background */
  --rc-surf: #f7f9fc;      /* sub-surface (result area) */
  --rc-text: #1a1f2e;
  --rc-muted: #6a7280;
  --rc-border: rgba(20,30,50,0.10);
  --rc-radius: 12px;
}

Events

The element emits two custom events you can listen to:

document.querySelector('retirement-calc-stress')
  .addEventListener('rc-calculated', (e) => {
    console.log('Baseline success rate:', e.detail.baselineSR);  // %
    console.log('Biggest risk:', e.detail.biggestRisk);          // label string
    console.log('All stresses ranked:', e.detail.stresses);      // array sorted by impact (worst first)
  });

document.querySelector('retirement-calc-stress')
  .addEventListener('rc-cta-clicked', (e) => {
    console.log('User clicked CTA to:', e.detail.url);
  });