Methodology
How our retirement engine works
Most planning tools treat their math as a black box. Ours is the product — so here is the full methodology: every assumption, every simplification, and what the results do and don't mean.
Published August 2026 · Updated September 2026 · By the UltimateCRM team
The question it answers
The engine answers one question with honest uncertainty attached: "If this household retires on this plan, what fraction of plausible market futures does the money outlast?" It models the whole lifecycle — accumulate until retirement, then draw an inflating spending stream, net of Social Security and pensions, through each spouse's planning horizon — and reports how many futures fail.
The simulation core
- 2,000 market paths per run, simulated in annual steps (cashflows, taxes, and RMDs are inherently annual events).
- Log-normal return shocks, normalized so the expected shock is 1 — which means at zero volatility every path collapses to the same deterministic drawdown. That keeps the median band consistent with a point estimate and makes the math independently checkable.
- Capital-market assumptions come from your firm's investment committee. The committee publishes one set: expected return and volatility per asset class, the correlations between them, and inflation, with an as-of date. Each risk tier is an allocation over those classes, and a household with assigned strategies runs on the balance-weighted blend of them. The engine derives the equity return, volatility and riskless rate from that allocation, so the number on the page and the number in the committee's minutes are the same number, and every plan report names the set it ran on. Until a firm publishes its own, the platform's default set applies.
- A retirement glidepath (on by default) de-risks after retirement: the equity share scales to 75% of its pre-retirement level — retirees rarely hold their accumulation portfolio.
- Inflation is the published set's figure and inflates spending, tax brackets, and deductions alike; results can be displayed in today's dollars.
Taxes are modeled, not hand-waved
Withdrawal math without taxes flatters every plan. Each simulated year computes federal tax using the actual bracket tables (currently the 2026 tables from IRS Rev. Proc. 2025-32, inflated along the plan), the standard deduction, and a three-bucket withdrawal model:
- Taxable accounts first — a configurable fraction of each withdrawal is treated as realized gain, taxed at a flat long-term capital-gains rate (15% in the engine; the planning hub models the full 0/15/20% brackets).
- Tax-deferred next — withdrawals are ordinary income, and the deferred bucket is split per spouse, so RMDs apply to each person's own balance at their own age.
- Roth last — tax-free.
- Social Security is taxed at the simplified 85%-includable rate; an optional flat state tax applies to ordinary income and gains.
RMDs and the widow's penalty
Required minimum distributions start at age 73 using the IRS Uniform Lifetime Table, forced from each spouse's own deferred balance even when the plan doesn't need the cash. At the first death, the survivor inherits the deceased's deferred balance (spousal rollover), keeps the larger of the two Social Security benefits, receives a configurable fraction of any pension, scales spending to a survivor percentage — and, crucially, switches from married-filing-jointly to single brackets. That "widow's penalty" is a real and routinely ignored risk; the engine models it by default (and lets you toggle it to see its isolated effect).
Guardrails: modeling what retirees actually do
Fixed-spending simulations overstate failure, because real retirees adjust. The engine's guardrails are risk-based: the trigger is the plan's probability of success, re-measured each year from where the household actually stands, not a withdrawal-rate rule of thumb. The household's one risk answer sets how wide the band is and how deep a cut runs; the firm sets the success target every plan is solved to. Alongside the success probability, the engine reports the probability that any spending cut occurs and how deep cuts run — because "97% success, but a 60% chance of cutting lifestyle" is a very different conversation than the headline number suggests.
What we deliberately don't model (yet)
- Mortality is deterministic — each spouse has an explicit plan-to age rather than stochastic lifespans. It's more conservative and far easier to reason about with clients.
- IRMAA surcharges and cost-basis tracking are not in the engine; one-off inflows (a business or property sale) enter as net-of-cost haircut lump sums instead. Each omission is an isolated hook in the code, built to be upgraded without touching the core.
- Social Security uses a simplified taxation rule (85% includable) rather than the provisional-income formula.
We'd rather tell you exactly where the model is simplified than imply a precision it doesn't have.
What a success probability means — and doesn't
An 85% success rate does not mean "there is a 15% chance of ruin." It means that in 15% of simulated futures, this plan followed rigidly depletes before the horizon — in reality those paths are exactly the ones where an advisor intervenes early. Treat the number as a decision-support gauge: robust across assumptions is meaningful, a single decimal point is not. The engine's sensitivity views (retire two years later, spend $500 less, claim Social Security at 70) matter more than any single headline figure — because the question is never "what is the number?" but "which lever moves it?"
Run it on a real household
Load a household's actual finances and get a defensible retirement answer in seconds.