Without the appointment. Without the subscription.
Your real retirement numbers. Honestly. In five minutes.
0
Success
Very strong — portfolio survives to age 90
Across 1,000 simulations of your real numbers.
Median ending balance: $2.85M.
Age 67
SS begins
Age 73
RMDs start
$36K
Tax this year
A retirement decision platform that does the work of professional software — Monte Carlo simulation,
actuarially correct Social Security, tax-optimal withdrawal modeling — without
the cost, the appointment, or the account signup.
Free to calculate$79 one-time to optimizeNo subscription. Ever.
The middle is empty
Most retirement tools fail in one of two ways.
Free calculators don't take you seriously. Subscription software demands
an hour of setup before you see an answer. Both miss the largest segment
of people who just want to know where they stand.
Free + dumb
4%-rule calculators that don't engage with your situation.
They're funnels into wealth management or insurance products — not real planning tools.
Paid + complex
$144/year subscriptions that demand 30 minutes before delivering an answer.
Designed for people who enjoy financial planning as a craft. Most people don't.
Retirement Scenario Explorer
A real answer. In five minutes. $79 once if you want to go further.
Your actual numbers. Plain language. No appointment.
No subscription. No account required to calculate.
How it works
From "where do I start" to "I know exactly what to do."
01
01 · Tell us about you
Start in plain language. No jargon.
The way you'd describe your situation to a friend is the way you can describe it to us.
We turn it into a real plan automatically — no financial vocabulary required.
Your plan
Current age
years
Household
Just meMarried
Saved for retirement
$
Target retirement age
62656770
Social Security claim age
62656770
Monthly spending goal
$/mo
Building your plan…
AI Advisor
Quick way to get started — just tell me about your situation. Where are you now, where do you want to go? I'll turn it into a real plan.
You
Got it. Let me run the numbers…
02
02 · See the answer
1,000 simulations. One real answer.
We run your actual situation through a thousand market futures — not a 4% rule, not a guess.
You see a clear verdict and the numbers behind it. The math you'd expect from professional software.
Simulating
TodayAge 70Age 80Age 90
0/ 1,000 simulations
Running…
Your result
0
Success
Solid — but bridge years thin
78% of simulations sustain through age 90.
Years 65–67 are the soft spot.
↗
$7,500/mo
Your Income Picture
At goal
↗
$3.2K/mo
Guaranteed Income
SS + pension
↗
$420K
Nest Egg
$2.4M projected
↗
Age 67
SS Claiming
$2,940/mo at FRA
↗
2 years
SS Bridge
Age 65 → 67
↗
$1,470/mo
Spousal Coordination
Spouse benefit
Want to know why? Ask the advisor→
03
03 · Change the answer
Pick what matters. Smart Moves surfaces the rest.
Four retirement goals. The app reads your numbers and surfaces the moves that actually shift each one — not a generic checklist, the ones the math says will work for you. Toggle a move on and watch the projection change.
Smart Moves
Pick a retirement goal:
Retire earlierSpend moreLeave a legacyWeather a downturn
Moves that apply to your numbers
✓
Max your 401(k)
Tax-deferred
✓
Max your Roth
Tax-free growth
✓
Phase your retirement spending
Late-life draw
✓
Start an HSA
Triple tax-free
Your projection
Goal: retire earlier — same lifestyle
Stack four moves. Get years back.
Today's earliest
Age 65
→
With these moves
Age 65
Pick moves to see the impact
Projection, not prediction. Each move is modeled against your real numbers — you decide which ones fit your actual life.
04
04 · Have a real conversation
Not a chatbot. A retirement concierge.
The advisor reads your numbers, navigates the app, and proposes specific changes — you stay in control of every decision. Ask anything. Watch your plan respond.
Your plan
My Plan
Projection
Results
Stress Test
Current age
52
Retirement age
65
Social Security claim age
67
Monthly spending
$7,500
Plan updates as you change inputs.
Portfolio over timeBridge years 65–66
60708090
Age
SS Monthly
Portfolio Draw
End Balance
62
$0
$0
$510K
64
$0
$0
$575K
65
$0
$7,500
$485K
66
$0
$7,500
$405K
67
$2,940
$4,560
$365K
70
$2,940
$4,560
$310K
80
$2,940
$4,560
$185K
78
Success
Solid — bridge years thin
Retire at 65, claim SS at 67.
+$11.4K/yr
More Social Security
+$168K
Lifetime benefit
+13pp
Success rate
Recalculating…
AI Advisor
You're at 78% — solid. Ask me anything about it.
?
→Suggested change
Set Social Security claim age = 70
05
05 · Where the money flows
Where the money comes from. Where it goes.
Retirement isn't just spending down savings. Real income flows from Social Security, pensions, and your portfolio — split across living, taxes, and healthcare. See the whole picture, not a single number.
Your portfolio is one source among three — not the whole story.
Tax weight
Taxes are often the second-largest expense in retirement, ahead of healthcare.
Real headroom
See exactly where each dollar goes — not just whether you "have enough."
06
06 · Test what could break it
Honest about what could go wrong.
Real retirement risks aren't averages — they're sequences of returns, healthcare shocks, longevity. Test your plan against each one. See exactly which threats move the needle, and by how much.
Stress scenarios against your plan
Your plan91%success
Market crashes early
−0pp
drops to 91%
Sequence-of-returns risk in years 1–3
Crash severity−25%
−10%−25%−40%
Long-term care event
−0pp
drops to 91%
3 years of memory care at age 80
Inflation hits 5%
−0pp
drops to 91%
Sustained for 5 years mid-retirement
Live to 100
−0pp
drops to 91%
10 extra years of withdrawals
Spouse passes early
−0pp
drops to 91%
Loss of one Social Security check
Bond returns drop
−0pp
drops to 91%
Real returns near zero for a decade
Even worst-case stays in the recoverable range — and your advisor can recommend specific moves to soften each one.
AI ADVISOR
→
AI Advisor
10 / 10×
I see you just stress-tested a severe market crash.
At −40%, your plan drops to 62% — that's where it gets uncomfortable. The fix is a 2-year bridge fund.
Want me to size the bridge fund and apply it to your plan?
07
07 · Some plans need a human
Built to be shared.
We don't try to keep everyone. We try to be the place that helps you know what you need next.
AI Advisor
10 / 10×
Running deep analysis…
01Overall assessment
Strong plan with a 91% success rate. Your bridge years are well-funded and your withdrawal sequence is tax-efficient.
02Key risks
A severe early market crash would drop you to 62%. Long-term care costs are the second-largest exposure.
03Recommended moves
Add a 2-year bridge fund. Consider long-term care coverage between ages 60-65, when premiums are still reasonable.
📄Analyze and export
Your Retirement Plan
May 2026 · Generated by RetirementScenario.com
Plan summary
91%
Success rate
65
Retirement age
$7,500
Monthly income
Projection through age 90
Analysis & recommendations
Overall assessment
Strong plan with a 91% success rate. Your bridge years are well-funded and your withdrawal sequence is tax-efficient.
Key risks
A severe early market crash would drop you to 62%. Long-term care costs are the second-largest exposure.
Recommended moves
Add a 2-year bridge fund. Consider long-term care coverage between ages 60-65, when premiums are still reasonable.
↓Export plan · take it to your CFP
08
08 · Stay on course
Plans go stale. Check in.
Life moves. The market moves. Your numbers move. Save a check-in whenever something changes — a raise, a spending bump, a market drop — and watch the plan hold or drift over time. The AI Advisor reads the trajectory and tells you what's actually driving it.
Your check-ins
Tracked over time
1 check-in
Success rate
72%
Sustainable spend
$7,200/mo
Nest egg at 90
$480K
Jun 2025
72%
Baseline
—
Dec 2025
79%
Maxed 401(k)
+7pp
Today
84%
Pushed retirement to 66
+5pp
+Save a check-in
AI Advisor
Reading your trajectory
You're up 12 points since your June baseline. Both changes carried it.
What helped
Maxing the 401(k) added 7 points — your account had headroom. Pushing retirement to 66 added another 5 and held your spending plan in place.
What's next
Maxing your Roth could add another 3–4 points and stack tax-free growth into your bridge years. Want me to model it?
Ask me to model another move
Pricing
No subscription. No account. Just answers.
Free does the math. Navigator does the planning — $79 once, no subscription.
The AI Advisor that reads your plan — 25 deep analyses · 50 conversations
Smart Moves — the moves that get you to retire earlier, spend more, leave a legacy, or weather a downturn
Deep Search — seven optimizers that search your plan for the best answer: the couple's Social Security claim, your coordinated bridge plan (Roth conversions + gain harvesting), what your plan hinges on, solve-for-any-goal, how much you can really afford to spend, whether two risks compound, and one-click Deep Scan
AI Plan Score — holistic plan strength beyond raw Monte Carlo
Save scenarios · compare side-by-side
PDF export — for your CFP, your family, your records
Most retirement questions don't have rule-of-thumb answers — they have your-numbers answers. Here's what the platform helps you figure out, and why these questions are harder than they look.
The first conversation about retirement. Not the last.
Some people leave reassured.
Some go deeper into specialized software.
Some book a CFP appointment.
All three are wins.
We don't try to keep everyone — we try to be the place that helps you know what you actually need next.
CFP
Boldin
ProjectionLab
RetirementScenario
Price
$200–500 / hour
$144 / year
$109 / year
$79, once
First answer
3+ weeks (book)
1–2 hours setup
30+ min setup
5 minutes
AI Advisor
Human (limited)
Bolted-on, shallow
None
Yes, deep
Privacy
Full disclosure
Account required
Account required
No account
Best for
Complex life events
Planning as a craft
Serious FIRE workflow
A clear first answer
Choose us if you want clarity fast — no subscription, no account, no waiting room.
Why you can trust this. And how we keep it that way.
The math
Every formula. Every assumption. Every source.
A retiree with $100K in brokerage gains and $40K in Social Security pays roughly $5,000 more in tax than free calculators predict — because most ignore that brokerage gains push your Social Security into higher tax tiers. We model the IRS rules properly. Details like that matter.
No account, no database — your inputs stay in your browser, and we never sell them or use them to train AI.
State impact, same plan
$1.5M nest egg, $7,500/mo goal, retire 65, married. Run the same plan in four different states:
Florida
$8.05M
No state income tax
Pennsylvania
$7.96M
Excludes retirement income
New York
$7.39M
4.5% effective on retirement income
Minnesota
$7.01M
6.09% rate + taxes Social Security
Same inputs. Different state tax codes. Over a million dollars of difference at life expectancy. Most calculators ask for one state-tax percentage and apply it to every dollar — we use the real structure for each state, including which exclude pensions, which tax Social Security, and which apply preferential capital gains rates.
The engine
How we keep the math honest.
For FIRE planners
5–15 years from FIRE? You'll find what you need.
🔥Built for the FIRE-specific questions that matter.
For standard FIRE — W-2 income, 401k/IRA, brokerage, the classic accumulate-and-withdraw arc — this may be enough on its own. For deep multi-asset craft modeling, ProjectionLab and cFIREsim go further. Send us to anyone who wants a real answer without making retirement modeling a hobby.
You've been meaning to figure this out. Today's a good day.
Five minutes from where you are now to knowing where you stand.
No appointment, no signup, no subscription.
Questions, bug reports, feature requests — all welcome. I read every message.
🔒 The short version: There's no account, no server, and no database — your inputs live in your browser. The two exceptions, both opt-in: the AI Advisor and Share links send your numbers (anonymized) out, detailed below.
What we collect
Nothing by default. RetirementScenario.com has no backend server, no database, and no user accounts. The retirement numbers, assumptions, and scenarios you enter are stored in your browser's local storage — on your device. The only times anything is sent out are when you opt into the AI Advisor or create a Share link, both described below.
What stays on your device
All of your inputs (age, savings, income, goals), all calculated results, and any scenarios you save are stored locally in your browser. If you clear your browser data, that information is gone — we have no copy of it.
Payment processing
If you upgrade to Navigator, payment is processed by Stripe. We receive confirmation that a payment was made, but Stripe handles all financial data. We do not store your credit card number or billing details. You can review Stripe's privacy policy at stripe.com/privacy.
Analytics
We use PostHog for anonymous product analytics — which features are used, which buttons are clicked, where users drop off. These events are tied to a randomly-generated local UUID, not to any personal identifier. No financial inputs, retirement numbers, or AI Advisor conversations are sent to PostHog. You can review PostHog's privacy practices at posthog.com/privacy.
AI Advisor data
When you use the AI Advisor, the numbers from your plan (anonymized — no name, account numbers, or institution names) are sent to our API and forwarded to Anthropic for processing. We do not log the request contents or store conversation history on our servers. Anthropic processes the request to generate the response and returns it to your browser. Their privacy practices are documented at anthropic.com/privacy.
Share links
When you click "Share Your Plan" and copy a link, the scenario inputs in your plan are encoded into a URL and sent to our short-link provider, short.io, which generates a shorter URL on link.retirementscenario.com for easy sharing. The encoded data contains only the numbers you've entered — no name, account information, or anything that identifies you. short.io may log clicks on the short link as part of their normal redirect service. You can review their privacy practices at short.io/privacy. This is the only situation in which any plan data leaves your browser, and only when you explicitly choose to share.
Cookies
We use a session cookie solely to track whether you've completed the onboarding wizard in this browser session. It contains no personal information and is not used for tracking or advertising.
Contact form and newsletter
If you submit our contact form or sign up for our newsletter, we receive your email address and any message you send. These are processed by Resend (our email provider) and stored only to enable us to respond and (for newsletter subscribers) to send periodic updates. We do not share email addresses with anyone, and you can unsubscribe from the newsletter at any time.
Third-party sharing
We do not sell, rent, or share any user data with third parties, because we do not have any user data to share.
Children
This service is intended for adults planning for retirement. We do not knowingly collect information from anyone under 18.
Changes to this policy
If we change this policy in a meaningful way, we'll update the date at the top. The current version always lives at retirementscenario.com.
Contact
Questions? Use our contact form at the bottom of the page.
⚠️ RetirementScenario.com is a planning tool, not a licensed financial advisor. Nothing here is financial, tax, investment, or legal advice. Always consult a qualified professional before making retirement decisions.
What this tool is
RetirementScenario.com provides a retirement planning calculator and scenario modeling tool for educational and informational purposes. It is designed to help you think through retirement decisions — not to replace professional financial advice.
Not financial advice
All projections, estimates, scenarios, and outputs generated by this tool are hypothetical and based solely on the inputs you provide. They do not account for all real-world variables. Past performance of markets does not guarantee future results. We make no representation that any projection will be achieved.
No guarantee of accuracy
We work hard to make the calculations accurate, but we make no warranty that the tool is free from errors. Tax laws change. Social Security rules change. Economic conditions change. You are responsible for verifying any figures that inform real decisions.
Feature changes
Features available on RetirementScenario.com may be added, modified, removed, or improved over time as the product evolves. Features in your tier of access at time of purchase will continue to be available; new features added in the future may be made available to existing users at our discretion. We will not retroactively remove core features that you paid to access.
Your responsibility
By using this tool, you agree that: (a) you are using it for personal, informational purposes only; (b) you will not rely solely on its output for major financial decisions; (c) you will consult a licensed CFP, CPA, or other qualified professional for advice specific to your situation.
Navigator, Advisor Plus, and Advisor 365 purchases
Navigator is a one-time $79 purchase that includes 25 deep AI analyses, 50 AI Advisor conversations, and ongoing access to all paid features. There is no subscription and no recurring charge. All features available at time of purchase, plus future feature additions, are included.
Advisor Plus is an optional $29 add-on that adds 10 deep analyses and 25 AI Advisor conversations to your existing Navigator account. It stacks with any unused quota you have, and never expires.
Advisor 365 is a separate, optional one-time $79 purchase that extends AI Advisor access to unrestricted use for 365 days. It does not auto-renew. After 365 days you may choose to repurchase or revert to your standard Navigator usage limits. There is no automatic billing under any circumstance. See "AI Advisor fair use" below for the background bounds that protect the service against abuse.
We do not offer refunds after purchase, but if you have a problem, reach us via the contact form at the bottom of the page and we'll make it right.
AI Advisor fair use
The AI Advisor includes both per-tier conversation limits and per-session exchange limits. Each new conversation starts with fresh context. Free users get 3 conversations of up to 5 exchanges each (15 messages total). Navigator users get 50 conversations of up to 10 exchanges each (500 messages total). Advisor Plus purchases ($29 each) add 10 deep analyses and 25 conversations and stack indefinitely with no expiration.
Advisor 365 ($79 / 365 days) provides unrestricted AI Advisor use for the year. "Unrestricted" means your normal usage is not metered — you do not need to track or limit your message count, and you will not encounter upgrade prompts during use. The system includes fair-use bounds (per-conversation exchange caps, conversation context resets, per-IP rate limits, output length caps, and system-wide cost alerts) that run in the background to prevent abusive automated patterns; these bounds will not be encountered by normal use. We reserve the right to contact subscribers whose usage patterns suggest abuse and, in extreme cases, restrict access for accounts engaged in clearly abusive behavior. We will reach out before acting.
These limits exist to manage operating costs and ensure response quality, not to restrict legitimate use; if you have a problem, reach us via the contact form.
Intellectual property
The tool, its code, design, and content are owned by RetirementScenario.com. You may use it for personal planning purposes. You may not copy, reproduce, or redistribute the tool or its source code.
Limitation of liability
To the maximum extent permitted by law, RetirementScenario.com is not liable for any financial loss, decision, or outcome arising from use of this tool. Your use of the tool is at your own risk.
Governing law
These terms are governed by the laws of the State of Indiana, without regard to conflict-of-law principles. Any disputes arising from these terms will be resolved in the state or federal courts located in Indiana.
Changes to these terms
We may update these terms from time to time. Continued use of the tool after changes constitutes acceptance of the updated terms.
Contact
Questions about these terms? Use our contact form at the bottom of the page.
I built this because I needed it.
Why this exists
Most retirement calculators are either too simple or too complicated. The free ones miss the math that actually matters — Social Security filing strategy, spouse coordination, tax drag, sequence-of-returns risk. The professional software gets it right, but it's slow, expensive, behind a login, and built for advisors managing client portfolios — not someone who just wants to run a few scenarios on a Sunday afternoon.
So I built something in between. It's free to use. The AI Advisor is $79, once.
Every assumption in this tool is documented in How It Works — formulas, source data, tax brackets, Monte Carlo distribution. Nothing is hidden.
How the pricing works
The app and everything it produces — your projections, your scenarios, your Social Security analysis — is free. I only charge when you want the AI Advisor to read your plan and give you specific recommendations. That's Navigator — $79, once, with 25 deep AI analyses and 50 conversations included. (If you run out, Advisor Plus is $29 and adds 10 more deep analyses plus 25 more conversations; Advisor 365 at $79 for 365 days unlocks unrestricted AI access for the year, though most never need that.) The AI costs real money to run, so I charge for it. No required subscription.
I'd genuinely rather more people use this for free than pay me. If it helps someone retire smarter, that's the point. The money keeps the lights on.
On your data
There's no account, no server storing your numbers, no database holding your plan — it lives in your browser. The one exception is the AI Advisor: when you use it, anonymized numbers go out to generate your reply, then they're gone. Otherwise nothing you enter reaches me — I don't even require an account.
The export is designed to be useful on its own — or as preparation for a conversation with a financial advisor.
Who built it
My name is Luke. I have a software and financial services background, and I've spent enough time around retirement planning to know what good math looks like — and what shortcuts to avoid. I'm not a financial company, a fintech startup, or a registered investment advisor. I'm someone who spent time and money solving a problem I had, and figured others might find it useful too. This is a tool I'd want to exist — so I built it.
You can also find me on Reddit as u/lnewton_me, where I'm active in r/DIYRetirement, r/Fire, r/ChubbyFIRE, and a few other personal-finance communities. If you've got a question and would rather post it publicly, that's a good place to flag me.
Get in touch
Questions, bug reports, feature requests, or just telling me how your plan looks — all welcome. Use the contact form at the bottom of the page. I read every message and reply to most.
Most retirement planning software wants a piece of you forever. We built this on a different posture. Here are the four commitments behind it.
01
One purchase. Yours forever.
Pay once. Never again.
Navigator is $79. Once. Not $79 a month. Not "with a free trial that quietly converts." The app and the AI Advisor are yours from the moment you pay. Step away for two years, come back — your purchase still works. Nothing about the tool depends on you being "active."
If you ever want more AI capacity, Advisor Plus ($29) adds it. If you want unrestricted AI for a year, Advisor 365 ($79) does that. Both are optional, both are one-time, neither auto-renews. You always know exactly what you're paying for and when.
02
We keep no copy of your plan.
No server. No database. No copy of your plan.
Your inputs live in your browser, not a database we control. Your spouse's name, your account balances, your real numbers — there's no account system and no server-side copy of your plan to lose, leak, or sell. We couldn't sell your data if we wanted to; we don't keep it.
The AI Advisor sends only the parts of your plan you ask it about, only when you ask, and only inside bounded retirement-domain prompts. We don't train models on your inputs.
03
No account. No login. No marketing follow-up.
Nothing to sign up for. Nothing to cancel.
You don't sign up. You don't create a password. There's no email required to use the tool, and no automated drip campaign waiting for you. Bookmark the page and your work persists in your browser. The only inbox we'd ever touch is the newsletter at the bottom of the page, which is opt-in and only sends when something material changes.
04
Open math. No black box.
Every formula documented. Every source cited.
Every formula in this tool is documented. Every assumption sourced. Every methodology decision explained. The trust framework documents 23 pre-push gates, 82 AI evals, and 31 personas tested before every release. If you ever want to know exactly why the AI Advisor said what it said, the answer is on the page.
You pay for a tool. You get a tool. You own it.
We're not building a recurring revenue stream that depends on keeping you subscribed — we're building software you can rely on whenever retirement questions come up, whether that's once a month or once a decade. Same tool. Same math. No invoices.
It's not unusual because it's clever. It's unusual because the industry stopped doing it.
The questions we actually get asked. If yours isn't here, use the contact form at the bottom of the page.
What's the difference between free and paid?
The free version gives you the full calculator: 1,000-scenario Monte Carlo simulation, Social Security optimizer, stress testing, tax-optimal withdrawal ordering, Roth conversion sweet spot analysis, and the cohort benchmark. Navigator (the $79 paid upgrade) adds the AI Advisor that reads your specific numbers (25 deep analyses and 50 conversations included), Smart Moves — the moves that get you to retire earlier, spend more, leave a legacy, or weather a downturn — AI Plan Score (holistic plan strength beyond raw Monte Carlo), Deep Search — seven optimizers that search your plan for the best answer (the couple's Social Security claim, your coordinated bridge plan of Roth conversions + gain harvesting, what your plan hinges on, solve-for-any-goal, how much you can really afford to spend, whether two risks compound, and one-click Deep Scan) — saved scenarios with side-by-side comparison, and PDF export. One-time purchase — no subscription required.
Is this a subscription?
Navigator is a one-time $79 payment — no recurring charge, no cancellation needed. If you ever exhaust your 25 included deep analyses or 50 conversations, you can buy Advisor Plus ($29) which adds 10 more deep analyses and 25 more conversations with no expiry, or upgrade to Advisor 365 ($79 for 365 days of unrestricted AI Advisor access, never auto-renews). Most people never need either.
What does the AI actually do?
The AI Advisor does two things. It runs deep analyses — a full read of your plan with specific recommendations ranked by impact. And it chats with you about your scenarios, answering specific questions like "should I claim SS at 67 or 70?" or "what's my Roth conversion window?". Navigator includes 25 deep analyses and 50 conversations. Most people use 3-5 analyses over the lifetime of their plan as their numbers change.
Does the AI do the math?
No. Every number you see is calculated by our simulation engine — 1,000 Monte Carlo runs, deterministic tax modeling, and actuarially correct Social Security. The AI Advisor reads those results and helps explain what they mean for your specific situation. It interprets the numbers. It doesn't produce them.
How accurate are the projections?
The Monte Carlo simulation runs 1,000 scenarios using randomized market returns based on historical data. It accounts for inflation, Social Security timing, tax estimates, and withdrawal sequencing. No model is perfect — tax laws change, markets surprise, and life doesn't follow a formula — but we work hard to make the math honest and the assumptions transparent. Click "See Our Math" in the footer to see exactly how every number is calculated.
Can I model spending that adjusts to market conditions?
Yes — the engine supports Guyton-Klinger dynamic spending guardrails, the academic best-practice strategy widely used in the FIRE community. Instead of the static 4% rule (where you spend the same amount every year, adjusted only for inflation), guardrails adjust spending based on portfolio performance: cut 10% in bad markets, bump 10% in good ones. The academic research finds initial withdrawal rates of 5–5.5% historically sustained under this framework — meaningfully higher than the 4% rule. It's opt-in: enable it from Inputs, the Stress Test scenarios, or any of the four Smart Moves lenses (Retire Earlier, Spend More, Leave a Legacy, Weather a Downturn).
Can I model stopping retirement contributions early (Coast FIRE)?
Yes — the engine supports Coast FIRE. Set a "Stop contributing at age" in Inputs (and the parallel field for your spouse if you're a household). When that age is reached, all retirement contributions and the employer match stop, but existing balances keep compounding at your pre-retirement return through retirement age. Coast FIRE is the variant where you front-load enough savings to remove savings pressure by your mid-40s or 50s, then downshift to lower-paying or more enjoyable work — your income covers expenses, but no new money goes into retirement accounts. The appeal is the workload change, not the timeline change: you typically still retire at 60–65, but the back half of your career changes. Default is 0 (no Coast — contribute right up to retirement); opt in by setting an age between your current age and retirement.
What if my situation changes — can I come back and update my numbers?
Yes — that's the whole point. Your plan changes when your numbers do, so the tool is designed to be revisited. Update your salary, contributions, retirement age, or anything else, and the projections recalculate immediately. Navigator is lifetime access, so come back as often as you need. Most people return when they get a raise, change jobs, sell a house, get an inheritance, or just want to check in on whether they're still on track.
Is my data saved anywhere?
No. Your inputs are stored in your browser's local storage — on your device. We have no server, no database, and no user accounts. The one exception is the AI Advisor: when you use it, anonymized numbers (no names or account info) are sent to generate your response, then discarded. Otherwise we never receive your numbers. If you clear your browser data, the information is gone.
Is it safe to use the AI Advisor?
Yes. The AI Advisor sends only the numbers from your plan — no name, no account numbers, no institution names. We don't log the request contents, and no conversation history is stored on our end, so there's no account and no saved transcript to breach. That's the real difference from a personal ChatGPT or Claude.ai account, where your conversations are saved and tied to your login.
Is this financial advice?
No. RetirementScenario.com is an educational planning tool. The projections are based on your inputs and historical assumptions — they are not a guarantee of any outcome. Before making major financial decisions, please consult a licensed CFP or other qualified professional.
No account, no database — your inputs stay in your browser, and we never sell them or use them to train AI.
Why this is more accurate than other calculators
Most free calculators assume the same return every single year. This one runs 1,000 simulations of your retirement — each with randomized market returns drawn from a realistic distribution. Your success rate reflects all of them, including the bad sequences that derail real retirements.
Most free calculators ignore taxes on withdrawals. This one models the IRS provisional income formula for Social Security taxability, long-term capital gains rates on brokerage draws, and tax-optimal withdrawal ordering — taxable first, then pre-tax 401(k), then Roth last. The order you withdraw determines how much goes to the IRS vs. your retirement.
Most free calculators apply the same tax rate every year regardless of your income that year. This one stratifies long-term capital gains across the 0%, 15%, and 20% brackets based on your other income each year, includes brokerage gains in the AGI calculation that determines how much of your Social Security is taxable, applies state tax to home sale gains above the IRS Section 121 exclusion, and inflates federal brackets and the standard deduction forward each year to match how the IRS actually adjusts them. These details matter — a single retiree with $100K in brokerage gains and $40K in Social Security pays roughly $5,000 more in tax than a calculator that ignores the LTCG-into-AGI interaction would suggest.
Most free calculators use a generic Social Security estimate. This one adjusts your benefit for your actual claiming age using SSA adjustment factors, models spousal benefits correctly, and accounts for the bridge period your portfolio has to cover before SS kicks in.
How we keep this math reliable
The calculations below are documented section-by-section. Before any of them reach you, the engine runs through a verification discipline designed to keep your projections accurate and stable.
Reproducibility. Every change is tested. We don't ship around failing tests.
Real-scenario coverage. The math is exercised against realistic retirement profiles — early retirees, FIRE plans, household and single, multiple states — not toy examples. Every profile re-runs when the engine changes.
No silent drift. Your projection won't change without us telling you. Every code change is locked against a regression gate that fails on any output drift, so we can't accidentally shift your numbers. When we do deliberately change calculator fidelity — a tax law update, a methodology refinement, a bug fix — we document it. You'll never see your retirement numbers shift without knowing exactly why.
Source-vs-shipped parity. What you run in your browser is verified against the version we test in development. If they ever diverge, we catch it before you see it.
About the AI Advisor
The AI Advisor is powered by Claude (Anthropic) and has full visibility into your retirement plan — your numbers, your gap, your Social Security strategy, your highest-impact moves, and your earliest retirement age. It doesn't give generic advice. Every response is grounded in your actual inputs.
Your data is sent to the AI model only to generate your response, then discarded. No account required. No data retention, and your numbers are never used to train models.
The AI Advisor is a thinking tool, not a licensed financial advisor. It interprets your calculator results and surfaces things worth considering. All output is for informational and educational purposes only — it is not financial, tax, investment, or legal advice. For decisions involving significant money, consult a qualified CFP, CPA, or estate attorney. Many people find this tool helps them have a much better conversation when they do.
How the Math Works
1
📈 Pre-Retirement Accumulation
We grow each account (401(k), Roth, savings, brokerage) separately using the future value of an annuity-due formula, accounting for both your existing balance and ongoing contributions.
r = pre-retirement return, n = years to retirement. Lump sums (home sale, inheritance) are grown to retirement age. Household plans grow each spouse independently then combine at your retirement date. In retirement, a household plan runs to whichever spouse lives longer — set each spouse's life expectancy separately — and switches to survivor economics at the first death: spending drops to your survivor goal (default 75% of your monthly goal), the larger of the two Social Security checks is kept (the smaller stops), tax filing becomes single, and half of the deceased spouse's pension continues while the survivor's own pension continues in full. When the two life expectancies differ, this materially changes projected legacy and survivor planning.
2
🏛️ Social Security Adjustment
Your benefit is calculated from your Full Retirement Age (FRA) benefit and adjusted for when you claim. Claiming before FRA permanently reduces it; delaying past FRA increases it up to age 70.
Adjusted benefit = FRA benefit × SSA factor(claimAge)
SSA factors: ~0.70 at 62, 1.00 at FRA (67 for most), 1.24 at 70. This tool assumes a Full Retirement Age of 67, which applies to anyone born in 1960 or later. If you were born before 1960, your FRA is slightly lower (66 for born 1943–1954, graduating to 67 by 1960) — enter your actual FRA benefit to keep the math accurate regardless. Spousal benefit is the higher of their own record or 50% of your FRA benefit. Benefits are inflation-adjusted to retirement-year dollars. Stress-testing for legislative shortfall: the SSA Trustees project the trust fund hitting depletion in 2033, after which scheduled benefits would be reduced by ~20-23% absent congressional action. To stress-test your plan against this, set the "SS Benefit Confidence" slider to 80% (or another haircut you find plausible) — the engine will scale all SS benefits accordingly.
3
💸 Sustainable Monthly Income
Your Monthly After-Tax Income headline is the spend level your projection actually sustains through your full retirement horizon. We compute it by bisecting the deterministic projection: probe a spend amount, run the year-by-year simulation, check whether the portfolio depletes; raise the probe if it survives, lower it if it depletes. The result is the maximum monthly spend you can fund without running out — a readout of the projection itself, not a separate model.
Find max S where projection(monthlyGoal = S) does not deplete
Bisect within $25; up to 10 iterations to converge
The Monte Carlo success rate (Section 6) tells you the probability of that draw working across 1,000 different market scenarios — use the deterministic headline for capacity, the MC rate for confidence. The 4% rule was calibrated to a 30-year horizon with ~95% historical survival; it was not designed for someone retiring at 55 with a 35+ year horizon, and it doesn't account for guaranteed income streams (Social Security, pensions) that change the math materially. The bisection answer respects your actual horizon and your actual income streams.
4
🧾 Tax Calculation
We model post-retirement taxes using 2026 federal brackets (inflation-adjusted forward to each future year), state-specific tax codes for all 50 states plus DC (see Section 19), and the IRS Publication 915 provisional income formula for Social Security taxability. Tax is computed on your full income each year — pension, taxable SS, ordinary 401(k) draws, and long-term capital gains on brokerage draws. Brokerage gains count in your AGI when determining how much of your Social Security is taxable, which materially affects retirees with significant taxable accounts. Both the deterministic projection and Monte Carlo simulations use tax-optimal withdrawal ordering and stratified LTCG.
Provisional income = ordinary income + LTCG + 50% of SS
SS taxability tiers (single):
≤ $25k → 0% of SS taxable
$25k–$34k → up to 50% of SS taxable
> $34k → up to 85% of SS taxable
Baseline tax = federal + state on (pension + taxable SS + part-time)
Marginal tax = federal + state + LTCG on portfolio draws beyond baseline
401(k) draws are ordinary income. Brokerage draws are taxed at stratified long-term capital gains rates (0% / 15% / 20%) — the rate depends on where the LTCG sits relative to your other income that year, not a flat 15%. Roth withdrawals are tax-free. Savings (HYSA) withdrawals are also tax-free — principal is treated as already-taxed cash; interest is assumed taxed annually as it accrues, consistent with real-world HYSA behavior. Tax brackets and the standard deduction inflate forward each year (when "Inflation-adjust brackets" is enabled in your inputs), matching the inflation applied to your spending and balances — so your real tax burden tracks consistently across the projection. The tax estimate shown each year combines baseline tax (owed on guaranteed income alone) plus marginal tax (additional tax caused by any portfolio draw or RMD). For households with strong guaranteed income — pensions, multiple SS streams — baseline tax can be $20-50K/yr even when no portfolio draw is needed. Many free retirement calculators skip this entirely, inflating end balances by $30-80K/yr. IRMAA (Medicare Part B + D Income-Related Monthly Adjustment Amount): when MAGI exceeds bracket thresholds (2026: $109K single / $218K MFJ for tier 1, scaling up to $500K / $750K for tier 5), Medicare premiums add a per-person surcharge ranging from ~$1,000 to ~$6,950/yr. We model these surcharges in healthcare cost for any year a household member is 65+ and the household's MAGI crosses a tier threshold; thresholds inflate at general CPI to track real-world bracket creep. Documented simplifications: we use current-year MAGI rather than the IRS's 2-year lookback, and the MAGI estimate assumes draws are ordinary-taxable (slightly overestimates for Roth/LTCG-heavy plans). Brokerage cost basis: long-term capital gains tax is computed on the realized GAIN portion of a brokerage withdrawal — not the full withdrawal amount. The engine tracks your brokerage cost basis (original principal + ongoing contributions + any lump sums routed to brokerage) and computes realized gain as withdrawal × (1 − basis/balance) when you draw. Pre-May 2026 the engine simplified by treating full draws as gain, which over-stated LTCG tax for plans with substantial taxable brokerage; the May 16 update corrected this and shifted projections up for brokerage-heavy plans by $40K–$550K at life expectancy. State tax modeling is state-level only — county, city, and local income taxes (e.g., NYC, Indiana counties, Ohio cities, Kentucky counties, MD/MO/AL/IA/MI municipalities) are not currently modeled and may add 0.5%–3.5% in affected jurisdictions. If you live in a high-local-tax area, consider bumping the "State tax %" input upward to approximate your combined burden.
5
📋 Required Minimum Distributions
The IRS requires minimum annual withdrawals from pre-tax accounts. Under SECURE 2.0, your start age depends on your birth year: 73 if born 1951–1959, 75 if born 1960 or later. The amount is your projected balance divided by an IRS life expectancy factor that decreases each year.
RMD = account balance / IRS distribution period
Start age: 73 (born 1951-59) or 75 (born 1960+)
We use the IRS Uniform Lifetime Table (2022+) and SECURE 2.0 Act start-age rules. RMDs stack on top of SS and portfolio draws, potentially pushing you into higher brackets. Roth accounts have no RMDs. When your RMD exceeds your spending need (common for households with strong guaranteed income), we compute the marginal income tax on the overage using your year-specific bracket position — including any capital gains bracket cliff your other income causes — pay the tax, and reinvest the after-tax remainder into your brokerage account, preserving wealth that would otherwise be unnecessarily drawn down.
6
🎲 Monte Carlo Simulation
We run 1,000 simulations of your retirement, each with randomized annual returns drawn from a log-normal distribution. The success rate is the percentage where your portfolio survives to life expectancy. Results are hypothetical and do not reflect actual investment results — they depend on your return and volatility assumptions.
Annual return = exp(μ + σ × Z) − 1 where Z ~ N(0,1)
μ = ln(1 + mean return) − σ²/2, σ = volatility. Random draws use the Box-Muller transform. 85%+ is a common benchmark for 30-year retirements — for longer horizons (40+ years), many planners target 95%+. Default volatility (σ) is 12% — consistent with a balanced 60/40 portfolio. You can adjust this in the Inputs tab under Return Assumptions. Higher volatility widens the range of outcomes and lowers your success rate; lower volatility narrows it. Savings (HYSA) balances are NOT subject to market volatility in the simulations — they grow at your entered savings rate deterministically each year, since cash doesn't experience equity drawdowns. This matters for plans with significant cash positions: many calculators (including ours, prior to April 2026) accidentally subjected cash to market swings, distorting both upside and downside scenarios. Limitation: returns are modeled as independent year-to-year using your fixed mean and volatility assumptions. If future market conditions differ significantly from your inputs, outcomes will differ. Use the stress test and try lower return assumptions to understand your plan's sensitivity.
7
🤖 AI Plan Score
When you run a deep AI analysis, the success ring updates from a raw Monte Carlo percentage to a Plan Score — a holistic assessment that weighs your simulation results alongside factors the Monte Carlo doesn't model: sequence-of-returns vulnerability during your bridge period, Social Security timing risk, account concentration, and the sustainability of your spending assumptions.
Plan Score = f(MC success rate, sequence risk, SS timing risk, account mix, spending sustainability)
A plan with 95% Monte Carlo success but significant sequence-of-returns exposure during an 8-year bridge period may score 85 — not because the math changed, but because the AI identified risks the simulation masked. The score uses the same health labels as the AI analysis: Excellent, Strong, Solid, At Risk, Critical. If you haven't run a deep analysis, the ring shows the raw Monte Carlo success rate.
8
🏦 Account Withdrawal Ordering
Each year — both in the deterministic projection and in every Monte Carlo simulation — withdrawals follow tax-optimal order: any earmarked bridge reserve first (during the gap before SS starts), then savings (zero tax — already-taxed cash), then brokerage (long-term capital gains rates, stratified across 0/15/20% brackets), then pre-tax 401(k) as ordinary income, then HSA at age 65 or later (treated as ordinary income for non-medical use, like a traditional IRA), then Roth last at zero tax. Pre-65 HSA only funds qualified medical expenses (tax-free). As accounts deplete the tax burden shifts naturally — we model this rather than holding the Year 1 account mix fixed for 40 years. RMDs from your applicable start age (73 or 75 — see Section 5) are enforced as a 401(k) floor on top of voluntary draws.
When your RMD exceeds your spending need, we compute the marginal tax on the excess at your year-specific bracket position and reinvest the after-tax remainder into your brokerage account — preserving wealth that would otherwise be unnecessarily drawn down. This is the same approach used in professional planning software; most free calculators either skip RMDs entirely or treat the full RMD as consumption. After portfolio depletion, the projection shows what you can actually fund from remaining sources (guaranteed income), not your original goal — so the "spending" line reflects reality rather than wishful thinking.
Bridge reserve mechanics. The reserve can be funded from explicit cash savings (the "Cash reserve" input) OR earmarked from expected one-time inflows (home sale proceeds, inheritance, severance, other lump sums). Each source has its own toggle in Inputs — flipping the earmark routes that money to the bridge bucket instead of the general portfolio. The reserve grows at your high-yield savings rate (not equity returns), reflecting that it's parked in HYSA-style cash — protecting it from sequence-of-returns risk during the highest-risk withdrawal window. Bridge reserves not consumed during bridge years remain available as a last-resort source after all other buckets are exhausted (the engine tracks them through to end-of-plan rather than orphaning unused balance).
9
📉 Phased Spending (Retirement Smile)
Research shows retirees spend more in early retirement (active years), less in the middle (slower pace), and more again late in life (healthcare). Every plan models three distinct spending phases — Go-Go, Slow-Go, and No-Go — each running independently through every simulation. You can adjust each phase amount and the age at which the next phase begins.
Annual draw = phase spend × (1 + inflation)ᵗ per simulation year
New plans default to Go-Go (100% of monthlyGoal), Slow-Go (85%), and No-Go (75%) — fully customizable in the Inputs tab. Setting all three phases equal models flat spending across retirement. monthlyGoal is a derived weighted average across the three phases, not a fixed monthly draw.
10
📊 Return Rate & Inflation Assumptions
The model uses a single pre-retirement return rate and a single post-retirement return rate for your entire portfolio. This is a deliberate simplification — a full plan would model equity/bond allocation with correlated assets. For scenario modeling, the user controls these assumptions directly, which is more honest than hiding them inside an allocation model.
Healthcare costs inflate at the higher of your general inflation rate plus 2% or 5%, reflecting the historical premium of medical inflation over general CPI (typically 5-7%). This applies automatically — you don't need to enter an inflated healthcare estimate. If your actual healthcare spending will track general inflation more closely (some Medicare recipients), you can lower your monthly healthcare input directly. To test your plan's sensitivity to return assumptions, try running your scenario at 1–2% lower than your expected return.
11
🎯 Smart Moves & the Lens System
Smart Moves are concrete actions you can apply to your plan to improve specific outcomes — earning a part-time bridge income, converting to Roth, delaying Social Security, harvesting capital gains, and others. The Results tab organizes them into four lenses, each measuring impact in the currency that matters to that goal: Retire Earlier (how much younger can you stop?), Spend More (how much more can you sustain?), Leave a Legacy (how much larger is the median ending balance?), and Weather a Downturn (how much higher is the survival rate under stress?). Click any move to see its individual impact in the active lens; toggle a move on to apply it to your plan and see the live effect on every other metric.
Per-lens metric (each computed via a dedicated engine scan):
Retire Earlier: youngest age sustainable at 85% Monte Carlo success
Spend More: additional $/month sustainable at 85% MC success
Leave a Legacy: median end balance at life expectancy (today's dollars)
Weather a Downturn: Monte Carlo success rate under a 5-year bear market at retirement
Each move's impact is measured against your CURRENT plan (baseline), not against other selected moves. The "See if this combined plan works" button at the bottom of each lens runs a unified Monte Carlo with all selected moves applied together — capturing interaction effects (e.g., part-time bridge income + Roth conversion timing + delayed SS) that aren't visible from individual impact deltas summed. Some moves are lens-aware: spend-reduction moves are excluded from the Spend More lens (contradicts intent); retirement-deferral moves are excluded from Retire Earlier (same reason); gain harvesting only appears when bridge years exist. The AI Advisor can recommend specific moves in conversation and deep-link you to the relevant lens with the move pre-toggled — useful when you want to explore a specific strategy without manually scanning all four lenses.
12
🔗 Combined Bar — Interacting Pairs
When multiple moves are selected, independent moves sum their deterministic deltas. For known interacting pairs — bridge income + Roth conversion, retire later + SS delay — the combined bar runs 1,000 Monte Carlo simulations to capture the joint effect accurately, since these moves meaningfully affect each other.
Independent: combined pp = Σ(individual pp)
Interacting pairs: combined pp = MC(all selected) − base MC
Single-move selections always use the card delta directly. The combined bar updates live as you select and deselect moves.
13
📅 Earliest Retirement Age
Ignores your entered retirement age. Scans candidate ages 50–75, runs 750 Monte Carlo simulations at each, and returns the earliest age that hits 85% confidence. When moves are applied, each move's override is recomputed at the candidate age — so bridge sizing, SS windows, and other age-dependent overrides are accurate for each age tested, not pre-baked from your entered retirement age.
Find min age ∈ [50,75] where MC(inp with overrides at age) ≥ 85%
750 sims per age balances scan speed with accuracy. The 85% threshold is fixed as a common benchmark. For very long retirements (40+ years), a higher target like 90–95% is more appropriate.
14
🎯 SS Optimal Claim Age
Scans Social Security claim ages 62–70 and finds the age that best fits your specific scenario. For early retirement plans, near-term income is weighted more heavily because the bridge period cost is real. For normal retirement timing, lifetime benefit optimization dominates.
This is a heuristic that finds a good answer for most scenarios — not a full actuarial NPV analysis. A rigorous breakeven calculation would account for joint life expectancy and mortality tables for married couples. For high-stakes SS timing decisions, specialized tools or a CFP are worth consulting.
15
🔑 Roth Building Strategies
We model three lifetime phases of building Roth assets: direct Roth IRA contributions while working, the Roth conversion sweet spot during your bridge years, and backdoor + mega backdoor Roth for high earners locked out of direct contributions. Each phase has different rules, eligibility, and tax treatment.
Backdoor: $7.5k or $8.6k catch-up per spouse, gated on MAGI > $165k single / $246k married
Mega: user-supplied amount up to $46k/yr, plan-dependent
Conversion sweet spot: min(bracket headroom, IRMAA headroom, LTCG bracket-cliff headroom)
Backdoor and mega backdoor amounts are sourced from after-tax savings, so we deduct them from your brokerage contribution to avoid double-counting. The pro-rata rule applies if you have existing Traditional IRA balances — we surface this as an informational flag rather than modeling the tax cost precisely (would require knowing your trad IRA balance). When you set an annual Roth conversion amount, the engine routes that amount from 401k to Roth each bridge year (until the 401k is exhausted), computes the marginal income tax using your year-specific bracket position, and pays the tax from savings or brokerage. Conversions show up in your projection as a 401k → Roth movement and reduce future RMDs. The three phases address different lifetime windows: direct contributions during income years, conversions during low-income bridge years, and backdoor when you're income-gated out of direct contributions. LTCG bracket-cliff handling: when you have significant taxable brokerage drawing in the same year, the sweet spot calc also checks the LTCG 0%/15% bracket boundary — a conversion that pushes your ordinary income high enough to spill long-term capital gains from the 0% bracket into 15% is bracket-cliff territory, and the sweet spot conservatively backs off below that line. This prevents the sweet spot from recommending a conversion amount that triggers an unexpected 15% LTCG tax on your brokerage withdrawals in the same year.
Roth conversion ladder (FIRE framing). The FIRE community refers to a multi-year conversion sequence as a "ladder" — converting a deliberate amount each bridge year, then withdrawing seasoned conversions to fund pre-59½ retirement. Each year's conversion starts its own IRS 5-year clock for penalty-free principal access (separate from the contribution and earnings 5-year rules). The engine models the conversion side year-by-year — amount, tax impact, future-RMD reduction — and the sweet-spot calc above helps size each rung. The engine doesn't enforce the withdrawal-side 5-year clock, so anyone running a true ladder needs to track each conversion's seasoning themselves and pair the strategy with a bridge reserve to cover the first 5 years before any conversion is withdrawable.
16
📊 Cohort Benchmark Comparison
The Compare tab includes a Median Saver in Your Cohort benchmark — automatically matched to your age band, income group, and household type. The benchmark uses cohort-appropriate balance, contribution rate, and Social Security benefit, but mirrors YOUR retirement goal and structural assumptions — so the comparison answers "if I had what a median saver has, would my plan still work?" rather than "can a median saver fund a synthetic 75% replacement target?" (the latter produces 0% success for most cohorts and isn't useful).
Balance: SCF 2022 mean ÷ 2.0 (mean→median) × age scaling factor
Social Security: SSA hypothetical scaled worker mapped to per-spouse income
Goal & assumptions: mirrored from your plan
Household split: balance and contribution scaled by your earnings split (handles SAHM-rejoiner and single-earner-household patterns)
Sources: (1) Federal Reserve Board, "Changes in U.S. Family Finances from 2019 to 2022" (October 2023), Box 1 Table A — household-level mean retirement balances by income percentile group, working families ages 35-64 with retirement accounts (combined IRA + DC); (2) SSA Office of the Chief Actuary, Actuarial Note 2025.3 (June 2025) — hypothetical scaled worker AIMEs already account for real career arcs from the Continuous Work History Sample, with PIAs computed using 2024 bend points and the standard 90/32/15 progressive formula; (3) Center for Retirement Research at Boston College, Issue Brief 23-25 — published median 401(k)+IRA balances by age band for working households, used to calibrate the age-progression factors. The benchmark is anchored to published, household-level data — no per-individual synthesis. The mean→median conversion uses the ~2.0× ratio observed between SCF's published mean ($331k for 35-64 working savers) and CRR's published median ($204k for 55-64 working savers with a 401(k)).
17
🏠 Lump Sum Tax Handling
Home sales, inheritances, and other expected lump sums each get different tax treatment based on real-world IRS rules. The amount that lands in your brokerage is the after-tax net, not the gross.
Taxable gain = max(0, profit − Section 121 exclusion)
Home sale net = profit − (taxable gain × 15% federal LTCG)
− (taxable gain × your state rate)
Exclusion: $250,000 single / $500,000 married
Inheritance: arrives untaxed (stepped-up basis)
Other lump: routed gross — enter your expected after-tax amount
Home sale: We apply the IRS Section 121 primary residence exclusion ($250K single / $500K married) and tax the excess at 15% federal LTCG plus your entered state tax rate. The 15% federal rate is an approximation — your actual rate could be 0% (very low total income that year) or 20% (very high), but 15% is the standard rate for typical retirees. Most states (CA, NY, NJ, MA) tax LTCG at ordinary income rates, so applying your state rate to the gain is conservative and matches how most state tax codes work. Section 121 requires meeting the IRS ownership and use tests (lived in home as primary residence at least 2 of the last 5 years). If you live in a no-state-tax state (FL, TX, NV, WA), set state tax to 0% in your inputs and only the federal portion applies. Inheritance: Generally not subject to income tax under stepped-up basis rules — the recipient's cost basis is reset to the fair market value at the decedent's date of death, so liquidating immediately produces zero capital gain. We model inheritance as arriving untaxed. (Federal estate tax only applies to estates above $15M individual / $30M married in 2026; if you expect that, enter the after-estate-tax inheritance amount.) Other lump sum: Treated as a generic windfall routed at face value. If your expected lump is taxable (severance, deferred comp, lottery, business sale gain), enter the after-tax amount you expect to receive.
18
🌪️ Stress Test & Sequence-of-Returns Risk
The Stress Test tab models specific, named risks rather than abstract market volatility. Each scenario card runs 1,000 Monte Carlo simulations with one stated change applied to your plan — nothing hidden. The SS Cut card models exactly your SS reduction; it does not also lower your return assumption or shorten your retirement. The combined bar runs a single MC pass with all selected moves applied jointly, so interacting effects (bridge income + Roth conversion timing) are captured accurately rather than approximated as a sum.
Per scenario: MC(your inputs with one override) × 1,000 sims
Combined bar: MC(your inputs with all selected overrides) × 1,000 sims
Projection stress band: same engine as MC, with -8% mean returns for first 5 years
The stress band on the Projection chart shows what happens if you retire into a 5-year bear market (sequence-of-returns risk). It uses the same calculation engine as the deterministic projection and Monte Carlo — same per-account sequential drawdown, same tax math, same Roth conversion modeling — and only differs in applying a -8% mean return to the first 5 retirement years. For most people this is the most important stress test in the tool: a bad market in early retirement, when your portfolio is largest and you're drawing down, is far more dangerous than the same bad market 15 years in. Plans that look healthy under normal Monte Carlo can show dramatically lower survival rates under sequence-of-returns stress, especially if heavily weighted toward equities. If your stress band looks much worse than your Monte Carlo result, that is the model telling you something true about your specific plan — not a glitch. Common responses: hold more cash or short-term bonds at retirement, delay retirement by 1-2 years, reduce early-retirement spending, or build a larger bridge reserve.
19
🗺️ State Tax Modeling
Most calculators ask for a single state tax rate and apply it to every dollar of retirement income. State tax codes are far more varied than that. Pennsylvania doesn't tax retirement income at all. Hawaii excludes employer pensions but still taxes 401(k) withdrawals and Roth conversions. Six states tax Social Security at typical retirement incomes. Eight states apply preferential rates to long-term capital gains. We model 51 jurisdictions individually using their actual structure — when you pick your state in Inputs, the engine looks up the right rules and applies them year-by-year through your entire projection.
For each jurisdiction: { rate, taxesSS, taxesRetirementIncome, ltcgRate }
9 states with no income tax:
AK · FL · NH · NV · SD · TN · TX · WA · WY
14 states fully exclude retirement income (401k, IRA, pension):
AK · FL · IA (55+) · IL · MI · MS · NH · NV · PA · SD · TN · TX · WA · WY
1 state partially excludes (employer pensions only):
HI
6 states tax Social Security at typical retirement incomes:
CT · MN · MT · RI · UT · VT
8 states with preferential long-term capital gains rates:
AR · AZ · ND · NM · SC · VT · WA · WI
Verified against authoritative sources (Tax Foundation 2026, Kiplinger,
state revenue departments) as of 2026-05-07.
Concrete impact — a married couple with $1.5M nest egg, $7,500/mo goal, retiring at 65 ends with $8.05M in Florida (no state tax), $7.96M in Pennsylvania (excludes retirement income but taxes the small brokerage portion of withdrawals), $7.39M in New York (4.5% effective on retirement income), and $7.01M in Minnesota (6.09% rate plus Social Security taxation). Same plan, same dollars in, $1M+ different at life expectancy purely from where you live. Documented simplifications: progressive brackets are modeled as a single effective rate rather than the full graduated structure (this matters less in retirement, when most people fall into a narrow bracket band — the effective rate is calibrated to typical retirement-income levels); city and local taxes (NYC, San Francisco, Yonkers, Detroit) are not modeled, so urban residents in those cities should mentally add 1-3% to their effective rate; phased pension exclusions in Kentucky, New Jersey, New York, Virginia, and Maine are treated conservatively as "fully taxed" rather than partially excluded (so plans in those states are slightly under-projected, which biases toward caution); Washington's 7% capital gains tax above $278K is modeled at the LTCG rate but the threshold itself is not — most retirees won't cross it. Federal tax modeling is unchanged from Section 4. The state and federal pieces compose: federal first, then state on the relevant income depending on the state's rules. Source data is calibrated against the Tax Foundation's State Individual Income Tax Rates report, the Kiplinger State-by-State Guide to Taxes on Retirees, and each state's revenue department for the SS-taxation and pension-exclusion specifics.
20
🌾 Gain Harvesting (0% LTCG Bracket)
During your bridge years, if your taxable income drops low enough, long-term capital gains can be "harvested" at 0% federal tax — sell appreciated brokerage holdings and immediately rebuy them to reset your cost basis upward, locking in the gain at zero tax cost. This eliminates future tax on those harvested gains. The "Harvest gains" Smart Move enables this in your projection.
0% LTCG bracket cap (2026, inflation-adjusted forward each year):
Single: ~$49,450 of total taxable income (ordinary + LTCG combined)
Married: ~$98,900 of total taxable income (ordinary + LTCG combined)
Harvest amount per year = min(0% bracket headroom, unrealized brokerage gain)
The 0% LTCG bracket is one of the cleanest tax wins in retirement planning, but it's only available when your other taxable income is low — bridge years before Social Security starts. When the harvest move is enabled, the engine each year checks: (1) your projected taxable income for the year (post-deduction); (2) the remaining headroom under the 0% LTCG bracket cap; (3) your unrealized brokerage gain (balance − basis). Whatever fits gets harvested — basis steps up, no federal tax owed on the harvested portion. State tax may still apply depending on your state (most states tax LTCG at ordinary rates without a preferential 0% bracket; the eight that DO have preferential LTCG rates are honored). The move only fires when there's meaningful headroom and meaningful gain to harvest — it doesn't bother with sub-threshold amounts where the bookkeeping wouldn't change the projection. Pairs well with Roth conversions in the same bridge years: both strategies use the same low-income window to convert future tax burden into present-zero tax. The conversion sweet spot calculator (Section 15) and the harvest move are complementary — the sweet spot stops before pushing LTCG into the 15% bracket, leaving room for the harvest move to fill the rest of the 0% bracket.
21
🛡️ Guyton-Klinger Dynamic Spending Guardrails
An opt-in dynamic spending strategy that adjusts annual spending based on portfolio performance instead of using a fixed inflation-adjusted withdrawal. The strategy applies two rules: "capital preservation" cuts spending when your withdrawal rate climbs too high in a bad market; "prosperity boost" bumps spending when your rate drops too low after a good run. The academic research finds initial withdrawal rates of 5–5.5% historically sustained under this framework — meaningfully higher than the static 4% rule. Guardrails are mutually exclusive with phased spending (Go-Go / Slow-Go / No-Go): when enabled, phased values are paused and the engine uses your monthly goal × 12 as the year-1 baseline.
initialWR = monthlyGoal × 12 / nestEgg (auto-derived when you enable; user can override)
upper guard = initialWR × (1 + band/100)
lower guard = initialWR × (1 - band/100)
For each year N ≥ 2:
prevWR = previous year spending / investable portfolio at start of year
if prevWR > upper guard:
spend = previous year spending × (1 - adjust/100) // capital preservation
[no inflation adjustment applied this year]
else if prevWR < lower guard:
spend = previous year spending × (1 + adjust/100) × inflation_factor // prosperity boost
else:
spend = previous year spending × inflation_factor // baseline
Default parameters: band = ±20%, adjustment = ±10% (Guyton + Klinger 2006).
Year-1 spending is always the baseline (your monthly goal × 12 × inflation). Rules fire starting year 2 based on the prior year's actual withdrawal rate. The investable portfolio (for the WR denominator) excludes bridge funds (earmarked home-sale net, inheritances, other lumps) because those are pre-allocated for the bridge period and not part of the long-term investment portfolio the strategy is meant to govern. Strict interpretation of the paper applies the rules throughout retirement, including bridge years — even though bridge years naturally have a higher withdrawal rate. The paper's wide band (±20%) accommodates this, but expect more frequent rule triggers during bridge years for early retirees.
SMART MOVES CAP — when Guyton-Klinger is applied as a Smart Move (Spend More or Retire Earlier lens), the engine caps the headline at a 5.0% initial withdrawal rate. The Guyton + Klinger 2006 paper's empirical safe-start range is 4.5–5.5%; we anchor at the conservative end. Subsequent research (Pfau 2010, Kitces multiple) has questioned whether the upper end of the historical safe-start range remains defensible in lower-yield regimes — the conservative cap respects that critique. Without this cap, the finder algorithms could converge on inflated headlines that the engine technically sustains via aggressive preservation cuts but which misrepresent what the paper actually backs. For the Retire Earlier lens specifically, the engine additionally requires that the strategy's average lived spending across surviving Monte Carlo simulations meets or exceeds the user's stated monthly goal — a calculator design choice (not paper-derived) to ensure "you can retire at age X" implies "spending what you said you wanted to spend."
LIVED EXPERIENCE UNDER GUARDRAILS (Results card) — when Dynamic Spending is active, the Results tab surfaces a dedicated card showing what the strategy actually looks like across simulated retirements. Three-tier severity on the "Years below target" tile (default text under 30%, amber 30–50%, red ≥50%) gives an at-a-glance read on how often spending falls below your stated monthly goal. The "Worst-10% spending floor" tile surfaces a concrete dollar gap and percentage below your goal — making the floor's lived meaning legible at a glance. A bad-sim narrative above the spending trajectory chart names the actual cut-fire ages from your worst-lived-experience surviving simulation ("In a tough sequence, cuts fired at ages 61, 62, 63, 64, and 68 — 7 years below your stated goal, with 4 of those consecutive"). Picks the surviving sim with the most below-target years so you read a real lived-experience story, not a worst-case hypothetical.
Empirical research expects ~1–1.5pp success-rate uplift from the strategy on typical plans. The FIRE community references this strategy as "Guyton's guardrails" or "variable percentage withdrawal." Reference: Guyton, J. T., and Klinger, W. J. (2006). "Decision Rules and Maximum Initial Withdrawal Rates." Journal of Financial Planning. See also Pfau (2010) "Safe Savings Rates" and Kitces (multiple articles) for the post-2008 lower-yield critique.
RESEARCH-COMMUNITY CRITIQUE (calculator's honest framing) — the Guyton + Klinger 2006 paper calibrated against historical data through ~2005, when stock valuations (Shiller's CAPE / cyclically-adjusted P/E ratio) and bond yields sat in a meaningfully different regime from today's market. Subsequent research has raised valuation-based concerns about whether those historical safe-start rates transfer cleanly to high-CAPE starting environments: Pfau (2010, 2012, multiple) finds that high-CAPE start years materially compress safe withdrawal rates across historical replays; Karsten Jeske's "Big ERN" Safe Withdrawal Rate series (2017+) extends the analysis to longer (40–60 year) retirements common in FIRE planning and concludes the historical 4–5% rules-of-thumb may overstate safety for early-retiree windows. The 5.0% Smart Moves cap respects this critique by anchoring to the conservative end of the 2006 paper's 4.5–5.5% range. Users with sub-3.5% effective withdrawal rates have substantial buffer regardless of this debate; users at 4–5% are operating in the contested window where the GK strategy's historical defensibility is genuinely debated in current academic literature. We surface the rules and the lived-experience tradeoff; we are not committing a position on whether GK guardrails will provide the same 1–1.5pp uplift forward as they did historically.
WHAT THE CALCULATOR DOES AND DOESN'T DO WITH CAPE — your specific start-year CAPE (Shiller's cyclically-adjusted P/E ratio) is the empirical variable the Pfau + Big ERN bodies of work argue determines whether the 2006 paper's range is conservative or aggressive at your retirement year. The engine does not read your start-year CAPE and does not fold it into any recommendation — the 2006 paper's empirical 4.5–5.5% range is the calibration; the 5.0% cap is the conservative-end anchor that hedges against this exact uncertainty. We deliberately don't take a position on whether today is a high-CAPE environment because that reading changes year-over-year, requires picking + citing a specific CAPE source, and the conservative-end anchor's defensibility doesn't depend on the answer. If you want to interpret the cap against today's valuation environment, the cited Pfau and Big ERN work is the place to start that reading.
22
🏝️ Coast FIRE
An opt-in workflow for users who plan to save aggressively until their existing balances will compound to their retirement target — then stop contributing and "coast" (keep working but with no new savings going in) the rest of the way to traditional retirement. The math is the same compound-growth formula running all retirement projections; the workflow change is splitting the future-value calculation into two phases: a contribution phase (current age → coast-end age), then a growth-only phase (coast-end age → retirement age).
Two-phase future value at retirement:
contribYears = max(0, contributionEndAge − currentAge)
coastYears = max(0, retirementAge − contributionEndAge)
// Phase 1: balance + annual contribution (with catch-up logic if applicable)
balanceAtCoastStart = fvWithCatchup(
currentBalance, baseContrib, catchupContrib, return,
currentAge, contributionEndAge, superCatchupFlag
)
// Phase 2: growth-only compound from coast-end to retirement
finalBalance = balanceAtCoastStart × (1 + return)^coastYears
Applied independently to each retirement account (401(k), Roth IRA, brokerage, HSA) for the user and the spouse. Sentinel: contributionEndAge = 0 means no Coast — engine reduces to standard fvWithCatchup with the full contribution window.
When Coast FIRE is active for a party, the engine stops ALL retirement contributions for that party at the coast-end age — 401(k), Roth IRA, brokerage, HSA, and the employer match (employer match is contribution-linked, so it ends when contributions end). Catch-up contributions still apply DURING the contribution window if the party is 50+ (the wrapper passes the truncated window to fvWithCatchup, which handles catch-up logic internally). The defaults are zero — Coast is opt-in. Most users will keep contributionEndAge = 0 (and spouseContributionEndAge = 0), which preserves the conventional "contribute right up to retirement" behavior with byte-identical engine output. Out-of-range values are handled gracefully: a coast-end age before currentAge collapses to "no contributions from now" (just compound existing balances); a coast-end age at or past retirementAge reduces to sentinel behavior. SMART MOVES INTERACTION — when Coast is active, the Smart Moves workshop filters contribution-boost moves (max 401(k), max Roth, employer match, catch-up routing, backdoor Roth, mega backdoor Roth, HSA contributions, and spouse equivalents) from the applicable lists across all four lenses. They don't make sense as recommendations when the user has explicitly opted to stop contributing. Non-contribution moves (SS timing, Roth conversions, spending discipline, gain harvesting) still apply normally. WHAT THIS DOESN'T MODEL — Coast FIRE changes what happens to your retirement accounts, not your income or your spending. The engine assumes you're still working through retirement age (your wages cover expenses); it just doesn't direct any portion of those wages into retirement accounts after the coast-end age. If your real-world Coast involves a meaningful salary cut, edit yourSalary directly to reflect it. WHY THIS WORKFLOW — Coast FIRE is widely discussed in the FIRE community as a less-extreme version of FIRE: instead of front-loading enough savings to retire at 45, you front-load enough to remove savings pressure by 45 and let compound growth carry you to 60–65. The workload change matters more than the timeline change — Coast lets people downshift to lower-paying, more enjoyable work without retirement-math anxiety.
23
☕ Barista FIRE — Post-Retirement Wage Income
An input for modeling part-time work income during the retirement window — the FIRE variant where retiring from a career doesn't mean retiring from all wage income. You enter an annual wage amount and the age range it covers (start age → end age, both inside your retirement window). During those years, the wage reduces the portfolio withdrawal need and stacks on top of any other ordinary income for tax purposes.
The interactions that matter for FIRE planning. Tax bracket. Barista wage is ordinary income and stacks with portfolio draws and SS — a high enough wage can push you into a higher bracket and squeeze the Roth conversion sweet spot (Section 15) during the same years. Social Security earnings test. If you claim SS before your Full Retirement Age and your barista wage exceeds the annual earnings limit (~$22,320 in 2025, inflation-adjusted forward), the SSA reduces your benefit $1 for every $2 over the limit. If this applies to your plan, model the reduced benefit by lowering the "SS Benefit Confidence" slider accordingly. IRMAA. Barista wages count toward MAGI when 65+, so they can push you across an IRMAA tier and add Medicare premium surcharges (Section 4 covers the bracket mechanics). ACA subsidies. Pre-65, MAGI determines marketplace subsidy eligibility — a barista wage that crosses the cliff can substantially raise out-of-pocket healthcare cost. What this doesn't model. FICA tax on the wage itself (~7.65% W-2 / 15.3% self-employed) is not subtracted from the wage you enter — use your expected after-FICA take-home if precision matters. Employer 401(k) match during barista years isn't separately modeled; if your barista job offers a match, fold it into your savings rate. Why this workflow. The FIRE community widely treats Barista FIRE as a hedge — partial wage income reduces sequence-of-returns risk in the early retirement window and lets people retire from their career years earlier than full-FIRE math requires.
24
🏥 Healthcare Bridge — Pre-Medicare Cost Modeling
The window between retirement and Medicare eligibility (typically retirement age → 65) is one of the most under-modeled costs in early retirement. Employer coverage ends, COBRA expires after 18 months, and an ACA marketplace plan becomes the realistic option for most households — at premiums driven by household MAGI relative to the federal poverty level. The engine treats this bridge as a first-class input rather than rolling it into general spending, because the dollar exposure is large ($15k–$30k+/yr per adult is typical for full-cost marketplace plans without subsidies) and the MAGI interaction creates real planning leverage that disappears once Medicare starts.
Pre-Medicare healthcare cost per year:
inflated_cost = monthly_healthcare_input × 12 × max(general_inflation + 2%, 5%)^yearsFromToday
(inflated from today through retirement, not just one year forward — fixed May 2026)
Post-65 IRMAA surcharge (per Medicare-eligible household member):
Triggered when MAGI > tier_threshold; 5 tiers in 2026
Tier-1 thresholds: $109K single / $218K MFJ
Tier-5 thresholds: $500K single / $750K MFJ
Surcharges: ~$1,000 to ~$6,950/yr per person, on top of base Medicare premium
Thresholds inflate at CPI
ACA premium-credit cliffs are modeled per state, refreshed annually with IRS / CMS data.
The mechanics that matter across the bridge. Pre-65 cost input. Monthly healthcare goes into Inputs as a dollar figure; the engine inflates it year-over-year at the higher of general inflation + 2% or 5% (medical inflation has historically run 5–7%, well above CPI). The runway from today to retirement is fully inflated, not just one year forward — pre-fix (May 2026), plans with long timelines under-stated pre-Medicare cost by 50%+. ACA subsidy and the cliff. ACA marketplace premium tax credits scale with household MAGI; the engine tracks the per-state cliff thresholds and refreshes them annually. The Cliff Proximity Gauge on the Roth Strategies card shows live MAGI position vs. the ACA cliff and the five IRMAA tiers — so you can see whether a Roth conversion or gain-harvest in a given bridge year pushes you across. IRMAA at 65+. Once a household member is Medicare-eligible, MAGI above the tier-1 threshold triggers Part B + Part D surcharges, applied per person crossing the threshold (Section 4 covers the tier-by-tier mechanics; thresholds inflate at CPI to track real-world bracket creep). The bridge planning question. Which bracket-management strategies — Roth conversions (Section 15), gain harvesting (Section 20) — make sense in the bridge years? Both lower future RMDs and IRMAA exposure, but both raise current MAGI and can shrink ACA subsidies if you're still pre-65. The Cliff Proximity Gauge exists for exactly this tradeoff. What this doesn't model. COBRA (the 18-month employer-plan continuation) isn't a distinct path — if you plan to use COBRA before the marketplace, enter the COBRA premium for those years. State Medicaid expansion variations (eligibility at low MAGI differs by state) aren't modeled. Long-term care premiums are modeled separately under Inputs → Life Events → Long-Term Care, not in this healthcare-bridge mechanic. Medigap and Part D plan selection aren't optimized — the IRMAA surcharge applies on top of whatever baseline Medicare premium you've factored into your monthly input. Why this matters. Pre-65 healthcare is one of the most-cited reasons FIRE-leaning households delay retirement, and the most mis-estimated line item in early-retirement budgets. Modeling it explicitly — with the ACA cliff and IRMAA cliff visible together — turns "is healthcare going to wreck my plan?" into a question the math can actually answer.
25
🕰️ Historical Back-Test
Replays your plan against the ACTUAL year-by-year market returns and inflation from a past retirement-start year, drawn from Robert Shiller's canonical 1928–2022 dataset (S&P 500 nominal total return, 10-year Treasury nominal total return, CPI-U inflation). This is the Bengen (1994) and Trinity Study (1998) methodology that originated modern withdrawal-rate research — decades before stochastic Monte Carlo was widely available. Surfaced two ways on the Stress Test tab: a Historical Back-Test card (one of five named eras, cohort-survival ring) and the Historical Robustness Workshop (full-range exploration, every eligible start year + stock allocation).
Per retirement year t (0 → yearsInRet):
marketRet[t] = stockAllocPct × stockNominal[startYear + t]
+ (1 − stockAllocPct) × bondNominal[startYear + t]
inflAt[t] = cumulative product of (1 + CPI[startYear + i]) for i = 0..t−1
state = buildInitState(inp, calcRetirement(inp))
for t in 0..yearsInRet:
simYearMC(state, sim, inp, c, t, marketRet[t], null, inflAt[t])
// Deterministic — same plan + same start year → same outcome
survived = !state.depleted
Cohort SR for an era's rolling window W of start years:
cohortSR = (count of starts in W where survived) / |W| × 100
COHORT SR vs MONTE CARLO SR — Both express probability on the 0–100 scale, but they measure different sample spaces. Monte Carlo SR is the fraction of 1,000 stochastic-sample futures where the plan succeeds (random draws from a normal distribution). Cohort SR is the fraction of historical start-year cohorts where the plan would have survived. Neither is "more correct." Monte Carlo explores tails that never historically occurred (its left tail is wider than history); historical replay captures mean reversion that the MC model doesn't have access to. For typical plans (3–4% effective WR, 25-yr retirement) both methods produce similar survival rates. For thin-margin plans (4%+ WR, 30+ yr retirement) historical replay is where dramatic divergences appear: Bengen famously showed that the 1966–1973 cohort broke at 5% WR while later cohorts survived at 6%. METHODOLOGY COMPLETENESS — Investment buckets (401(k), Roth, Brokerage, HSA) grow at the historical year's actual market return. Spending goal, Social Security, pensions with COLA all scale via historical CPI-U. Tax brackets (IRMAA, LTCG) inflate via the historical sequence × pre-retirement constant rate. HYSA + Bridge Cash buckets grow at the historical year's inflation rate (real return ~0% — matches Shiller's long-run T-bill empirical regularity; floored at 0% nominal to prevent shrinkage during deflation). Slightly conservative in eras where T-bills genuinely paid above inflation (e.g., 1980s) but unbiased on average. This closes the methodology seam that previously existed where cash buckets grew at the user's modern HYSA assumption regardless of era. ERA_WINDOWS CURATION — Five canonical eras, each a rolling window bracketing the named stress event with starts on either side: Great Depression 1929 (window 1928–1933, 6 starts), 1966 Bear Market (1965–1969, 5 starts), Stagflation 1973 (1969–1976, 8 starts — the canonical FIRE break window), Dot-Com Bust 2000 (1999–2003, 5 starts), Financial Crisis 2008 (2007–2010, 4 starts). References: Bengen, W. P. (1994). "Determining Withdrawal Rates Using Historical Data." Journal of Financial Planning. Cooley, P. L., Hubbard, C. M., & Walz, D. T. (1998). "Retirement Spending: Choosing a Sustainable Withdrawal Rate" (the Trinity Study). Shiller dataset: http://www.econ.yale.edu/~shiller/data/ie_data.xls.
26
📋 Future One-Time Expenses
Your monthly goal handles ongoing living costs — housing, food, transport, healthcare, leisure. Future Expenses is a separate list for the lumpier, one-shot outflows that come and go at specific ages: a daughter's wedding at 68, a new car at 72, a kitchen remodel at 75, grandkid college help at 70. You enter each expense in today's dollars; the engine inflates it to its expense year via CPI and deducts it from your portfolio when that age arrives. Up to 10 entries. Recurring costs belong in your monthly goal, not here.
Per expense entry e = {label, amount, age}:
if e.age ∈ [currentAge, lifeExpectancy]:
yearsToExpense = e.age − currentAge
inflatedAmount = e.amount × (1 + inflationRate/100)^yearsToExpense
cascade: savings → brokerage (via _drawBrok) → Roth → 401(k)
else: silently skip
Multiple entries at the same age are processed in array order. Out-of-range entries (age < currentAge or > lifeExpectancy) are skipped without crashing.
The cascade reuses the same withdrawal order as the home purchase deduction (§17 Lump Sum Tax Handling) — savings first (no tax friction), then brokerage with basis-adjusted gain tracking (the engine applies the same _drawBrok cascade helper used everywhere else), then Roth (no tax), then 401(k). This isn't tax-perfect for every individual situation (tax on the 401(k) portion would be assessed in the year of draw at your marginal rate), but it produces the structurally correct cash flow and follows the same conservative ordering every other lump-sum deduction uses.
UI-MANAGED ONLY — Future Expenses is the only DEFAULTS field in the app that the AI Advisor explicitly cannot modify via APPLY. The AI has full READ access to your list (it can reference "your $30k wedding at 68" in narrative) but cannot add, edit, or remove entries on your behalf. The list is yours: you stay in control of what counts as a planned one-time expense and what doesn't. This is enforced two ways: server-side (futureExpenses is intentionally excluded from the AI's fields[] catalog in the chat prompt) and client-side (the applyToPlan central pipeline drops any futureExpenses field from inbound APPLY changes before committing). If you want the AI's help thinking about a planned expense, ask it conversationally; the AI will discuss the trade-off and point you to the Future Expenses panel in Inputs → Life Events to add the entry yourself.
WHAT THIS DOESN'T MODEL — Recurring expenses (annual vacations, ongoing parental support, predictable medical co-pays) belong in your monthly goal, not here — use spending phases to model lifestyle changes over time. Expenses that fund through specific accounts (HSA-only medical, 529-routed tuition) are simplified to the standard cascade; the engine does not pre-allocate from a designated source. Tax on the 401(k) portion of a future-expense draw is approximated at the year's effective rate; for unusually large draws the actual marginal rate may differ. The list cap is 10 entries; that's an architectural limit, not a research recommendation — most retirement plans don't need more than 5–10 one-time expenses to capture material outflows.
HOW TO USE IT WELL — Estimate in today's dollars; let the engine handle inflation. Be conservative on amount: $35k for a wedding rather than $25k unless you really have it dialed in. Be specific on age: "sometime in my 70s" isn't actionable — pick a specific year. Run Monte Carlo before and after adding expenses to see how your plan absorbs them — if a $30k expense at 70 visibly drops your success rate, that's the model telling you the expense is straining your plan and you may want to budget for it in advance (more savings now, smaller monthly goal in retirement, or accepting the trade-off honestly).
27
🎁 Qualified Charitable Distribution (QCD)
A Qualified Charitable Distribution is a direct gift from a Traditional IRA to a qualified charity, allowed once you're 70½. Unlike a normal charitable deduction, a QCD is EXCLUDED from your income entirely — it never appears as taxable income in the first place. It counts toward your Required Minimum Distribution tax-free, and because it keeps your income (and therefore your MAGI) lower, less of your Social Security is taxed and you stay further from the Medicare IRMAA surcharge cliffs. The honest trade-off: the donated principal leaves your estate, so it lowers your legacy. Two inputs in the Tax section — a fixed annual amount, or “give my entire RMD to charity” (which tracks the RMD as it grows year over year).
Per year, computed before the RMD step and the IRMAA MAGI check:
target = qcdGiveFullRmd ? thisYearRMD : (qcdAnnual × inflation_factor) // qcdAnnual in today's $
eligible = age ≥ 70 AND (qcdGiveFullRmd ? thisYearRMD > 0 : qcdAnnual > 0)
qcd = eligible ? min(target, QCD_LIMIT × inflation_factor, IRA balance) : 0
One value feeds three channels:
(1) IRMAA MAGI proxy: magiRMD = max(0, projectedRMD − qcd) // QCD-satisfied RMD excluded
(2) RMD step (73+): IRA balance −= qcd // to charity, tax-free, leaves estate
taxableRMD = min(IRA balance, max(0, RMD − qcd)) // only the unsatisfied RMD is taxed
(3) Legacy: the IRA bucket is reduced by qcd
QCD_LIMIT = $108,000 (2025 IRS, today's $, indexed forward each year)
THE HEADLINE CHANNEL IS IRMAA — a normal RMD inflates your MAGI; a QCD-satisfied RMD does not. For a retiree sitting just over an IRMAA tier threshold, redirecting the RMD to charity can drop MAGI back under the cliff and erase the Medicare surcharge for both spouses. The SS-taxability and federal-bracket savings fall out automatically as the taxable RMD shrinks. IRA-ONLY, AGAINST A POOLED BUCKET — a QCD must come from an IRA, not a 401(k). The engine pools all pre-tax balances (401(k) + Traditional IRA) into a single bucket, so it models the QCD against that pooled pre-tax balance; if your pre-tax money is mostly in a 401(k), roll the portion you intend to give into an IRA first (a standard tax-free rollover) so the real-world mechanics match the model. USER-ONLY (v1) — the QCD applies to your own pre-tax bucket; because the pooled bucket cannot attribute whose IRA a dollar came from, a separate spouse QCD is not modeled in this version. WHAT THIS DOESN'T MODEL — the 70½ half-year is applied from age 70 (whole-year engine). Full-RMD mode is the precise, correctly-timed path (it auto-starts at your RMD age); a fixed annual QCD applies from 70 regardless. State tax follows your state's general retirement-income rules. BYTE-IDENTICAL WHEN OFF — with no QCD set, every QCD computation reduces to zero, so plans without a QCD are unchanged. References: IRS Publication 590-B; Internal Revenue Code §408(d)(8).
28
⚠️ Early-Withdrawal Penalty (Before 59½)
Withdrawals from pre-tax retirement accounts (401(k), Traditional IRA) before age 59½ normally incur a 10% federal early-withdrawal penalty on top of ordinary income tax. The engine applies this penalty by default. Because the engine draws taxable accounts first (bridge reserve → savings → brokerage → 401(k)/IRA → Roth), only plans that exhaust their taxable accounts before 59½ ever reach the penalized pre-tax bucket — in practice, marginal early-retirement (FIRE) plans. A toggle in the Tax section (“penalty-free access before 59½”) turns the penalty off for users with a qualified early-access strategy: a 72(t)/SEPP schedule, the Rule of 55, or a Roth conversion ladder.
Per year, after the 401(k)/IRA draw is determined:
earlyPenalty = (!earlyAccessStrategy AND age < 59.5 AND from401k > 0) ? 0.10 × from401k : 0
pre-tax balance −= earlyPenalty // withdraw extra to pay the IRS → lowers end balance
Integer age ⇒ age < 59.5 is equivalent to age ≤ 59.
Roth is NOT penalized (drawn last; contributions penalty-free).
HSA is separately age-gated; RMDs are 73+, so they never overlap the penalty window.
DEFAULT-ON IS THE HONEST FLOOR — modeling the penalty by default means an aggressive early-retirement plan shows its true cost: a 50-year-old draining a 401(k) to bridge to 59½ loses 10% of every pre-tax dollar to the IRS. Turning the toggle on is the user asserting they have a real penalty-free mechanism in place. WHO ACTUALLY HITS IT — most plans don't, because the engine spends taxable money first; the penalty only bites when taxable + Roth-contribution money run out before 59½. That's exactly the thin-margin FIRE population for whom the 10% matters most, and the population most likely to have a 72(t) or Rule-of-55 in place — hence the toggle. WHAT THIS DOESN'T MODEL — the penalty on Roth EARNINGS withdrawn before 59½ (would require Roth cost-basis tracking the engine doesn't carry; Roth is drawn last anyway); per-spouse age within the combined household pre-tax bucket (uses the primary age); state-level early-withdrawal penalties (federal 10% only). The toggle trusts your assertion — it does not validate that you've set up a compliant 72(t), satisfied the Rule of 55's separation requirement, or seasoned a ladder five years. Reference: Internal Revenue Code §72(t).
29
💼 Social Security Earnings Test (Claiming Early While Working)
If you claim Social Security before your Full Retirement Age (67 for anyone born in 1960 or later) and you keep earning a paycheck, the SSA applies an “earnings test”: it withholds $1 of benefits for every $2 you earn above an annual limit (~$23,400 today). The withheld benefits aren't lost — at your FRA the SSA recomputes your benefit upward to credit back the withheld months, so over a normal lifespan it's roughly actuarially neutral. The real cost is timing: less SS during the early working years (when your portfolio is largest and sequence risk is highest), more later. It's the classic Barista FIRE surprise. The engine applies this automatically — there's no toggle; it triggers whenever you claim before FRA and have part-time income above the limit.
SS_EARNINGS_LIMIT = $23,400 (today's $, indexed forward — alongside FRA = 67)
Modeled as an EFFECTIVE CLAIM AGE — working above the limit while claiming early ≈ delaying the claim:
workingYrsPreFRA = max(0, min(FRA, partTimeUntilAge) − ssClaimAge)
withheldPerYr = 0.5 × max(0, 12 × partTimeMonthly − SS_EARNINGS_LIMIT) // $1 per $2 over the limit
monthsWithheld/yr = min(12, withheldPerYr ÷ monthly benefit at the early claim age)
effectiveClaim = min(FRA, ssClaimAge + workingYrsPreFRA × monthsWithheld/yr ÷ 12)
ssMonthly = adjustedSSBenefit(ssFRABenefit, effectiveClaim) // recomputed at the later age
ssBridgeYrs = max(0, effectiveClaim − retirementAge) // longer bridge to fund from the portfolio
ONE ADJUSTMENT, TWO EFFECTS — pushing the effective claim age later captures both halves in a single number: a LONGER BRIDGE (SS starts later → your portfolio funds more of the early working years) AND a HIGHER RESTORED BENEFIT (less early-claim reduction once it starts). Because the headline numbers, the year-by-year projection, and every Monte Carlo path read the same effective claim age, the three surfaces stay perfectly consistent. INFLATION-INVARIANT — earnings and the limit inflate together, so the withheld fraction doesn't depend on the inflation assumption; the calculation is done in today's dollars. INDIVIDUAL TEST — per-person, on your own SS based on your part-time income only; there's no spouse part-time-income field. WHAT THIS DOESN'T MODEL — partial withholding is modeled as deferral (a slight conservative bias); the higher special $1-per-$3 limit in the calendar year you reach FRA is not modeled (standard under-FRA $1-per-$2 throughout); only EARNED income counts (pensions, account withdrawals, investment income don't trigger it). When it applies, a note under your SS claim age shows the estimated annual withholding and your effective claim age. Reference: Social Security Administration, Retirement Earnings Test.
30
🧭 Planning Horizon (Longevity Risk)
How long should your money last? Most people plan to their life expectancy — but that's a coin flip: by definition, half of people outlive it. Planning to the average means a 50% chance of running short in your final years, the single most avoidable retirement mistake. The Planning Horizon Workshop suggests a horizon you're unlikely to outlive by reading the actual survival curve, not the average — drawn from the Social Security Administration's 2022 Period Life Table (the same actuarial data Social Security uses). For couples it plans to the LAST survivor, which is meaningfully longer than either spouse alone.
survival(current → target, sex) = lx(target) ÷ lx(current) // conditional survival from the SSA cohort table
horizon(p) = the oldest age where survival(current → age) ≥ (1 − p) // e.g. p = 0.85 → only 15% are still alive
Couples (last survivor):
jointSurvival(age) = 1 − (1 − survival_you(age)) × (1 − survival_spouse(age))
household horizon(p) = the oldest age where jointSurvival(age) ≥ (1 − p)
PLAN TO THE TAIL — mean life expectancy is the wrong target: it's a 50/50 bet, and outliving your money is far worse than dying with a cushion. A percentile slider lets you choose your own margin (the default plans to roughly the 85th percentile — only about a 1-in-7 chance of outliving it); the mean is always shown alongside as the coin-flip for contrast. Optionally provide sex at birth for a sharper read — it's a workshop-only choice, never saved. FREE — the workshop and a gentle plan-health nudge (shown when your set life expectancy carries a real chance of being outlived) are free, not a paid feature. CAVEATS — the 2022 period table slightly understates future longevity (a conservative direction), and it's population-average, age + sex only: affluent, healthy, or long-lived-family profiles run longer, so lean toward the cautious end. Reference: Social Security Administration, Period Life Table, 2022 (2025 Trustees Report), table 4.C6.
31
🔎 Deep Search (Searched Optimizers)
The free calculator answers what your plan does. Deep Search answers which strategy is best — it puts the same simulation engine to work, running hundreds of scenarios against your actual plan to find the strongest choice for one decision at a time, judged on your real outcome — median legacy in today's dollars for the legacy-seeking tools, success rate for the risk-side scan. Seven searched optimizers: the couple's Social Security claim (all 81 combinations, survivor benefit included), the Bridge Optimizer (your coordinated bridge-years plan — flat and year-shaped Roth conversion ladders, each tested with and without 0% gain harvesting, ACA subsidies and IRMAA cliffs priced into every candidate, and a materiality floor so a noise-level win never dethrones your current plan), what your plan hinges on (a tornado ranking which assumption you're most fragile to), solve-for-your-goal (name a target like 95% success and it works backward to the exact lever value that hits it), Spending Shape (the permission-to-spend search — the most you can spend, especially in your go-go years, while your odds hold a floor you choose and your legacy stays above what you want left, which can be zero), the Combined Risk Scan (the risk-side sibling — it stacks validated pairs of the Stress Test tab's one-at-a-time risks, reports honestly whether any combination hits harder together than the two cards predict separately, and when one does, prices the defense — dynamic spending guardrails — against your own worst pair), and Deep Scan (the one-click capstone that runs the legacy-seeking optimizers together for the true combined payoff — deliberately excluding Spending Shape, because spending more is a values trade, not a free win). It's the searched optimization the $5,000–$10,000 advisor tools charge for, opt-in behind a Run button in the Optimize tab, part of Navigator.
Each tool searches the same seeded engine, scored on your real outcome:
Couples SS argmax over all 81 (your claim, spouse's claim) pairs → median legacy
Bridge Opt argmax over conversion ladders × harvesting on/off (flat + year-shaped, cliff-priced) → median legacy
Plan Hinges rank each assumption by | metric(better) − metric(worse) | (tornado)
Solve-for-Goal grid a lever, interpolate to where metric(lever) = your target
Spending Shape max spending s.t. success ≥ your floor AND median legacy ≥ what you want left
Deep Scan apply every legacy-seeking winner to one plan → ONE combined Monte Carlo → the true joint gain
SEARCHED ON YOUR REAL PLAN — every candidate is a full run of the same Monte Carlo engine behind your headline numbers, so it reflects your actual taxes, bridge years, and sequence risk, not a rule of thumb. THE MOVES INTERACT — Deep Scan runs one combined simulation instead of adding up the parts, because delaying Social Security reshapes the room for Roth conversions; the true joint payoff isn't the sum. MONTE CARLO NOISE — under simulation variance, sub-dollar precision is illusory, so Solve-for-Goal grids and interpolates; searches run at a lighter sim count, then the winner is re-scored at the full display count. NO ENGINE CHANGE — Deep Search re-applies inputs the engine already reads, so it never alters how your plan is computed or your saved AI Plan Score. OPT-IN AND PAID — each optimizer runs only when you press Run (Couples SS alone is 81 full plans); it's part of Navigator. Reference: RetirementScenario.com, Optimize tab.
🌱 Contribution Escalation (Ramping Savings)
Most calculators assume you contribute the same dollar amount every year until retirement — but real savers raise their contributions as their income grows. Contribution escalation models that: pick any account (401(k), Roth, savings, brokerage, HSA — for you or your spouse) and set it to climb each year, either by a percentage that tracks your raises or a flat dollar step. Tax-advantaged accounts ramp up to the IRS limit, then hold. The result is a more realistic accumulation path — and a "Building your nest egg" table on the Projection tab that shows, year by year, how your contributions and growth compound into your retirement-day nest egg. There's also a free Smart Move that recommends ramping your 401(k) for savers who can't max out today but have the runway to grow into it.
Percent mode: contribution(year t) = start × (1 + rate)^t // compounds, tracking raises
Dollar mode: contribution(year t) = start + step × t // a flat annual increase
Capped (401k, Roth): min(contribution, IRS limit) // climb to the cap, then hold
Nest egg builds year by year: balance = (balance + contribution) × (1 + return)
RAMPS TO THE CAP, THEN HOLDS — for 401(k) and Roth, the yearly increase stops at the IRS contribution limit; it never assumes you'd contribute above the legal maximum. BOTH SPOUSES — each account, for you and your spouse, escalates independently. BYTE-IDENTICAL WHEN OFF — a plan with no escalation set computes exactly as before; the ramp only changes the math when you turn it on, so your saved AI Plan Score is unaffected until then. THE ACCUMULATION TABLE RECONCILES — every row reads Start + Contributions + Growth = End, and the final row equals the nest egg your retirement projection starts from, to the dollar, so you can validate it yourself. A MODELING ASSUMPTION, NOT A COMMITMENT — you tune it or turn it off anytime; real-world raises aren't guaranteed, so model conservatively. Reference: RetirementScenario.com, Inputs tab.
A knowledgeable friend, not a sales pitch. Every projection is grounded in tested math; every AI response is grounded in authoritative sources. Here's exactly how that's enforced — pillar by pillar, gate by gate, eval by eval.
23
Pre-push gates
82
AI eval entries
31
Real personas
33
Glossary entries
$0
Drift tolerance
The five pillars
What we promise about your retirement numbers
Each pillar is a promise about how this platform's accuracy is maintained. Together they describe the trust posture from end to end — math engine through AI Advisor.
🧪 Reproducibility
Every change is tested. The pre-push pipeline runs automatically on every push — no opt-outs. We don't ship around failing tests; the test gets fixed or the change doesn't go out.
Math is exercised against 26 realistic retirement profiles — early retirees, FIRE plans, Coast FIRE, household + single, multi-state edge cases, pension-heavy. Every profile re-runs when the engine changes.
Your projection won't change without us telling you why. Every code change is locked against a regression gate that fails on any output drift. When fidelity does change — a tax law update, a bug fix — it's documented in the changelog.
What you run in your browser is verified against the version we test in development. Bundle minification can silently strip dead code; this gate catches that failure mode.
The AI Advisor you talk to is verified against an 82-entry canonical question set covering navigation, card references, deterministic field citations, recommendation shape, out-of-scope handling, and compositional patterns. By policy, the AI never recommends specific products, services, or providers — it educates and grounds in authoritative sources (IRS, SSA, Bengen / Trinity / Pfau research). Every shipped fix to AI grounding gets a permanent regression test, so when something slips it can't slip the same way twice.
Seven methodological commitments that distinguish this platform from category baseline. The full math doc lives in the "How It Works" modal — link below to open it at any specific topic.
Seeded Monte Carlo
Monte Carlo simulations use a deterministic seeded RNG. Same inputs produce identical trajectories across reloads — no success-rate flicker. 1,000 sims for headline confidence; 750 for sweep metrics.
SECURE 2.0 birth-year-aware RMDs
RMD age is dynamic per birth year: 75 for births 1960+, 73 for births 1951–1959, per IRS Pub 590-B. No hardcoded "73" anywhere in the engine; the prompt verifier scans for drift on every push.
51-state tax modeling
All 50 states + DC modeled individually: tax brackets, standard deduction, LTCG treatment, IRMAA thresholds, ACA premium-credit cliffs. Refreshed annually against IRS / CMS / HHS source publications.
Roth conversion sweet spot + IRMAA framing
Engine computes annual Roth conversion recommendation grounded in the user's bracket headroom AND IRMAA Medicare-surcharge tier position — not generic 4% conversion advice.
Tax-optimal withdrawal order
Withdrawal sequence — bridge → savings → brokerage → 401(k) → HSA → Roth — applied year by year. The order you withdraw determines how much goes to the IRS vs. your retirement.
Guyton-Klinger dynamic spending
Opt-in dynamic withdrawal modeling the Guyton + Klinger 2006 guardrail framework. Capital preservation rule + prosperity rule. Historically supports 5.0% safe withdrawal rates vs the 4% rule's static math.
Historical back-testing (Bengen / Trinity Study)
Plan replayed against Shiller's 1928–2022 dataset of actual S&P 500, 10-year Treasury, and CPI-U sequences. Two surfaces: a five-era card (Great Depression / 1966 / stagflation / dot-com / financial crisis) and a full-range workshop (every eligible start year, allocation slider). Cohort survival rate sits alongside Monte Carlo SR — two views of the same plan, honest about what each measures.
AI Advisor verification
A four-tier regime for AI behavior — not just AI prompts
The most likely production-bug source in any LLM-integrated product.
The pipeline has 23 pre-push gates. The AI Advisor needs a different kind of verification — one that actually talks to the AI and checks what it says. Three tiers shipped and active; a fourth (live response-pattern telemetry) is queued.
Brand-voice principle (mechanically enforced): the AI never recommends specific products, services, or providers. It educates on principles, frameworks, and trade-offs; it grounds in authoritative sources (IRS, SSA, CFPB, FINRA, SEC, Bengen / Trinity Study / Pfau / Kitces research). Trust gets eroded when calculators recommend things — so we don't.
For every category of question users ask the AI — "where do I change X?", "tell me about Y card", "what's my Z value?", "should I do strategy W?", "should I buy this specific product?" — there's a canonical entry in the eval corpus. Each entry has shape-based assertions; the runner dispatches each to Anthropic, applies assertions to the response, compares against the locked baseline.
82Eval entries across 12 categories
6Permanent regression locks per shipped AI bug
2Cross-cutting brand-voice assertions on every response
3Static prompt-source gates in pre-push pipeline
Every reported AI bug becomes a permanent regression entry — when something slips, it can't slip the same way twice. The same discipline that math regression-locks every shipped bug fix, extended to AI behavior.
Before any code reaches you, every release runs through a fail-fast verification pipeline. Each gate fails the push if it doesn't pass — no opt-outs, no soft-warnings. The first red gate halts the push; your retirement numbers can't silently shift, and the AI Advisor you talk to can't silently drift.
1 · ~50ms · static
Size guard
Asserts the deployed bundle is above a calibrated byte threshold. The bundle minifier can silently strip dead code; this gate catches the failure mode where a refactor accidentally removes a load-bearing chunk and the build looks fine but ships broken.
Locks: what you run in your browser matches what we built.
2 · ~2s · byte-compare
Deployed-bundle freshness
The app you load is a minified build of the source. This gate rebuilds the bundle from the current source and byte-compares it against the committed file — catching the failure mode where a fix lives in the reviewed source but a stale build never carried it to your browser.
Locks: what you run is a fresh build of the reviewed source.
3 · ~100ms · static
Three-list alignment
Every input field is defined in four places — the engine's defaults, the user-action whitelist, the AI Advisor's known-fields list, and the cache-key derivation list. This gate verifies all four agree.
Locks: input contracts stay synchronized.
4 · ~80ms · 255 deep checks
State tax profile parity
State tax modeling for 51 states (50 + DC) is defined in two places — the engine and the methodology doc. 51 × 5 fields = 255 equality checks confirm the documented tax treatment is exactly what the engine applies.
Locks: documentation can't drift from code.
5 · ~80ms · static
Actuarial life-table parity
The Planning Horizon Workshop reads the SSA 2022 period life table. The table is defined in two places — the engine and the methodology doc. This gate confirms every survival probability the workshop shows you is exactly the number the engine computes with.
Locks: longevity math matches its documentation.
6 · ~60ms · static
Move library descriptor drift
The Smart Moves library (31 moves) is defined in the engine; the AI needs a parallel description. This gate confirms the AI's catalog matches the engine's exactly.
Locks: AI knows the same moves the engine can apply.
7 · ~50ms · static
ENGINE_VERSION drift
The engine carries a version stamp that must change whenever the calculation math changes. This gate diffs the current engine functions against the version they were last stamped at and fails the push if the math moved without a stamp bump — the same stamp that invalidates any cached AI analysis so you are never shown a stale number against new math.
Locks: engine math can't change silently.
8 · ~30ms · parse-only
API syntax check
Runs node --check on every server-side file. Added after a single misplaced apostrophe in a system prompt broke the AI Advisor endpoint for ~24 hours.
Locks: server-side code parses before deploy.
9 · ~50ms · static
API no-undef scan
Static scope analysis of every server-side file — catches a reference to a variable that was never defined, the runtime-error class a plain syntax check can't see. Added after exactly that bug: a reference to an undefined body returned a 500 on every AI call for ~24 hours.
Locks: server code can't ship an undefined-variable crash.
10 · ~80ms · 5 schema checks
AI deep-link infrastructure
The AI Advisor can navigate you to a specific input when you ask "where do I change my SS claim age?" This routing relies on three layers staying in sync; this gate verifies all three are wired so AI navigation can't silently no-op.
Locks: AI deep-link navigation stays functional.
11 · ~80ms · static
AI prompt section-target drift
The AI's system prompt references specific UI cards by name. If a card gets renamed but the prompt still references the old name, the AI would confidently tell you to look for a card that no longer exists. This gate verifies every reference resolves.
Locks: AI navigation references real, current surfaces.
12 · ~2s · 5 personas × 9 fields
AI context payload schema
When the AI responds, it gets your specific data — your RMD age, your success rate, your bridge-year MAGI, your effective tax rate. If the engine stops producing one of these fields, the AI silently falls back to generic defaults. This gate catches that.
Locks: AI receives the deterministic data it expects.
13 · ~50ms · regex scan
AI prompt hardcoded-value scan
Scans prompt source for known-drifty hardcoded values (specific ages, dollar amounts, tax brackets) that should be dynamically interpolated. Context-aware: legitimate historical references don't fire; user-direct claims do.
Locks: AI prompts can't quietly drift from current rules.
14 · ~2s · 186 assertions
Structural invariants
Six structural rules across 31 personas (186 assertions): balances can't be negative, monthly displays can't exceed annual ones, depleted-flag semantics must be consistent. Catches math regressions that don't shift the bottom line enough to fail persona-gate.
Locks: engine math respects structural rules.
15 · ~15s · 72 verifiers
Per-bug + Worker verifiers
Every shipped bug fix gets a dedicated verifier. Same for Worker infrastructure (the off-thread calculation pipeline) and the Observation Engine's detector mechanisms. 72 individual checks. If any future refactor accidentally reverts a fix, the verifier fires.
Locks: every shipped fix is permanently regression-tested.
16 · ~1s · 20 boundary shapes
Degenerate-input safety
Runs 20 degenerate and boundary input shapes — zero balances, a life expectancy at or below retirement age, already-retired, extreme values — through the engine and all three Monte Carlo paths. Asserts no output is ever NaN or a stray infinity, and that an impossible window returns a clean “no result” instead of a crash or a garbage number.
Locks: edge-case inputs degrade gracefully, never into a broken number.
17 · ~10s · 31 personas · $0 drift
Persona end-balance gate
The master correctness check. 31 synthetic retirement profiles — early retirees, FIRE plans, Coast FIRE, household + single, multi-state edge cases — run through the engine and compare against locked baseline end balances. Any drift, even $1, fails the push.
Locks: your projection won't change unless we tell you why.
18 · ~3s · 12 cells
Monte Carlo determinism
Monte Carlo uses random numbers, but for the same inputs they must produce the same results across runs. Verifies the seeded RNG produces byte-identical MC trajectories across 4 personas × 3 simulation functions.
Locks: reload the page, get the same success rate.
19 · ~12s · structural integrity
Lens consistency
Smart Moves has four lenses (Retire Earlier, Spend More, Leave a Legacy, Weather a Downturn). Validates every move object across all four is well-formed.
Locks: Smart Moves system can't ship malformed move objects.
20 · ~7 min · 124 lens computations
Smart Moves snapshot
The largest gate. For each of 31 personas, computes baseline + optimized values across all four lenses (124 total computations using real Monte Carlo bisection). Compares against locked baseline with tight tolerance bands.
Locks: the flagship feature produces consistent recommendations.
21 · ~1s · copy ↔ constants
Doc constant drift
User-facing copy — methodology, glossary, in-app tips — cites IRS limits, tax thresholds, and contribution caps. This gate re-derives each from the live engine constant every run and fails if any copy string still shows a stale value (last year’s number after a limits update). The discipline gate 13 applies to the AI prompt, applied to the words humans read.
Locks: the words describing your numbers can’t drift from the numbers.
22 · ~50ms · static
Doc ledger 1:1
Every methodology section and every glossary entry must have a row in the documentation coverage ledger — and no ledger row may cite a section or term that doesn’t exist. A new feature can’t quietly add engine math without its documentation being accounted for.
Locks: documentation coverage stays mapped to the code.
23 · ~90s · headless browser
Headless UI smoke
Loads the built app in a real headless browser and walks every tab on realistic and boundary plans — asserting no render crash and that the cards that should appear actually appear. The gates above test the engine in a sandbox; this one catches render-layer failures they can’t see — a plan that calculates correctly but crashes on screen.
Locks: the app renders, not just calculates.
A 24th step — a cross-repo check that the app and marketing changelogs stay in sync — runs warn-only: it surfaces drift but never blocks a release, so it isn’t counted among the 23 gates above.
🛑
Fail-fast: first red gate halts the push
If any single gate fails — even the cheapest 30ms check — the entire push is blocked. No manual override, no per-gate bypass. Either every gate passes and the code ships, or nothing ships and we fix the regression first.
Persona corpus
31 synthetic retirement profiles, baseline-locked
The persona gate (step 17 above) runs each of 31 hand-built retirement profiles through the engine on every push: early retirees, traditional retirees, FIRE plans, Coast FIRE, single-earner households, dual-earner households, pension-heavy plans, multi-state edge cases. Each persona has a locked baseline end balance. The gate compares fresh runs against the lock. Any drift — even one dollar — fails the push. The corpus expands as we discover real-world edge cases users hit.
AI Advisor eval set
82 canonical question/response pairs
The pipeline has 23 gates. AI behavior needs a different mechanism — one that actually talks to the AI. For every category of question users ask — "where do I change my X?", "tell me about Y card", "what's my Z value?", "should I do strategy W?", "should I buy this specific product?", "what about a survivor scenario?", "I just got laid off and I'm panicking" — there's a canonical entry in the eval corpus.
Each entry has shape-based assertions (does the AI emit the right navigation directive? cite the right number? decline the right kind of request? never recommend a specific product?). The runner dispatches each entry to Anthropic, applies assertions to the actual response, compares against the locked baseline. Any entry that flips from passing to failing exits non-zero and the change doesn't deploy until it's understood. The eval set runs separately from the pre-push pipeline (cost + dispatch time make per-push unfit). Discipline rule: any change to AI prompt source triggers an eval run before deploy.
Source-vs-shipped parity
What runs in your browser matches what we test
The size guard (gate 1) + the persona end-balance gate (gate 15) together lock the relationship between the source we develop against and the bundle we ship. The minified browser bundle is verified semantically equivalent to the source across all 27 persona end balances. If they ever diverge, we catch it before you see it.
Your data, your device
Privacy isn't a policy. It's an architecture.
There's no backend server, no database, no user account — by design. Your inputs live in your browser, and we keep no copy you could lose, leak, or sell. The two opt-in exceptions — the AI Advisor and Share links — are detailed below.
🔒 Stored in your browser
Inputs, calculations, saved scenarios — all stored in your browser's local storage. Clear your browser data and it's gone; we have no copy.
🚫 No account, no signup
Use the full calculator without registering anything. No email, no profile, no marketing pipeline waiting to be hacked.
📊 Anonymous analytics only
PostHog gets click/scroll events tied to a random local UUID — no identifiers, no financial inputs, no AI conversations. Easy to block with any privacy extension.
🤖 AI Advisor — anonymized in transit
Plan numbers (no names, no account numbers, no institutions) go to Anthropic to generate the response, then discarded. We don't log requests; Anthropic doesn't train on them.
💳 Stripe handles payment
If you upgrade to Navigator, payment is processed by Stripe. We see a confirmation; Stripe handles every financial detail. No credit cards stored on our side.
🤝 Zero third-party data sales
We don't sell, rent, or share user data with third parties — because we don't have user data to share. The architecture makes it impossible, not a policy promise.
·
Honest limits
What this regime doesn't cover
Honest scope acknowledgment. Naming the limits is part of the trust posture, not a defect.
Calculator results are projections, not guarantees.Monte Carlo gives confidence bands across simulated futures; reality is one path, not 1,000. Use these projections as planning instruments, not crystal balls.
This is not financial, tax, investment, or legal advice.It's an informational and educational tool. For decisions involving significant money, consult a qualified fiduciary CFP, CPA, or estate attorney.
Free-form AI prose quality.The eval set checks structural behavior. It doesn't grade subjective writing quality.
Adversarial AI prompts designed to jailbreak.Out of scope for a retirement-calculator AI.
Cross-model drift on provider updates.When Anthropic ships a new Haiku or Sonnet version, the AI eval set must be rerun and recalibrated.
Real-time AI response telemetry.Tier D — live response-pattern monitoring — is queued for a future release.
Edge cases not represented in personas.Our 31-persona corpus covers realistic edge cases but real-world situations have variations no corpus fully captures.
No silent drift
Recent fidelity changes
The "no silent drift" promise lives here. When calculator fidelity changes — a tax law update, a methodology refinement, a bug fix, a new feature — it gets documented with the date, what changed, and who's affected.
July 25, 2026
Fixed: a wrong bracket label in the free Roth conversion calculator. The Roth conversion calculator shows how much you can convert before the next dollar lands in a higher tax bracket — and it was naming that next bracket wrong, reading "the 112% bracket" (and "122%", "124%") instead of the real rate. There is no 112% tax bracket; the code mislabeled the jump. It now names the correct one — from the 12% bracket into the 22%, from 22% into 24%, and so on. The headroom math underneath was always right; only the label was wrong. It was caught not by a user but by a new proactive sweep we now run over every one of our embedded calculators on every release — feeding each one hundreds of realistic and edge-case inputs and checking the answers can't be nonsensical (no negative costs, no impossible tax brackets, no numbers that move the wrong way). All the others came back clean. Affects: only the wording in the free Roth conversion calculator — no plan, projection, or number changed. The sweep that caught it now guards the whole calculator family.
July 24, 2026
Career-Break Workshop — what would time away from work cost you? One of the biggest things that decides how long you work is time away you didn't plan for — a layoff, or a sabbatical you're weighing. A new free workshop on the Stress Test tab models it honestly: pick how long the gap lasts and when it hits, and it pauses your contributions, draws your living costs from your accounts in the real order (savings, then brokerage, then Roth, then 401(k), with the pre-59½ penalty where it applies), then runs your actual retirement plan forward from the dented balances — so sequence risk, taxes, Social Security, and your spending guardrails all come from the same engine as everything else. It shows the cost four ways (retirement age, retirement income, legacy, and how much of a downturn you could still weather) and prescribes the fix: how much more per month you'd need to save afterward to fully recover. For couples, model your own break or your spouse's. Affects: no existing plan — it's exploratory and fully isolated; nothing you do there touches your saved plan unless you deliberately apply a change. Free.
July 22, 2026
The Inputs tab, rebuilt: only what's in your plan, and one timeline for your life events. The Inputs tab now shows only what you actually use. Each portfolio opens with the person — age, salary, timeline — followed by one card per account you hold; anything you don't use waits behind a "+ Add" button instead of filling the page with empty fields. Your spending section leads with your monthly goal and folds the phases and guardrails into a single line you open when you want them. The accordions are gone — every section is simply open (so your browser's own Find works across your whole plan again), with a small strip at the top naming the plan you're looking at. Life Events reads as an actual timeline — your downsize at 62, a new roof at 64, the mortgage paid off at 67 — each sorted by when it happens, one-time expenses included, with nothing to Save (everything you type is kept as you go). Your pension and expected inheritance now live with their owner, and Healthcare has its own section (it's a permanent cost, not a life event). Affects: nobody's numbers — nothing about the math changed, and every saved plan shows its accounts automatically, with no re-entry.
July 20, 2026
Fixed: a deliberate 0% is now honored, and a catch-up tax detail. Two quiet correctness fixes from an internal audit. First: if you deliberately entered 0% for a rate — inflation, or an expected return — a few places in the engine treated that empty-looking zero as "unset" and quietly substituted the default instead, so the plan didn't fully honor the 0% you asked for. Every one of those spots now respects a real zero. Second: the calculation that decides whether your catch-up contributions are better as Roth or traditional was reading your Social Security as a monthly figure where it needed the annual one, nudging its recommendation slightly toward traditional. Both are fixed and locked with hand-computed tests. Affects: only plans that entered a 0% rate, or that lean on the catch-up Roth-vs-traditional recommendation — most plans are unchanged. Engine version bumped, so a saved AI Plan Score will offer a refresh if your numbers moved.
July 20, 2026
Fixed: spouse savings timing for couples with an age gap. A user trusted their gut that something looked off in their plan — and they were right. For households where the two spouses are different ages, the engine aligned the spouse's projected savings to the wrong point in time: it compared the two retirement ages directly instead of counting the actual calendar years between the two retirement dates. Those only match when both spouses are the same age. If you're younger than your spouse, your household total was understated — your plan looked worse than it really is. If you're older, it was overstated — the direction we take most seriously, because a plan that looks stronger than reality is the one thing this tool promises never to show you. The fix is verified against hand-computed expected values in both directions, and this household shape is now a permanent test case in the regression suite. Reported, root-caused, fixed, and deployed the same day. Affects: households where the spouses are different ages — numbers move up (younger-than-spouse) or down (older-than-spouse). Same-age couples and single plans were never affected. In-app notice shown; engine version bumped.
July 20, 2026
Where your health coverage comes from before Medicare. Before 65, health coverage is one of the biggest early-retirement costs — and where it comes from changes what the plan should charge you. A new Household Coverage card lets you say it plainly: is your pre-Medicare coverage your own, or a still-working spouse's employer plan? If a spouse keeps working, their employer covers the household until they retire, so the engine stops charging a marketplace premium (and the ACA subsidy goes inert) for exactly those years — with Medicare's base premium still starting at each person's 65th birthday. You can also flag a high-deductible health plan to unlock HSA eligibility. The AI Advisor reads both, so it never warns about premiums for years you're actually covered. Affects: households with a spouse-employer coverage window, or anyone on an HDHP; every other plan is unchanged. Engine version bumped.
July 19, 2026
Fixed: who counts as a high earner for Roth (and the 2026 phase-out numbers). The warning that tells high earners to use the "backdoor" when their income is over the Roth IRA limit was comparing your gross salary to the limit — but the IRS keys Roth eligibility off your MAGI, which your pre-tax 401(k) and HSA contributions lower. Someone earning around $250,000 gross while maxing two 401(k)s and a family HSA has a true MAGI well under the limit and can contribute directly; the old check wrongly flagged them as over. It now subtracts those pre-tax contributions before comparing, for each spouse. In the same release we corrected the 2026 Roth phase-out figures shown around the app to the current IRS values — fully phased out above $168,000 (single) and $252,000 (married filing jointly). Affects: this changes eligibility guidance and advice, not any existing plan's projected balance, but because the engine path was touched the engine version bumped, so a saved AI Plan Score will offer a refresh.
July 16, 2026
Your plan is yours to keep: export, back up, and import. Because we store nothing on our servers — no account, everything in your browser — your data is yours, and now you can move it. Export your current plan, back up everything (every scenario plus your check-in progress) to a file, and import any of it on another machine. Your progress history exports and imports for free — a personal record shouldn't vanish with a cleared browser. Full backup and plan export are on the paid tier; importing is always free, because restoring your own data should never be gated. Backups leave out identity and paid-unlock, so a file can't clone access. In the Inputs toolbar and the Progress tab. Affects: nobody's numbers — no calculator math changed.
July 15, 2026
Social Security accuracy for couples: the spousal top-up. Born from a customer who brought us their own numbers. Social Security tops up a lower earner: once the higher earner has filed, the lower earner gets their own reduced benefit PLUS the excess of half the higher earner's full-retirement benefit over their own (the SSA "excess method," automatic for this whole demographic). Without it, the plan kept a lower earner permanently at their small own benefit, over-pricing an early claim and biasing the couples optimizer toward both-of-you-delay; with it, the optimizer can find the classic split the specialist tools recommend — the higher earner delays, the lower earner claims early and steps up. Affects: households where one spouse's own benefit is below half the other's full-retirement benefit; equal earners and single plans are unchanged. Engine version bumped.
July 14, 2026
Your pension's survivor benefit is now yours to set. A pension's survivor benefit — the share that continues to the surviving spouse — is a joint-and-survivor election made per pension, not household-wide. So you can now set that carryover percentage separately for your pension and your spouse's (0–100%, default 50%): if you die, your pension carries over at your election; if your spouse dies, theirs carries over at theirs. It threads through both the base household projection and the Survivor Scenario card, replacing a single hardcoded assumption. Affects: households with a pension whose survivor election isn't the default 50%; everyone else is unchanged.
July 14, 2026
Deep Search — Combined Risk Scan: what if two risks hit at once? Plus two new stress cards. Your Stress Test cards each test one risk at a time — deliberately, so you always know what moved the number. But real trouble rarely arrives alone, and when two risks land together the damage can be worse than the two cards suggest, because the first one eats the buffer the second one needed. The new Combined Risk Scan stacks six research-validated risk pairs against your real plan (retiring early into a crash, a forced early Social Security claim into high inflation, a benefit cut during an inflation decade, and more) and reports the honest joint success rate next to what the two cards would predict separately — a pair only counts as a finding when the combination is at least 15 points worse than that prediction, so simulation noise never gets dressed up as danger. When a hidden gap exists, the scan re-runs your worst pair with dynamic spending guardrails on and shows the priced result before you commit; plans the combinations can\'t dent are told so plainly. Also new on the Stress Test tab: Forced Early SS Claim (claiming at 62 because you need income now, independent of when you stop working) and Sell in a Down Market (your home sells for 20% less exactly when you need the proceeds). Affects: Combined Risk Scan is in the Optimize tab, part of Navigator, opt-in behind a Run button; the two stress cards are free. No calculator math changed.
July 12, 2026
Deep Search — Spending Shape: how much are you allowed to spend? Most careful savers die with their biggest-ever net worth — no tool ever told them what they were allowed to spend. A new optimizer searches dozens of spending shapes against your real plan — more in your active go-go years, less later, or deliberately spending down — and finds the most you can spend while your success odds hold a floor you choose (80–95%) and your legacy stays above whatever you want left, which can be an amount for your kids or "as little as possible." The trade is always stated plainly: how much median inheritance each extra dollar of living costs. The spend-it-down mode is honest about its limits — you can't hit exactly zero at an unknown end date, so it finds the shape whose middle path ends near zero and tells you what happens in the other half of futures. Deliberately not part of Deep Scan's combined optimization: spending more is a values choice, never "optimized" away on your behalf. In the Optimize tab, part of Navigator. Affects: anyone with a spending goal. Opt-in behind a Run button; no calculator math changed.
July 12, 2026
Deep Search — the Bridge Optimizer (and an ACA fidelity fix). Two changes, one honest story. First, a fidelity fix: 0% capital-gain harvesting is federal-tax-free, but harvested gains still count toward the income that sets your ACA marketplace subsidy — and until now the engine didn't charge that cost (the on-screen cliff gauges already did). Harvesting while on marketplace coverage now honestly reduces your modeled subsidy; if you use gain harvesting and retire before 65, your projection may show a slightly lower balance — that's the correction, not a regression. Second, the Roth Schedule optimizer grew into the Bridge Optimizer: instead of one flat conversion ceiling, it searches year-shaped ladders (converting differently in the years you're on marketplace coverage) and tests every ladder with and without gain harvesting — the two moves compete for the same bracket headroom and the same subsidy cliff. It also inherits a stricter winner rule: a plan is only crowned if it beats yours by more than simulation noise. Affects the fix: plans using 0% gain harvesting with ACA marketplace coverage before 65 — a small, honest reduction. Affects the tool: plans with pre-tax savings and a bridge window. Opt-in behind a Run button.
July 8, 2026
Model your savings growing over time (contribution escalation). Real savers raise their contributions as their income grows — so now you can model it. Under any contribution (401k, Roth, savings, brokerage, HSA, for you or your spouse), a new "↗ Increase this each year" option lets it climb by a percentage — tracking your raises — or a flat dollar amount; tax-advantaged accounts ramp to the IRS limit, then hold. A new "Building your nest egg" table on the Projection tab shows, year by year, exactly how your contributions and growth compound into the nest egg your retirement projection starts from — every row reads Start + Contributions + Growth = End, so you can check the math yourself. A new Smart Move also recommends ramping your 401(k) for savers who can't max out today but have the runway to grow into it. Affects: anyone still saving toward retirement. Free. Plans with no escalation set are byte-identical to before, so your saved AI Plan Score is unaffected unless you turn a ramp on.
July 6, 2026
Deep Search — one-click Deep Scan optimizes your whole plan. Deep Scan runs your deep optimizers together — the exact Social Security claim combination and the best multi-year Roth conversion ladder — applies every winner to one plan, and runs a single combined Monte Carlo. The result is the honest joint number: because these moves interact (delaying Social Security reshapes the room for Roth conversions), the combined gain isn't the sum of the parts, and Deep Scan is the only place that tells you what your fully-optimized plan is actually worth. It shows a ranked breakdown of each move's contribution and your biggest remaining risk, with an Apply-all button. In the Optimize tab, part of Navigator. Affects: households with two Social Security records, or plans with pre-tax savings and a bridge window. Opt-in behind a Run button; it re-applies levers the optimizers already produce, so calculator math and your saved AI Plan Score are unchanged.
July 6, 2026
Deep Search — solve for your goal (the inverse calculator). Every other view answers "what happens if I change X?" This works backward: pick a lever you control — annual savings, savings today, retirement age, spending, or Social Security claim age — and a target you want (95% success, a $1M legacy), and Deep Search finds the exact value that gets you there ("save $18,000/yr"), with a curve showing where you cross your target. It's honest about the edges — it tells you when a target is out of reach with that lever alone, and when you already clear it with room to spare. In the Optimize tab, part of Navigator. Affects: anyone who wants to work backward from a goal instead of forward from inputs. Opt-in behind a Run button; no calculator math changed.
July 6, 2026
Deep Search — your best multi-year Roth conversion ladder. One flat conversion amount every year isn't the best you can do. During your bridge years — after you retire, before Social Security — Deep Search tests filling the 12%, 22%, and 24% federal brackets (and staying under the ACA and IRMAA cliffs) against your actual plan across every bridge year, and finds the conversion ladder that leaves you the most, shown as year-by-year bars with the legacy gain. Unlike the single-year "sweet spot," it optimizes the whole schedule on your real outcome — median legacy across 750 simulations. In the Optimize tab, part of Navigator. Affects: plans with pre-tax savings and a bridge window before Social Security. Opt-in behind a Run button; applies with one click.
July 5, 2026
Plan for how long you’ll actually live (Planning Horizon Workshop). Most people plan their money to their life expectancy — but that’s a coin flip: by definition, half of people outlive it, and running short in your final years is the most avoidable retirement mistake. A new free Planning Horizon Workshop (the “Not sure?” link under Life Expectancy) reads the actual SSA 2022 survival curve for your age and suggests a horizon you’re unlikely to outrun — the default plans to roughly the age only about 1 in 7 people outlive, with your life expectancy shown alongside as the coin-flip for contrast. For couples it plans to the last survivor, meaningfully longer than either of you alone. You can optionally provide sex at birth for a sharper read (never saved), and one click writes the age to your plan. If your plan currently runs to an age you have a real chance of outliving, a gentle amber note now points you to it. Affects: anyone choosing a life-expectancy input. No calculator math changed — this only helps you pick a better horizon, so your saved AI Plan Score is unaffected.
July 3, 2026
Deep Search — the best way for the two of you to claim Social Security. For couples, Deep Search tests all 81 combinations of claim ages (each spouse 62 to 70) against your real plan — survivor benefit included — and shows the pair that leaves your household the most, as a heatmap with the winner starred. Most tools optimize a single person or maximize lifetime benefits; this optimizes your actual plan outcome, and captures how claim timing reshapes your bridge-year withdrawals. In the Optimize tab, part of Navigator. Affects: household plans where both spouses have their own Social Security record. Opt-in behind a Run button; no calculator math changed.
July 3, 2026
Deep Search — see what your plan hinges on. Your plan rests on assumptions you can only estimate — investment return, inflation, spending, how long you live. Deep Search runs your plan through better and worse versions of each and ranks which one your outcome is most fragile to, as a tornado chart ("your success rate hinges most on investment return — 6% if it runs against you, 52% if it runs your way"). Pick the goal it measures against — success, legacy, earliest retirement, and more. In the Optimize tab, part of Navigator. Affects: everyone — it surfaces which uncertainty matters most for your specific plan. Opt-in behind a Run button; no calculator math changed.
July 3, 2026
Household plans now run to the longer-lived spouse. Couples rarely die in the same year, and a plan that assumes they do misses one of the most important stretches of retirement: the years one spouse lives alone. Household projections now run to whichever of you lives longer — set each spouse's life expectancy separately under Spouse Portfolio → Age & Timeline — and switch to survivor economics at the first death: spending drops to your survivor goal (default 75% of your monthly goal), the larger of the two Social Security checks is kept (the smaller one stops), tax filing becomes single, and half of the deceased spouse's pension continues while the survivor keeps their own in full. Before this, the plan stopped at your life expectancy and assumed both of you were alive the whole time, so your spouse's longevity didn't affect the result at all. Affects: household plans whose two life expectancies differ — projected legacy and survivor planning move (up for well-funded plans as the survivor spends less and the portfolio compounds through the extra years; down for tighter plans with more years of drawdown). New saved-plan defaults set a spouse life expectancy of 90 to match the individual default, so plans with equal ages and life expectancies are unchanged. Engine-version tag bumps cached AI Plan Score prose to regenerate against the corrected projection.
June 26, 2026
Qualified Charitable Distributions (QCD) — give from your IRA to charity, tax-free. Once you’re 70½, you can give directly from a Traditional IRA to charity. The gift is excluded from your income (it’s not a deduction — it never shows up as taxable income), satisfies your RMD tax-free, and keeps your MAGI lower — so less of your Social Security is taxed and you can stay under the Medicare IRMAA surcharge cliffs. The honest trade-off: the donated money leaves your legacy. Set a fixed annual amount or check “give my entire RMD to charity” in the Tax section. Affects any plan with a QCD set; plans without one are unchanged.
June 25, 2026
Social Security earnings test — claiming early while still working. Claim Social Security before your full retirement age (67) and keep earning a paycheck above ~$23,400/yr, and the SSA withholds part of your benefit, then restores it at 67. We now model this as an effective later claim age — capturing both the early cash-flow hit and the restored, higher benefit. Affects early claimers who keep working (the Barista FIRE case); other plans are unchanged.
June 25, 2026
10% early-withdrawal penalty modeled for pre-59½ retirement-account draws. Retire before 59½ and draw from a 401(k) or Traditional IRA, and the IRS charges a 10% penalty. We now model it, so early-retirement (FIRE) plans that lean on retirement accounts reflect the real cost. It only bites when taxable + brokerage savings run out before 59½; a toggle removes it if you’ll use a 72(t)/SEPP, the Rule of 55, or a Roth conversion ladder.
June 25, 2026
Survivor and divorce scenarios now use single tax filing. When one spouse passes (or in a gray-divorce scenario), the survivor files as a single taxpayer — compressed brackets, a lower standard deduction, and earlier IRMAA. The Stress Test Survivor and Gray Divorce cards now model this “widow’s penalty,” matching the Results-tab Survivor panel.
June 24, 2026
Medicare premiums are now modeled (post-65). The engine modeled your pre-65 health insurance and the IRMAA surcharge for higher incomes, but not the base Medicare premium itself — so for most retirees, modeled healthcare cost dropped to roughly zero at 65, making the most populous retirement years systematically rosy. Now a "Medicare Premium / mo" field (default ~$400/mo per person — Part B + Part D + a Medigap/supplement estimate) is added automatically from age 65, with IRMAA stacked on top. Tune it down to ~$185 for Medicare Advantage, up for a richer supplement, or to $0 if a retiree plan covers it. Affects: plans with post-65 retirement years — modeled healthcare cost goes up, so the most common retirement years are no longer flattered. Engine version bumped.
June 22, 2026
A still-working spouse's income now counts toward your expenses. When you and your spouse retire in different years — which is most couples — the projection had been treating the whole household as if it stopped earning the day the first of you retired. So if you retired but your spouse kept working a few more years, their paycheck wasn't counted at all: the engine drew down your portfolio (and your bridge cash reserve) to cover expenses their salary was actually paying. For staggered-retirement households this made plans look worse than reality. Now, for each year a spouse is still working, their take-home pay (salary net of their own retirement contributions, taxed as ordinary income) covers the spending need first — so the reserve and portfolio are only drawn when there's a genuine shortfall. We also corrected a related detail: a later-retiring spouse's accounts are valued at the start of the projection and grow forward naturally, instead of being counted at their future value and then grown again. Affects: household plans where the two of you retire in different years and the still-working spouse has a salary entered — success rates and end balances go up, often substantially (a typical case moved from ~95% to 100%). Plans where both retire the same year, or where the still-working spouse has no salary entered, are unchanged. Engine-version tag bumps cached AI Plan Score prose to regenerate against the corrected projection.
June 20, 2026
Roth conversion strategy now reflects both spouses' pre-tax savings. On the Roth Strategies card, the conversion capacity, the recommended sweet-spot amount, and the bracket-fill math were computed from your own pre-tax (401k/IRA) balance only — your spouse's pre-tax was ignored, even though the engine actually converts from your combined household pre-tax (which is why the Projection correctly showed both spouses' funds converting). For couples, this understated how much you could convert — a card capped near $44k/yr that should have read closer to $111k/yr — and where the pre-tax was entirely your spouse's, the card showed no recommendation at all. The card now uses your combined household pre-tax everywhere, so its capacity and recommendation match what the Projection has been doing all along. Affects: household plans with bridge years considering Roth conversions. This corrected a recommendation/display calc; projections, success rate, and end balances are unchanged. Engine-version tag bumps cached AI Plan Score prose that quoted the old conversion figure.
June 20, 2026
Pre-Medicare (ACA) cost and cliff status corrected. The Healthcare Bridge card estimates your pre-Medicare insurance cost and whether your bridge-year income (MAGI) clears the ACA subsidy cliff. Two corrections: the MAGI estimate had treated your whole portfolio withdrawal as taxable income — but the engine draws taxable accounts first, where only the realized gain counts toward MAGI — so it could overstate MAGI two- to three-fold and wrongly flag you as "over the cliff"; and the bridge window had been including post-65 (Medicare) years where the ACA cliff doesn't apply. The card now reads MAGI from the engine's actual draws, ends the ACA window at Medicare eligibility (household-aware), and compares against each year's inflation-adjusted cliff. For many early retirees this flips the verdict from "over the cliff" back to "qualifies for subsidies." Affects: anyone retiring before 65 with bridge years on the Healthcare Bridge card. This corrected a display/analysis calc; projections, success rate, and the engine's actual healthcare modeling are unchanged.
June 8, 2026
Projected legacy now matches the Monte Carlo median exactly. The Leave-a-Legacy projection (Smart Moves) was computed from 750 simulated futures, while the headline "How Your Plan Performs Across 1,000 Futures" chart uses 1,000. Both are the median ending balance — but the different sample sizes produced a small (~5%) gap between the two surfaces, which read as an inconsistency when comparing the same plan. The legacy projection now runs at 1,000 simulations too, so its number lines up with the fan-chart median. Affects: anyone using the Leave-a-Legacy lens. A precision improvement; your projected legacy may shift slightly. Engine math unchanged — same median, larger sample.
June 2, 2026
CAPE blend disclaimer added to Guyton-Klinger methodology + glossary. The methodology section on Guyton-Klinger guardrails and the glossary entry now include a dedicated disclaimer explaining what the engine does and doesn't do with start-year CAPE (Shiller's cyclically-adjusted P/E ratio). The Pfau (2010+) and Karsten Jeske's "Big ERN" SWR series (2017+) bodies of work argue that high-CAPE start years materially compress safe withdrawal rates. The engine does NOT read your start-year CAPE; the 5.0% Smart Moves cap is the conservative-end anchor that hedges against this uncertainty. The disclaimer stays neutral on whether today is a high-CAPE environment (changes year-over-year, requires citing a specific source, and the conservative anchor's defensibility doesn't depend on the answer). Affects: anyone reading the Guyton-Klinger methodology or glossary entry. No engine impact.
June 2, 2026
Future Expenses surfaced in the cash flow Sankey. When a future expense fires in a given year, the Sankey now shows it as a destination block on the right (warm orange — distinct from red taxes and bridge-amber sources) with the expense label inline. The source side (savings / brokerage / Roth / 401k withdrawal blocks) reflects the cascade draws that actually funded the expense, so the Sankey's year-flow accounting reconciles. The narrative caption beneath the Sankey names the expense by name when one fires that year. Affects: anyone using Future Expenses. Engine endBalance byte-identical — only per-bucket record fields surface the cascade draws that the engine was already making.
June 5, 2026
Earliest retirement age corrected for household plans. The engine's earliest-retirement-age scanner — used by the Smart Moves Retire Earlier lens, the embeddable When-Can-I-Retire calculator, and any surface asking "what's the earliest age my plan hits 85% confidence?" — was scanning candidate user retirement ages but never syncing the spouse's retirement age to each probe. For household plans, this silently kept the spouse's contribution window fixed at whatever the input value was during the scan, biasing results. The scan now syncs both spouses to the probe age while preserving any user-configured stagger (if you set yourself to retire at 62 and your spouse at 67, the 5-year delta is preserved as the scan iterates user retirement age). Single plans are unaffected. Most household plans (where you and your spouse already share the same retirement age in your inputs) see materially the same number; staggered households see a more honest answer aligned with your stated stagger. Affects: household plans on any surface that scans retirement age (Retire Earlier lens, the When-Can-I-Retire embed, AI Advisor questions about earliest age). Engine math at calcRetirement and Monte Carlo level UNCHANGED — the fix is in the scanner only. Engine-version tag bumps cached AI Plan Score prose to regenerate against the corrected scan.
June 5, 2026
Cliff Proximity Gauge corrected: MAGI now shown in today's dollars. The Cliff Proximity Gauge on the Roth Strategies card compares your projected bridge-year income (MAGI) against the ACA subsidy cliff and the five Medicare IRMAA tiers. It had been comparing your future-dollar MAGI — your spending inflated forward to each bridge year — against today's-dollar thresholds, so plans with a long runway to retirement could look like they were over a cliff when, in real terms, they weren't. The gauge now shows MAGI in today's dollars, matching the thresholds, so the comparison is apples-to-apples. The same correction flows to the AI Advisor's read and the PDF/HTML export. Affects: anyone using the Cliff Proximity gauge with bridge years, especially those many years from retirement — the gauge now shows lower MAGI and a more accurate cliff position. This corrected a display only; projections, success rates, and the engine's actual IRMAA tax modeling (which already inflation-adjusts) are unchanged.
June 1, 2026
Future Expenses — plan for weddings, college, car replacement, home repair. Your monthly goal handles ongoing living costs, but retirement also has lumpier outflows — a daughter's wedding, a new car, a kitchen remodel, grandkid college help — that hit your portfolio at specific ages, not every month. There's now a dedicated panel for them in Inputs → Life Events. Add up to 10 entries; each gets a label (optional), an amount in today's dollars, and the age it hits. The engine inflates each amount to its expense year via CPI, then draws from your buckets in the optimal order (Savings → Brokerage → Roth → 401k) — the same waterfall used for home purchases. The amounts surface as a conditional column in the year-by-year projection table with hover-tooltip showing the label, plus a destination block in the cash flow Sankey. Recurring costs (annual vacations, ongoing parental support) belong in your monthly goal — Future Expenses is just for the one-time stuff. The AI Advisor has read access to your list (it can reference "your $30k wedding at 68" in narrative) but can't add or change entries on your behalf — you stay in control. Affects: anyone with planned one-time expenses in retirement. Engine math UNCHANGED for users who leave the list empty — the cascade only fires when a matching age is reached and amount > 0.
June 1, 2026
Bad-sim narratives on the Guardrails card: see the actual cut-fire sequence. If you have Dynamic Spending Strategy active, the GK Results card now surfaces a concrete bad-sequence story above the spending trajectory chart. Instead of just aggregate counts ("median 6 cuts"), you see the actual ages where cuts fired in your worst-lived-experience simulation: "In a tough sequence, cuts fired at ages 61, 62, 63, 64, and 68 — 7 years below your stated goal across this retirement, with 4 of those consecutive." When prosperity boosts also fired in that same sequence, those ages are surfaced too. The selection picks the surviving simulation with the most below-target years — the worst-lived experience among plans that ultimately succeeded — so you're reading a real story that the engine's math actually produced for your inputs, not a worst-case hypothetical. Affects: only users with Dynamic Spending Strategy enabled. The narrative section hides itself when no surviving sim has any below-target years (clean plan, GK rarely fires).
June 1, 2026
Lived Experience Under Guardrails card responsiveness to user feedback. Three updates to the GK Results card driven by careful-tester feedback. (1) The "Years below target" tile now uses three-tier severity coloring: default text under 30%, amber 30–50%, red 50%+. The previous binary amber-only threshold underweighted the lived-experience cost when 80–90% of retirement years fall below stated goal — that's a red-severity outcome, not amber. (2) The "Worst-10% spending floor" tile now surfaces a concrete context line below the value: the dollar gap and percentage below your stated monthly goal, instead of the abstract "sustained low" label. Makes the floor's lived meaning legible at a glance. (3) The methodology section on Guyton-Klinger and its glossary entry now explicitly name the post-2008 research-community critique (Pfau 2010+, Karsten Jeske's "Big ERN" Safe Withdrawal Rate series 2017+) acknowledging that the 2006 paper's safe-start range was calibrated against pre-2008 market valuations. The 5.0% Smart Moves cap respects this critique; users at 4–5% effective WR should know they're operating in the contested research window. Affects: only users with Dynamic Spending Strategy enabled (for tiles 1+2), plus anyone reading the methodology / glossary for the GK strategy (for the critique disclaimer). Engine math unchanged.
June 1, 2026
AI Plan Score credit consumption + Projected Nest Egg HSA + Smart Moves empty-state + stale-export invalidation. Bundle of customer-feedback-driven fixes. (1) The AI Plan Score button could consume 3 credits per click in rare scenarios — server now skips the second increment when the client signals a JSON-parse retry (the original call already charged), a synchronous ref guard at function entry blocks the double-click race that fired the third charge, and the error copy now honestly acknowledges the credit consumed on the first attempt rather than the misleading "No credit was used" message. (2) The Projected Nest Egg donut now includes your HSA balance — it was tracked by the engine since 2026 but only showed up in the spouse-bundled total. Now appears as its own slice with a stage "H" badge (pre-65 it funds healthcare costs first, post-65 it joins supplemental drawdown). (3) For users already retired, the Smart Moves retire-earlier lens now shows a friend-voice empty-state pointing to Weather a Downturn or Leave a Legacy where moves actually apply, rather than rendering an empty workshop block. (4) PDF exports no longer surface stale AI analysis prose (e.g., showing "85%" when current calculator shows different) — the fingerprint that gates cached analyses now includes an engine-version tag that invalidates everything when underlying engine math has been updated. You'll regenerate any analysis that was created before today's update, but you won't be misled by a frozen number that no longer matches your current plan. Affects: anyone using the AI Advisor / PDF Export / Smart Moves card / Projected Nest Egg breakdown. Engine math at calcRetirement / Monte Carlo level UNCHANGED. Engine-version tag bumps cached analyses to regenerate against current numbers.
May 31, 2026
Review and apply your SS Income Gap exploration in-card. The SS Income Gap toolkit on the Results tab has 11 sliders and toggles spanning part-time income, home sale earmark, cash reserve, and inheritance / other-lump-sum bridge routing. Users can now review and commit all in-card changes from inside the panel — no need to navigate to Inputs and re-find each field. As sliders move, a "Review and apply N changes →" button appears at the bottom. Clicking opens a summary listing each modified field with the current → preview value and a checkbox per row. Uncheck any rows you don't want to commit, then Apply — only the checked changes write to plan inputs. The panel is still a workspace for exploration; the review summary is a single commit moment when you're ready. Affects: anyone with a Social Security bridge period using the SS Income Gap toolkit. Engine math unchanged. The Inputs tab still works as before for direct field editing.
May 30, 2026
Engine fix: Initial WR field is now load-bearing for the guardrails math. Discovered while smoke-testing the new explore slider: the engine had been auto-deriving the Guyton-Klinger initial WR baseline from year-0 portfolio state every Monte Carlo run, ignoring the value stored in the "Initial WR" field in Inputs. So if a user had manually tuned the field above or below the auto-derived value, it had no effect on engine math — the Inputs panel readout (upper/lower guard thresholds) would compute from the edited value while the engine quietly used a different one. Now the engine honors the stored field: the user CHOOSES the baseline (per the Guyton-Klinger 2006 paper's intent) and the rules calibrate around it. Falls back to auto-derive only when the field is truly absent. The new explore slider on the Lived Experience card now does what it advertises — dragging it to a different value really changes the simulation. Affects: only users with Dynamic Spending Strategy enabled whose Initial WR field differs from the auto-derived year-0 implied WR. For most users (who took the default auto-derived value at Enable), engine output is unchanged. For users who deliberately tuned the field, their plan numbers now reflect the value they actually set.
May 30, 2026
Initial WR explore slider on the Guardrails card. The Lived Experience Under Guardrails card now has an in-card slider for Initial WR (the baseline withdrawal rate the rules are calibrated against). Drag the slider to a different value — the app runs a fresh Monte Carlo at that baseline and shows preview tiles: years below target, median cuts, success rate, each with a delta vs your saved plan. Click "Apply to inputs →" to commit, or leave it as exploration without commitment. Replaces the prior "Tune guardrails settings →" link that broke the explore-without-commitment pattern every other Results card uses (Plan Robustness cash reserve, Income Picture monthly goal, SS Claiming Strategy, etc.) — users had to make a settings commitment just to see what a different baseline would do. A smaller "Open full settings in Inputs →" link is preserved at the bottom for tuning the band (±%) or adjustment (cut/raise size), which the in-card slider doesn't expose. Affects: only users with Dynamic Spending Strategy enabled. Engine math unchanged. AI Advisor knows about the slider and can suggest specific Initial WR values to explore.
May 30, 2026
Bug pack: guardrails toggle persists across refresh + Plan Robustness pill auto-opens the GK card. Two user-visible fixes after the new Guardrails card landed. (1) If you'd enabled Dynamic Spending Strategy in Inputs, the toggle was silently reverting on page refresh — the setting was updating React state but never writing to localStorage. Latent slice 19xx-era bug that became visible once the new Results card put a spotlight on whether guardrails were on or off. The toggle, initial WR, band, and adjustment params now all persist correctly across page loads. (2) The "🛡️ G-K active" pill in the Plan Robustness panel header now actually opens the Lived Experience card when clicked. Previously it just scrolled — if you hadn't already clicked the Dynamic Spending tile to expand the card, the scroll target didn't exist yet and the pill silently no-op'd. Also added a behavioral assertion to the GK mechanics verifier (the gk-aggressive-fire persona must produce non-zero median cuts AND raises — guards against the regression class where the engine looks correct shape-wise but produces baseline-only signals). Affects: anyone who has enabled Dynamic Spending Strategy. Engine math unchanged.
May 30, 2026
Lived-experience metrics on the Guardrails card: years below target + clustering. The Lived Experience Under Guardrails card now leads with a lived-years metric instead of a rule-fire count. Where the headline tile previously said "Median cuts: 6 over 21 yrs" (mechanism — how often the rule fires), it now says "Years below target: 5 of 21 yrs" (consequence — how often spending falls below your stated goal). Same underlying simulation data, different cognitive load. The original cut/raise counts stay surfaced as supporting mechanism stats below. Plus a new "Median below-target stretch" stat captures clustering — whether your lean years run consecutively (sequence risk in action) or spread out across retirement. Reframe came from a contact who pointed out retirees think in lived years, not simulation events. Affects: only users with Dynamic Spending Strategy enabled. Same Monte Carlo data, just aggregated differently. Output unchanged when guardrails are off.
May 30, 2026
AI Advisor coordinates the projection tab across surfaces. When the AI Advisor highlights a specific year in your projection (e.g., "let's look at age 75 when RMDs start"), three surfaces now align to that year together: the table cells highlight + auto-scroll to the row, the row's detail panel auto-expands to show income / bucket sources / draw breakdown, AND the cash flow Sankey above the table snaps to the same year so its sources, destinations, and narrative caption all reflect what the AI is pointing at. Particularly useful for conversations like "walk me through my bridge years" or "what does my RMD year look like?" — you see the full year's story (table → detail → Sankey flow) without having to navigate to each surface manually. Affects: anyone using the AI Advisor on the Projection tab. The buttons paired with year-highlights also now work correctly when you're already on the Projection tab (previously they could be silent no-ops in that specific state). You retain manual Sankey control — prev/next/slider clicks still work; AI sync only fires on new highlights.
May 30, 2026
Lived Experience Under Guardrails (Results tab). If you've enabled the Guyton-Klinger dynamic spending strategy (shipped May 21), a new card on the Results tab shows what your retirement would actually feel like under the rules. The strategy's existing surfaces (Smart Moves entry, Inputs toggle, Stress Test card, projection Strategy column, Plan Robustness pill) all announce that guardrails exist and let you toggle them — this card surfaces the lived tradeoff in three layers: your lived spending across simulated retirements with bands and your stated monthly goal as reference; per-year frequency of cut / baseline / raise rule fires (so you can see when cuts cluster — sequence risk in action); and side-by-side comparison of your plan running with vs without guardrails. Makes the strategy interpretable, not just optional. Affects: only users with Dynamic Spending Strategy enabled. The Monte Carlo engine was extended to track per-year spending and rule-fire frequency across sims when guardrails are active; output unchanged when off.
May 28, 2026
"Why this isn't a subscription" — new four-promises modal documenting the anti-SaaS posture. A self-contained modal accessible from a callout in the marketing-page differentiator section, spelling out the four commitments behind the pricing and data architecture: one-time purchase, local-only data, no account required, open math. Deep-linkable at /#promises and via the /promises short URL. Affects: marketing-page content surface. No changes to operational behavior, pricing, or data handling — this documents the existing posture explicitly.
May 28, 2026
Add-on products renamed and repriced. Top-up renamed to Advisor Plus and repriced from $9.99 to $29 (still +10 deep analyses and +25 AI Advisor conversations, still stacks with no expiry). Navigator Annual renamed to Advisor 365 and repriced from $49 to $79 (still 365 days of unrestricted AI Advisor use, still no auto-renew). Names now tie to the AI Advisor surface they extend; new prices reflect the actual cost basis of the AI Advisor capacity over time. Affects: Top-up modal copy, Terms of Use, FAQ, About page, and post-purchase emails.
May 27, 2026
Navigator Annual: "unrestricted use" framing restored; Terms made explicit about background bounds. Marketing copy now describes Navigator Annual as unrestricted use — matching what normal users experience under the bounded mechanics shipped earlier today. The Terms now spell out the specific background bounds (per-conversation exchange caps, context resets, per-IP rate limits, output length caps, system spending alerts) and reserve a right to contact subscribers whose usage patterns suggest abuse. Affects: Navigator Annual marketing copy and Terms of Use. Operational behavior unchanged from the earlier ship today.
May 27, 2026
AI Advisor conversations now start with fresh context. When a conversation reaches its per-session exchange cap, the message history is cleared as the next conversation begins — aligning behavior with the per-conversation structure described in the Terms. A short toast surfaces the rotation; the server enforces a 50-message ceiling as a safety net. Affects: every AI Advisor conversation across all tiers. Implementation now matches what the Terms imply.
May 26, 2026
Historical back-test cash-bucket calibration (closes methodology seam). When your plan runs against a past retirement-stress era, the cash buckets (HYSA / savings, bridge reserve) now grow at the actual historical inflation rate instead of the modern HYSA assumption. Real cash return ~0% matches Shiller's long-run T-bill empirical regularity; floored at 0% nominal to prevent shrinkage during deflation. Slightly conservative in 1980s when T-bills genuinely paid above inflation; unbiased on average. Closes the previously-documented seam. Affects: only the Historical Back-Test card + Workshop. Plans with <10% in cash see minimal impact. Engine math at the standard Monte Carlo / deterministic level unchanged.
May 26, 2026
Historical Robustness Workshop (Stress Test tab). Exploration surface beneath the 24-card scenario grid. Two-knob (start year + stock allocation) running your plan against every eligible historical retirement-start year from 1928 onward. Outcome strip visualizes survival year-by-year; selected-year detail surfaces verdict + end balance + lowest balance year; collapsible balance trajectory chart. Three quick-compare pills (30/70, 60/40, 90/10 stocks) for instant-flip between famous portfolio constructions. The Bengen / Trinity Study methodology, exposed as a proactive optimization tool — not a FIRE litmus test. Affects: new view into existing engine math. Projected numbers don't change.
May 26, 2026
Historical Back-Test scenario card (Stress Test tab). New card adds historical replay to the Stress Test grid. Pick from five canonical retirement-stress eras (Great Depression, 1966 bear, stagflation, dot-com, financial crisis); the ring shows cohort survival rate across the era's rolling window. Detail block names the canonical year's specific outcome. Affects: new card on Stress Test. Projected numbers don't change.
May 24, 2026
AI Advisor responses now more consistent across sessions. Internally pins the model's temperature parameter to a lower value — same trust-grounded reasoning, less per-session randomness in phrasing. Affects: every AI Advisor conversation. Substance unchanged; phrasing more stable.
May 23, 2026
2026 IRS limits refresh (contribution caps, tax brackets, IRMAA, ACA). 401(k) deferral $24,500 (catch-up $8K, super catch-up $11,250). Standard deduction $32,200 MFJ / $16,100 single. Federal brackets, LTCG thresholds, IRMAA Medicare-surcharge tiers, ACA premium-credit cliffs all refreshed. Affects: every plan. Most balances drift UP modestly: +$22K–$219K across persona corpus.
May 23, 2026
New visual: Cliff Proximity Gauge on Roth Strategies card. For plans with bridge years, shows live MAGI position vs ACA cliff + 5 IRMAA Medicare-premium tiers. Drag the Roth conversion slider and watch the marker. Affects: visualization addition for plans with bridge years. Numbers unchanged.
May 22, 2026
Coast FIRE workflow support. The FIRE variant where you save aggressively until balances will compound to retirement target, then stop contributing and keep working. Opt-in via Inputs → My Portfolio → "Stop contributing at age." Affects: nothing for existing plans (default 0 = no Coast).
May 21, 2026
Dynamic spending strategy: Guyton-Klinger guardrails. Opt-in academic best-practice. Adjusts annual spending ±10% based on portfolio performance. Historically supported 5–5.5% sustainable withdrawal rates vs the 4% rule. Affects: nothing unless enabled. When enabled, plan robustness typically improves.
May 20, 2026
Basis-adjusted LTCG calculation. Brokerage withdrawals now properly track cost basis. The LTCG over-charge that was present since engine inception is corrected. Affects: brokerage-heavy plans drift UP $38K–$552K at life expectancy.
May 16, 2026
Calculator now supports retiring this year. Lifted the previous gate that required retirement age > current age. Single-year scenarios (retirement age = current age) produce a full projection. Affects: users retiring in their current year now get a projection instead of an error.
May 14, 2026
Web Worker migration complete. All heavy Monte Carlo computations now run off the main thread. Heavy lenses, cohort comparisons, and snapshot saves no longer freeze the UI. Affects: UI responsiveness; no projection number changes.
May 11, 2026
Intent-driven Smart Moves — four lens system. Retire Earlier / Spend More / Leave a Legacy / Weather a Downturn. Each lens optimizes through its own currency; you pick the lens that matches your goal. Affects: Smart Moves card on Results tab — replaces prior pattern-grid with lens-aware optimization.
May 9, 2026
Monte Carlo determinism via seeded RNG. MC simulations now produce byte-identical trajectories for the same inputs across reloads. Closed the success-rate flicker class. Affects: SR stability across reloads.
May 7, 2026
IRMAA Medicare surcharges modeled. Medicare-eligible (65+) household members above MAGI thresholds get Part B + Part D tier-table surcharges applied. Affects: post-65 healthcare costs in plans crossing the IRMAA thresholds.
May 7, 2026
Pension flat-nominal default. Pensions no longer assume implicit COLA. Most private/corporate pensions are flat-nominal in reality; opt in to COLA via Plan Details checkbox. Affects: pension-bearing plans see lower projected pension value in later years (more accurate).
May 6, 2026
SECURE 2.0 birth-year-aware RMD ages. RMD age 75 for births 1960+, 73 for births 1951-1959 per the SECURE 2.0 Act. Previous static-age behavior corrected. Affects: any plan with pre-tax 401(k) balance; RMD-driven forced withdrawals shift by 2 years for younger cohort.
May 6, 2026
Pre-Medicare healthcare runway fix. Year-0 retirement healthcare cost now properly inflated from today through retirement (not just one year forward). Pre-fix understated long-runway plans by 50%+. Affects: pre-Medicare-retirement plans with long timelines drift UP modest amounts.
May 5, 2026
51-state tax modeling (50 states + DC). Replaced single state-tax percentage with full per-state structure: brackets, deductions, LTCG treatment, retirement income exclusions. Affects: any plan in a non-trivial state. State-impact range can exceed $1M at life expectancy for $1.5M nest egg plans.
Every term, sourced
31 retirement-planning concepts, defined and cited
From RMD and Roth conversion sweet spot to bridge reserve, IRMAA tiers, plan robustness, Guyton-Klinger, Coast FIRE, and historical back-testing — each term explained, sourced to authoritative references where applicable, and cross-linked to related concepts.
Deep Search (Searched Optimizers)
The paid optimizers in the Optimize tab that run hundreds of scenarios against your real plan to find the best strategy for one decision — the couple's Social Security claim, your coordinated bridge plan (Roth conversions + gain harvesting), what your plan hinges on, solve-for-any-goal, how much you can really afford to spend, whether two risks compound (the Combined Risk Scan), and the one-click Deep Scan that combines the legacy-seeking ones. Unlike a rule of thumb, every candidate is a full Monte Carlo run of your actual plan. It changes nothing about how your plan is computed, so it never affects your AI Plan Score. Part of Navigator.
Navigator — Optimize tab · methodology §31
Contribution Escalation (Ramping Savings)
Real savers raise their contributions as their income grows — contribution escalation models that instead of assuming a flat amount forever. Pick any account (401k, Roth, savings, brokerage, HSA, for you or your spouse) and set it to climb each year, by a percentage that tracks your raises or a flat dollar step; tax-advantaged accounts ramp to the IRS limit, then hold. A "Building your nest egg" table on the Projection tab shows, year by year, how your contributions and growth compound to your retirement-day nest egg — every row reads Start + Contributions + Growth = End, so you can validate the math. Free. A Smart Move also recommends ramping your 401(k) for savers who can grow into the max over time.
RetirementScenario.com — Inputs tab
Required Minimum Distribution (RMD)
Tax-deferred retirement accounts (Traditional IRA, 401(k), 403(b)) require minimum withdrawals starting at a specific age. Per the SECURE 2.0 Act, the age is 75 for births 1960 and later, 73 for births 1951–1959. The IRS Uniform Lifetime Table divisor determines the annual amount.
IRS Pub 590-B
Planning Horizon (Longevity Risk)
The age your money actually needs to last to — deliberately NOT your life expectancy. Life expectancy is a coin flip (by construction, half of people outlive it), so planning to it means a 50% chance of running short in your final years. Your planning horizon is a survival-percentile instead: an age only a small, chosen fraction of people like you reach, read from the SSA 2022 Period Life Table. For couples it’s the last-survivor age — the joint “at least one alive” curve sits above either spouse’s own, so a household’s honest horizon is longer than either individual’s. The free Planning Horizon Workshop suggests one and writes it to your plan; the period table slightly understates future longevity (a conservative direction) and is age + sex only, so healthy or long-lived profiles should lean cautious.
SSA Period Life Table 2022 (2025 TR)
Qualified Charitable Distribution (QCD)
A direct gift from a Traditional IRA to a qualified charity, allowed once you’re 70½. It’s excluded from your income (not a deduction — it never appears as taxable income), counts toward your Required Minimum Distribution tax-free, and lowers your MAGI so less Social Security is taxed and you can stay under Medicare IRMAA surcharge cliffs. The donated principal leaves your estate. Must come from an IRA, not a 401(k); annual limit ~$108,000 (indexed).
IRS Pub 590-B · IRC §408(d)(8)
Roth conversion sweet spot
The annual Roth conversion amount that fills available tax-bracket headroom during bridge years (post-retirement, pre-SS-claim) WITHOUT crossing into a higher bracket OR triggering IRMAA Medicare surcharges. The engine computes this per-year based on your specific income mix.
IRS Pub 590-A · 26 U.S.C. § 408A
Bridge period
The window between retirement and Social Security claim (often retirement age → SS claim age = 1–10 years). During bridge years, the portfolio shoulders the full spending burden — no SS income yet. Tax-bracket headroom typically opens up for Roth conversions.
SSA
Bridge reserve
Cash buffer (savings, HYSA, money market) drawn first to fund spending during bridge years. Protects portfolio against sequence-of-returns risk — letting investments recover after early downturns rather than selling at losses.
Withdrawal order
The tax-optimal sequence: bridge reserve → savings → brokerage → 401(k)/Traditional IRA → HSA (post-65) → Roth IRA. Drawing taxable accounts first preserves tax-advantaged growth as long as possible; Roth last minimizes lifetime tax.
Bengen 1994 · Kitces / Pfau research
Tax diversification
Holding retirement savings across three tax buckets: pre-tax (401k/Trad IRA — taxed on withdrawal), Roth (after-tax — tax-free withdrawals), and taxable (brokerage — capital gains). Provides withdrawal flexibility year-by-year as tax laws and income brackets change.
Monte Carlo simulation
Statistical method that runs many randomized scenarios (1,000 sims in this app) to estimate the probability your plan funds your full retirement. Returns Success Rate %, fan chart of possible outcomes, and worst-case tail.
Industry standard since Bengen 1994
Stress test
Modeling how your plan performs under adverse conditions: market crash in year 1 of retirement (sequence-of-returns risk), high inflation, longevity beyond planning horizon, healthcare cost surge. Reveals plan robustness vs hidden fragility.
AI Plan Score
The AI Advisor's qualitative weighting of plan strength. Weighs Monte Carlo success rate as the base, with material adjustments for sequence-risk exposure, account concentration, spending sustainability, and SS timing. Distinct from raw MC SR — the AI score factors holistic concerns.
Cohort benchmark
Comparison of your retirement plan against the median saver in your demographic cohort (age × income × marital status). Uses Survey of Consumer Finances (SCF) data for the cohort comparison.
Federal Reserve SCF
Earliest retirement age
The youngest age at which your plan funds retirement to life expectancy with at least 85% Monte Carlo confidence. The Retire Earlier Smart Moves lens optimizes for moving this age younger.
Phased spending
Three-phase retirement spending model: Phase 1 (active years, typically 100% of goal), Phase 2 (slow-down, 85%), Phase 3 (late years, 75%). Reflects empirical retirement spending decline as travel/discretionary outlays decrease.
Blanchett research
Lump sum tax handling
The engine taxes large one-time inflows (inheritance, home sale, severance, other lumps) at the year-of-receipt's bracket, including LTCG strata. Post-receipt, the after-tax amount routes to brokerage (default) or is earmarked for bridge funding (per your input).
IRC Section 121 for home sale exclusion
IRMAA
Income-Related Monthly Adjustment Amount — Medicare Part B + Part D surcharges that kick in above MAGI thresholds. 5 tiers; thresholds use 2-year IRS lookback in real life (engine uses current-year MAGI for simplification). 2026 Tier 1: $218K MFJ / $109K single.
CMS
SECURE 2.0 Super Catch-Up
Ages 60-63 get additional 401(k) catch-up contribution: $11,250 (2026) on top of the regular catch-up — total $35,750 contribution capacity at 60-63. After 63, drops back to regular catch-up.
SECURE 2.0 Act
State tax modeling
Per-state tax structure: brackets, standard deduction, retirement-income exclusions (some states exclude pensions entirely; others tax SS; 8 states give preferential LTCG rates). Updated annually against state revenue department publications.
Plan robustness
How well a plan holds up under adverse stress scenarios. Measured via the delta between baseline Success Rate and the same plan's SR under an early-crash stress test. Small delta = robust; large delta = fragile to sequence risk.
Guyton-Klinger guardrails
Dynamic withdrawal framework (Guyton + Klinger 2006) that adjusts spending ±10% based on portfolio performance. Capital preservation rule cuts spending in bad markets; prosperity rule bumps in good ones. Historically supports 5–5.5% safe withdrawal vs 4% rule's static math. Research-community critique: the 2006 paper calibrated against pre-2008 valuations; subsequent work from Pfau (2010+) and Karsten Jeske's "Big ERN" SWR series (2017+) raises high-CAPE / long-horizon concerns about whether the historical 4–5% rules-of-thumb transfer cleanly to today's regime. The engine's 5.0% Smart Moves cap respects this critique. CAPE disclaimer: the engine does not read your start-year CAPE; the 5.0% cap is the conservative-end anchor that hedges against this uncertainty.
The FIRE variant where you save aggressively until existing balances will compound to your retirement target, then stop contributing and keep working — your income covers expenses but no new money goes into retirement accounts. Opt-in via "Stop contributing at age" field.
Historical back-testing
Replays your plan against the actual year-by-year market sequence from a past retirement-start year (drawn from Shiller's 1928–2022 dataset). Cohort SR is the fraction of historical start-year cohorts where your plan would have survived. Distinct from Monte Carlo SR (probability across stochastic futures) — different sample spaces; both are honest probabilities. Surfaced two ways on the Stress Test tab: card (5 named eras) + workshop (full-range exploration).
Bengen 1994 · Trinity Study 1998 · Shiller dataset
Future one-time expenses
Planned one-time portfolio deductions at specific ages — weddings, college, car replacement, home repair — modeled separately from your monthly goal. You enter each in today's dollars; the engine inflates to the expense year via CPI and draws from your buckets in the optimal order (Savings → Brokerage → Roth → 401k). Up to 10 entries. Recurring costs belong in your monthly goal. UI-managed only: the AI Advisor can reference your list in narrative but cannot add or change entries on your behalf — you stay in control.
Verdict
A fee-only Certified Financial Planner is the gold standard for personalized retirement planning — and worth the cost for the right situation.
$200–$500/hr
Hourly rate
3+ weeks
First answer
$1k–$3k
Initial plan
vs Retirement Scenario Explorer
$79 once
Lifetime
5 minutes
First answer
$0/yr
No subscription
What CFPs do best
A fee-only Certified Financial Planner is the gold standard for personalized retirement planning. They take a complete picture of your financial life — assets, debts, income, taxes, estate, insurance, family situation, goals — and produce an integrated plan that no software can match. They catch things a calculator can't: the cousin you're going to inherit from, the small business interest your spouse never told you about, the way your kid's special-needs trust changes everything. For households with real complexity or significant assets, a CFP relationship is genuinely valuable.
Where CFPs don't fit for most people
Fee-only hourly engagements run $200–$500 per hour, with most retirement reviews requiring 3–8 hours of planner time plus your prep work — call it $1,000–$3,000 for an initial plan and another few hundred annually for updates. The first answer takes 3+ weeks between booking, intake, prep, and the actual meeting. And the plan you walk away with is a static PDF — when your numbers change next year, you're back on the calendar.
CFPs are built for ongoing relationships and life-complete planning. We're built for the moment you want to know "am I on track?" — and to come back whenever the answer might have changed.
Why people choose Retirement Scenario Explorer
If your situation is reasonably typical (W-2 income, 401(k) and IRA accounts, a paid-off-or-paying-off mortgage, Social Security on the horizon), a CFP's integrated plan is overkill for the question you actually have: am I on track? Retirement Scenario Explorer answers that in five minutes, with the same Monte Carlo math, the same actuarially correct Social Security modeling, and the same tax-optimal withdrawal sequencing professional planners use — for $79 once instead of $2,000 every year.
If you eventually want a CFP, you'll show up to the conversation with better questions and a baseline you understand. That makes the CFP's hours go further.
Boldin is the most comprehensive consumer retirement planning software on the market — and well worth the subscription if retirement planning is a hobby you enjoy.
$144/yr
Subscription
1–2 hours
Setup time
$1,440
Decade cost
vs Retirement Scenario Explorer
$79 once
Lifetime
5 minutes
First answer
$79
Decade cost
What Boldin does best
Boldin is the most comprehensive consumer retirement planning software on the market. Their depth on tax modeling — Roth conversions, Social Security taxability, state-by-state retirement tax variation — is genuinely impressive. They've built tools for advanced techniques most calculators don't touch: backdoor Roth, mega backdoor Roth, healthcare cost projections by state, IRMAA brackets, even rental property income modeling. If retirement planning is a craft you enjoy and want to spend hours on, Boldin rewards that effort.
Where Boldin doesn't fit for most people
Boldin runs $144 per year, ongoing — that's $1,440 over a decade for a tool you'll mostly use a few hours each year. Setup takes 1–2 hours of milestone configuration before you see your first meaningful answer. Their AI assistant is a more recent addition and feels bolted on — useful for some queries but not the conversational depth you'd expect from a tool that knows your full plan. And there's no path to "just give me the answer" — Boldin is built around exploring scenarios in detail, not delivering verdicts in five minutes.
Boldin is built for people who want to be their own retirement architect. We're built for people who want clarity quickly and don't want to subscribe to anything.
Why people choose Retirement Scenario Explorer
If you've tried Boldin and bounced off the setup, or if the annual subscription doesn't match how often you'll actually use it, Retirement Scenario Explorer gives you the same calculation engine — Monte Carlo simulation, tax-optimal withdrawal sequencing, Roth conversion analysis, stress testing — without the 90-minute setup or the recurring charge. $79 once. Yours forever. And the AI Advisor is the conversation layer Boldin's tool doesn't have: ask anything about your plan in plain English, get an answer that knows your actual numbers.
ProjectionLab is the FIRE community's favorite retirement tool, and the visualizations are exceptional — well worth the price for serious FIRE planners.
$129/yr
Premium plan
30+ min
Setup time
No AI
Assistant
vs Retirement Scenario Explorer
$79 once
Lifetime
5 minutes
First answer
AI Advisor
Built in
What ProjectionLab does best
ProjectionLab is the FIRE community's favorite retirement tool, and for good reason. The visualizations are exceptional — chart-rich, dense with information, satisfying to explore. The simulation flexibility is unmatched: you can model nearly any scenario you can imagine, with surgical control over assumptions. For someone who wants to model "what if I take a sabbatical at 45, work part-time at 50, downshift expenses at 55, and still want to retire at 60," ProjectionLab is built for exactly that.
Where ProjectionLab doesn't fit for most people
ProjectionLab runs $129 per year ongoing (about $1,290 over a decade; the lifetime license has been discontinued). Setup takes 30+ minutes to get a meaningful first projection — they want detailed phase-by-phase income, expense, and savings inputs before producing results. There's no AI assistant of any kind. And the depth of customization is its own form of friction: it's possible to spend hours configuring scenarios that, for most users, don't materially change the answer.
ProjectionLab is built for the FIRE planner who treats retirement modeling as a hobby. We're built for people who want the answer to "am I on track?" without the production.
Why people choose Retirement Scenario Explorer
If you're planning a relatively standard retirement (W-2 income, employer plans, Social Security, maybe a paid-off home), ProjectionLab's flexibility is mostly cost without value. The math under the hood is comparable, the tax modeling is comparable, the Social Security modeling is comparable. What's different is what we don't make you do: 30 minutes of setup, $129/year forever, or learning a sophisticated tool to answer a simple question.
If you're a serious FIRE planner with complex multi-phase scenarios, ProjectionLab is probably the right tool for you, and we'll cheerfully say so. For everyone else, $79 once and a 5-minute first answer is the deal.
If you're already using ProjectionLab, cFIREsim, or your own spreadsheet — this isn't trying to compete on depth. It's the recommendation for two groups: people who'd never set up PL on a Sunday afternoon, and standard-FIRE planners who don't need 12 asset classes modeled to answer "am I on track?"
The current default recommendation is broken
When someone asks "what calculator should I use," the practical options today are:
Empower / Personal CapitalFree, but it's a wealth-management lead-gen tool. Your friend gets advisor calls within weeks of signing up.
Vanguard / Fidelity calculatorsFree, but too thin to model anything specific. No bridge years, Roth conversions, or sequence-of-returns risk.
Boldin / ProjectionLabSubstantively good, but $129–$144/year and 1–2 hours of setup. The friend probably won't actually use them.
A 4% rule worksheetUseless for a real answer.
So the FIRE-knowledgeable recommender either gives a non-answer ("just save more"), points at Empower and accepts the lead-gen risk, or hands them their own ProjectionLab login (which isn't going to happen).
This is the third option.
$79 one-time. Real Monte Carlo. No data collection. No upsell funnel. The friend gets a meaningful answer in five minutes; the recommender doesn't get blamed for sending them somewhere that turned out to be a sales pitch.
A note from me
I built this because at 49, I was tired of two options: oversimplified calculators (the 4% rule doesn't tell you much) and overcomplicated subscription tools (I didn't want to model 12 asset classes manually to ask a simple question).
Most retirement-tool conversations among FIRE-knowledgeable people are about which depth-tool to use — Boldin or ProjectionLab or build-your-own. Those are good questions. But the people in your life asking you what to use aren't asking that question. They're asking: "is there something between a free calculator that doesn't say anything and a $144/year tool I'll never set up?"
This is built for that gap. Real Monte Carlo math. Real Social Security modeling. Real tax-optimal withdrawal sequencing. $79 once, no subscription, no account required, no hidden funnel. The math is sound enough that you can confidently point a friend at it without worrying they'll be misled or upsold. And honestly — sound enough that for a standard-FIRE plan, you might find yourself using it too.
— Luke
What works well for retirement modeling
The math is the same whether you're targeting 65 or 50 — what changes is which features matter most:
1,000-scenario Monte CarloReal probability of plan survival, not a single-point estimate.
Historical back-testingReplay your plan against every actual market sequence from 1928 onward, or by named stress era (Great Depression, 1966, stagflation, dot-com, financial crisis). The Bengen / Trinity Study methodology — cohort survival rate next to Monte Carlo on the Stress Test tab.
Actuarially correct Social SecurityProper FRA adjustments, claiming-age modeling, spousal benefits.
Tax-optimal withdrawal orderingTaxable, then tax-deferred, then Roth — modeled in every simulation.
Phase-based spendingDefine your own go-go / slow-go / no-go boundaries; model spending that tapers with age instead of a flat number.
Coast FIRESet a stop-contributing age; balances compound through to retirement. The variant where front-loaded savings remove savings pressure, not retirement itself.
Guyton-Klinger guardrailsDynamic spending that cuts in bad markets and bumps in good ones. Academic safe-start 5–5.5% vs static 4% — the difference compounds into meaningfully earlier retirement.
Roth conversion sweet spotFinds bracket headroom in your low-income post-retirement years.
Gain harvesting (0% LTCG)Sells and rebuys brokerage holdings in bridge years to reset cost basis at zero federal tax. Pairs with Roth conversions to fill both bridge-year brackets.
Bridge reserve modelingEarmark cash, home sale, or inheritance to fund the gap before Social Security.
Future one-time expensesPlan-aware lump outflows at specific ages — college help, gap-year travel, car replacement, late-life inheritance gifts. Engine inflates from today's $ via CPI and draws from buckets in optimal order.
Healthcare bridge panelExplicit pre-Medicare cost modeling — the early-retirement expense most calculators ignore.
Sequence-of-returns stressThe most important risk most free calculators don't model.
Backdoor & Mega Backdoor RothModeled correctly — high-earner staple, often ignored.
Cohort comparisonAnchored to published Federal Reserve and SSA data — full sourcing in How It Works.
AI AdvisorInterrogate scenarios conversationally — "if I convert $50k/yr from Traditional to Roth from 65–70, how does that change my IRMAA exposure?"
What this isn't
Honest about limits — important if you're vouching for it:
Not a full planning tool like ProjectionLab or cFIREsim. If your friend turns out to be a craft planner, send them there.
No Vanguard dynamic spending or Kitces ratcheting (Guyton-Klinger is supported — see above).
Single return rate assumption. No asset-allocation modeling.
How to recommend it well
If you're pointing someone at it:
Tell them it takes five minutes. That's actually true. The friction sink with most planning tools is what kills the recommendation.
Tell them no account is required. This is the differentiator from Empower they may not realize matters until you name it.
Tell them $79 is the upgrade, not the entry. The free version runs the full Monte Carlo and gives a real answer.
Set their success-rate target appropriately. 85%+ for traditional retirement; 95%+ if they're targeting 50 or earlier.
Point them at the SS Benefit Confidence slider if they're decades from claiming. Modeling Social Security at 70–80% of projected is the honest hedge against the 2033 trust-fund shortfall — it's the question every FIRE planner has about Social Security, and most calculators won't let them ask it.
Send them the share link if they have a complex situation. The AI Advisor can answer specific questions about their plan in plain English.
📐 How It Works → full methodology
Every formula, assumption, and source — the SCF cohort tables, the SSA hypothetical worker AIMEs, the IRMAA thresholds, the Monte Carlo distribution, the tax brackets. Nothing is hidden. Vet it before you recommend it.
Your benefit is calculated from your Full Retirement Age (FRA) benefit and adjusted for when you claim. Claiming before FRA permanently reduces it; delaying past FRA increases it up to age 70.
SSA factors: ~0.70 at 62, 1.00 at FRA (67 for most), 1.24 at 70. This tool assumes a Full Retirement Age of 67, which applies to anyone born in 1960 or later. If you were born before 1960, your FRA is slightly lower (66 for born 1943–1954, graduating to 67 by 1960) — enter your actual FRA benefit to keep the math accurate regardless. Spousal benefit is the higher of their own record or 50% of your FRA benefit. Benefits are inflation-adjusted to retirement-year dollars. Stress-testing for legislative shortfall: the SSA Trustees project the trust fund hitting depletion in 2033, after which scheduled benefits would be reduced by ~20-23% absent congressional action. To stress-test your plan against this, set the "SS Benefit Confidence" slider to 80% (or another haircut you find plausible) — the engine will scale all SS benefits accordingly.