Two retirees with identical $2M portfolios and identical average returns can have radically different outcomes. The difference is sequence: when the bad years hit, where the cash comes from, and which tax bucket gets drained first. A retirement-income engine that ignores ordering produces plans that look right on paper and fail in production.
Sequence is not a footnote
It is the dominant variable in the first ten years of retirement.
The classic illustration is two return paths with the same arithmetic mean. Path A starts with three down years; path B ends with them. Same average, same securities, same withdrawals — wildly different terminal balances. The math is unforgiving: a 30% drawdown while you are also withdrawing 4% of the portfolio compounds against you, and there is no later sequence of good years that fully repairs it.
This is the problem your engine has to model. Aggregate return assumptions are not enough.
The retiree who runs out of money usually didn't run out of returns — they ran out of returns at the wrong time.
What a working sequencer must model
A correct retirement-income engine tracks three intertwined ledgers per household: an account ledger (taxable, traditional, Roth, HSA, annuity), a tax ledger (ordinary income, LTCG, RMD-driven distributions, IRMAA bracket position), and a liability ledger (Medicare premiums, state taxes, healthcare share). Withdrawal decisions depend on the joint state of all three.
Minimum viable engine surface
- Account-by-account balance projections at monthly granularity (not annual averages)
- Per-account return paths driven by realistic correlation, not iid normals
- Required Minimum Distributions starting at age 73 (Secure 2.0) with re-projection on death of a spouse
- IRMAA bracket positioning with the 2-year MAGI lookback baked in
- Roth conversion ladders with multi-year tax planning, not greedy single-year fills
- Social Security claim-age scenarios with spousal and survivor benefit interactions
- Capital gain harvesting in the 0% LTCG bracket where it applies
The IRMAA cliff
Medicare Part B and D premiums step up at five Modified Adjusted Gross Income brackets. Cross a bracket by a single dollar and you owe the full step-up — for two years, because IRMAA uses the MAGI from two tax years prior. This is the most overlooked variable in retirement-income engines.
The planning consequence: a Roth conversion sized to the 22% federal bracket can quietly trip an IRMAA tier and add $1,300+/year of Medicare premium for two years. Your engine's optimal_conversion_amount cannot just look at marginal tax rate — it has to look at the joint marginal cost across federal, state, IRMAA, and (for some clients) ACA premium tax credits.
MC = T_fed + T_state + ΔIRMAA / Δincome + ΔAPTC / Δincome- T_fed
- = marginal federal income tax rate
- T_state
- = marginal state income tax rate
- ΔIRMAA
- = Medicare premium step-up at this income level
- ΔAPTC
- = loss of advance premium tax credit (pre-65 retirees)
At $122k MAGI: T_fed=22%, T_state=4.55%, IRMAA tier flip = $912/yr × 2yrs / $1k = +18.2 pp.
True MC ≈ 44.8% — not the 22% the bracket implied.A worked timeline
Here is what a realistic 10-year drawdown plan looks like for a couple retiring at 65 with $2.0M across a 40/40/20 split (taxable / pre-tax / Roth):
- Age 65–66Bridge to Social Security on the taxable accountSpend down the most tax-inefficient assets first; harvest gains in the 0% LTCG bracket while ordinary income is still low. Begin small Roth conversions sized to the top of the 12% bracket.
- Age 67–69Roth conversion windowPre-RMD, pre–full Social Security. The cleanest 3-year window to fill the 22% bracket and still avoid the first IRMAA tier. Convert ~$80k/yr of pre-tax to Roth.
- Age 70Claim Social Security at the 32% delayed creditSwitch the income mix toward SS and taxable yield. Continue smaller conversions but model IRMAA carefully — 2-year lookback now binds.
- Age 73RMDs beginPre-tax balance has been pruned by 6 years of conversions; RMDs are smaller and the household stays a bracket below where it would have without the conversion ladder.
- Age 75–80Roth withdrawals + qualified charitable distributionsQCDs from the IRA satisfy RMDs without raising MAGI — the only legal way to keep IRMAA tiers low while still meeting the RMD requirement.
What goes wrong
This is the honest production failure mode. Engines built on iid return draws underestimate sequence risk by 30–50%. Engines built on historical bootstrapping underestimate it less but still miss the long correlated drawdowns (2000–2002, 2008, the 1970s for bonds). The fix is not a fancier returns model — it is stress sequences as a first-class input, not a what-if button.
What the B03 dataset includes
50 households across early-, mid-, and late-retirement archetypes, each with a 30-year drawdown projection and at least two embedded stress sequences.
Key takeaways
- The first decade of retirement is the dominant variable — sequence risk eats most of the 30-year variance.
- IRMAA tiers, not federal brackets, are usually the binding constraint on Roth conversions.
- Engines built on iid or bootstrap returns underestimate sequence risk by 30–50%; explicit stress sequences are the fix.
- QCDs are the only way to satisfy RMDs without raising MAGI — model them or your post-72 plans will look worse than they should.