Skip to content
RetireRange

Model Limitations, by Portfolio Inventory

For financial planners reviewing a RetireRange plan. This page maps each kind of account, asset, and income source a household might hold to how the model treats it, the specific limitation to check, and which way the simplification leans — so you can go straight to the rows relevant to this portfolio.

RetireRange is a Monte Carlo simulator: thousands of randomized market/inflation paths, a household-level withdrawal strategy, and a tax engine (federal + all 50 states/DC). It is a model, not a prediction — every result is a projection from the assumptions entered. Read the Leans column as the fastest signal of where results may be too rosy or too cautious.


A. By account / tax type

Holding How the model treats it Limitation to check Leans
Traditional 401(k)/IRA RMDs via Uniform Lifetime Table, onset 73/75 by birth cohort, pooled per owner and tax type (IRS aggregation) and drawn through the normal withdrawal path, so the cash reserve and downturn ordering apply to them; withdrawals as ordinary income RMD smoothing is always on (no lump-timing choice); heir tax is a flat ordinary+state rate — the SECURE-Act 10-year drawdown bracket math isn’t applied yet; two employer plans of the same type held by one person pool loosely (same dollars distributed and taxed, different sleeve sold) Conservative on heir tax
Roth 401(k)/IRA Withdrawals tax-free; passes to heirs at full value; a pre-retirement withdrawal before 59½ books the 10% penalty unless the user asserts it is contributions (Roth basis) 5-year rule not enforced; an early withdrawal of earnings books the penalty but not the ordinary income tax on the earnings; Roth draws outside the Pre-Retirement Withdrawals card are never penalized; the Roth-basis assertion is accepted on Roth 401(k)/403(b)/457(b), where early distributions are really pro-rata Optimistic for early or unseasoned withdrawals
Taxable / brokerage Withdrawals taxed as ordinary income; basis stepped up at death No long-term cap-gains or qualified-dividend rates, no tax-loss harvesting; post-death gain drag not yet modeled Overstates tax (conservative)
HSA Medical-only (VEBA→HSA cascade); optional "stealth IRA" deferral Inherited HSA taxed per the account’s Beneficiary: spouse rolls over tax-free; a non-spouse owes ordinary+state on the full balance in the year of death (no step-up; harsher than an inherited IRA’s 10-year spread). An account left on the default beneficiary (Spouse for married filing jointly) is valued with no heir tax, which is optimistic once both spouses have died; choose Non-spouse explicitly for a conservative figure. Modeled as a flat haircut — the year-of-death bracket spike isn’t captured. Slightly optimistic for a non-spouse HSA (flat rate ignores the year-of-death lump)
VEBA Medical-only, drawn before HSA; full value to heirs Modeled as a distinct medical bucket, not a securities portfolio Neutral
Custom (user-added) tax type The household can add tax types beyond the eleven built-ins. The engine dispatches on the built-in names only, so an account under a custom type is treated as fully tax-free: withdrawals recognize no ordinary income, RMDs never apply, and heirs inherit at full value Correct for a genuinely untaxed holding (municipal bonds, some trust structures), but there is no way to tell the engine a custom type is taxable — the fallback is the only treatment available. A typo is indistinguishable from intent: an account named Traditional 401A silently leaves the taxed set. The app raises a per-account warning whenever a tax type isn’t built in; confirm any such account was meant to be tax-free Optimistic when used by mistake — understates lifetime tax, RMD-driven income, and heir tax simultaneously

B. By asset class

Holding Treatment Limitation to check Leans
Stocks / Bonds / Cash Block-bootstrapped historical returns by default, or parametric stochastic returns with a fixed correlation; the mix comes from how accounts are built No rebalancing unless the optional Rebalancing setting is on (off by default; when on, dollars move only within an owner + tax-type pool, so a household with stocks and bonds in different tax types cannot rebalance). The target mix can change later in the plan through glide-path waves, but each wave is a step (no interpolated, gradually gliding target); the schedule is one per household, keyed to the oldest person’s age, so with a wide age gap the younger spouse’s own accounts de-risk on the older spouse’s timeline; and waves key on age only, never on market conditions or portfolio value; correlation held constant in parametric mode (assets can fall together in real crises); only four classes (no intl / small-cap / REIT / alternatives); parametric mode understates fat tails, and bootstrap can only replay patterns present in 1928–2025 Both ways — cross-check across return generation modes and the historical backtest

The concrete consequence of no rebalancing worth walking a client through: a dedicated cash or bond account shrinks over time, and that is expected, not a bug. Each withdrawal — the monthly spending draw and the December tax bill alike — pulls from every account in a tax type in proportion to its balance, so a cash sleeve pays its share of both while earning only the cash return. It falls as long as the withdrawal rate on that tax type exceeds the cash rate, then levels off at a floor rather than draining to zero. Worked figures: a $50K cash account held alongside $200K of taxable stock fell to roughly $39K over 17 years and then flattened. Cash Reserve is the one Strategy-tab control that changes this, and it is two separate checkboxes — turning the reserve on protects cash from ordinary withdrawals, but the balance is only rebuilt if the refill checkbox inside it is also on. With both on (12 months, 10% refill threshold), the same account held $88–120K instead of falling toward $25K, at a cost of essentially no success rate (84.6% → 83.8% in the same test). Also worth noting: when RMDs exceed spending the surplus is deposited to a Taxable account, and by default the app picks the owner’s first Taxable account, which may itself be a money-market/cash account — the RMD Overage Destination setting on the Strategy tab lets you route it elsewhere per person.

C. By income source

Holding Treatment Limitation to check Leans
Social Security Claiming-age optimizer; taxation thresholds modeled; spousal paid as max(own, 50% of the other’s PIA at their FRA), gated on the worker having filed and reduced at the dependent’s age when it begins Hand-entered estimates assume work-to-claim (an SSA statement XML can instead be imported and the PIA recomputed from the earnings history — see note below); survivor benefit uses the SSA age-graded factor (71.5% at 60 → 100% at FRA); no policy/solvency changes; no WEP/GPO Neutral
Other income (part-time work, consulting, royalties) Monthly stream with start/end dates, CPI or fixed growth, owner-scoped (stops at the earner’s death) or Household; Earned streams carry payroll tax (FICA or self-employment, per-earner wage base, Additional Medicare), the SS earnings test with the benefit restoration at FRA, and PIA credit via the SSA-import recompute Earnings test is the annual test only (no first-year monthly test), so a mid-year retiree may show more first-year withholding than SSA applies; the FRA restoration is applied to a spousal step-up at the worker’s ratio (an approximation); PIA credit reaches the plan only through the SSA-import recompute; a CPI-tracking earned stream is credited toward PIA flat in today’s dollars; Household-scoped earned income is neither tested nor credited Mostly conservative
Pension COLA + survivor % modeled; optional end date or fixed term (number of monthly payments), the earlier stop winning when both are set — blank pays for life No lump-sum option; a survivor benefit runs only for what remains of a fixed term, not beyond it Neutral
Annuity QLAC, exclusion ratio, COLA, survivor modeled; optional end date or fixed term, as for pensions Models an existing stream; buying a new annuity mid-plan isn’t a modeled transaction; no refund-of-premium or cash-refund option (a fixed term simply stops paying — nothing goes to the estate); a "life with N-year certain" contract should be left as lifetime income, because the fixed-term field stops payments during the owner’s life. QLAC RMD deferral is unaffected by an end date Neutral
Real estate Appreciation + optional rental income + sale proceeds routed to an account No mortgage amortization, HELOC, or reverse-mortgage modeling; primary residence counts only if entered Neutral
Cash-value life insurance Cash value + tax-deferred growth + death benefit to an account + optional tax-free policy-loan income No lapse, MEC, surrender charges, or loan-interest accrual; not a general living-income source beyond the loan feature Optimistic (ignores policy drag)

Note on SSA benefit estimates. A client can enter the 62 / FRA / 70 figures by hand or import the SSA statement data XML (parsed in the browser; never uploaded). An import accepted as-is carries SSA’s own assumption that the worker keeps earning at their current rate until claiming — the standard overstatement for an early retiree. The importer’s Recompute PIA from earnings history mode removes that assumption: it rebuilds AIME from the top-35 wage-indexed FICA years in the file under a client-chosen stop-earning age and future annual earnings, then applies the eligibility-year bend points. Figures from the recompute can differ materially from the bar chart on the client’s own statement, and for an early retiree that difference is the point. WEP/GPO, the disability freeze, and death before 60 are not modeled by the recompute.

D. Household-level

Area Treatment Limitation to check Leans
Mortality / survivor None / Deterministic / Stochastic; survivor holds MFJ through the year of death, then flips to Single the following January Stochastic deaths drawn from the SSA period life table variant matching each person’s optional Gender setting, falling back to the unisex blend when it is left unspecified; survivor SS via the SSA age factor (up to 100% at FRA); use Deterministic for clean strategy comparisons Neutral
State tax All 50 + DC, with brackets and deductions checked against each state’s own revenue department or statute during 2026; planned move supported, and a move’s tax change flows to legacy under every target (V2). Social Security exemptions are income- and age-tested where the state taxes it. Retirement-income and military exemptions are verified and applied in every income-tax state, including age tiers, income phase-outs, Social Security offsets and government-pension rules — see below. Future-year changes already enacted are recorded, not pre-applied A list of narrower state breaks is not modeled (see below); age tests use the youngest household member; caps and thresholds are not inflated over the plan; no county/local tax (except Maryland, whose brackets carry a county add-on) and no New York City tax; New York’s benefit recapture not modeled Mostly conservative; optimistic for high-income New York households
Medical / long-term care Separate medical track + inflation, Medicare / IRMAA / Medigap / pre-Medicare bridge Long-term care is not modeled at all Optimistic — the biggest gap for many households
Fees None deducted No fund expense ratios, advisory fees, or trading costs — compensate by lowering return assumptions Optimistic
Tax accounting Realized federal + state tax drawn from the portfolio at each year-end, under every target (Engine V2) Simplifications live in the rates (ordinary-income treatment of taxable withdrawals; no cap-gains / QDI / AMT / NIIT — see the rows above), not the payment mechanism Conservative (rates overstate tax)
Guaranteed income above the spending target Any month’s Social Security + pension + annuity + rental + other + policy-loan income that exceeds the spending target is invested — deposited into the household’s first Taxable account and added to its cost basis, the same treatment already used pre-retirement (fixed 2026-09-24; previously the surplus was discarded while still being taxed, which could make more Social Security leave a household strictly worse off) A household with no Taxable account still loses the surplus — there is nowhere for the engine to deposit it. Worth checking on any plan where guaranteed income can exceed spending, most often early retirees who claimed Social Security before ramping spending, and surviving-spouse or low-spend scenarios Conservative for a household with no Taxable account; otherwise neutral

State tax on retirement income, in detail

What counts as retirement income for a state exclusion: pension and annuity income (the taxable part), withdrawals and RMDs from Traditional 401(k)/IRA/403(b)/457(b) accounts, Roth conversions, and early distributions. Taxable-account gains, Roth, HSA and VEBA draws are not in it. Military retired pay is its own category, flagged per pension on the Household tab, and so is a government pension (federal, or state/local with the paying state), which matters in Arizona, Indiana (federal civil service only), Kansas, Louisiana (federal and Louisiana systems), Massachusetts and Missouri (any government, including another state’s).

Where exemptions are applied. Every income-tax state now has a verified retirement-income rule and a verified military rule. Several are verified as giving no general exclusion — CA, DC, ID, MN, MT, NC, ND, NE, NM, OH, OR, UT, VT and WV, plus private pensions in AZ, IN, KS, LA (under 65) and MA — so full taxation there is deliberate, not a default. Military pay is taxed in CA, DC, MT and OR; shares the general exclusion in CO (55+), DE, GA and KY; is capped in ID, MD, NM, VA and VT; is relieved by a nonrefundable credit in UT; and is exempt in full elsewhere.

Shapes worth knowing when reviewing a client’s state result:

  • Social Security offsets. Maine (gross benefit received), Maryland (gross), Idaho’s military deduction (gross), and Missouri’s public-pension cap (taxable benefit) reduce the cap by Social Security. Colorado reduces its $20,000 (55–64) / $24,000 (65+) subtraction by the Social Security subtraction actually claimed, not the benefit, and military pay from 55 shares the same cap. Indiana’s $16,000 federal civil-service adjustment is reduced by Social Security received.
  • Roth conversions. Excluded from Maine’s deduction (Maine says no benefit is received at conversion); included in Iowa’s unlimited 55+ exclusion, which makes Iowa one of the few states where converting costs no state tax.
  • Per-return, not per-person. Idaho’s military deduction is one per return ($48,216 single / $72,324 joint).
  • Scheduled future changes in GA, HI, IN, MS, NE, NY and VA are recorded with the year they take effect but not applied early. All seven make the state cheaper, so those plans overstate later-year state tax slightly. State tax data is excluded from the automated annual tax refresh; every state entry changes only by a sourced, human-reviewed edit, once a year in late autumn.

Simplifications that overstate tax (conservative):

  • Age tests use the youngest household member, not the person who owns the income. A Wisconsin couple aged 70 and 64 gets nothing from Wisconsin’s 67+ exclusion until the younger spouse turns 67. A survivor stays tied to the deceased spouse’s age.
  • Per-person caps give a joint return two people’s worth only when both spouses have retirement income of their own; otherwise one person’s worth.
  • Exemption caps and income thresholds are not inflated over the plan (brackets and deductions are), so the exemptions shrink in real terms and later years run high.
  • Not modeled: Utah’s $450 retirement credit (born 1952 or earlier); New Mexico’s $8,000 65+/blind exemption on any income; West Virginia’s $8,000 senior modification (which competes with, rather than adds to, its Social Security exclusion); Ohio’s retirement income credit (max $200); Oregon’s retirement income credit and pro-rated exemption for federal service before 1 October 1991; Minnesota’s CSRS break; Nebraska’s federal civil-service annuity exemption; Idaho’s civilian deduction categories (CSRS/Foreign Service, PERSI Firefighters, closed Idaho police funds) and its disabled / under-62-and-working military routes; Colorado’s separate $15,000 military subtraction under 55 and Social Security counting toward its 55–64 cap; Indiana’s surviving-spouse exception to age 62; Montana’s military exemption (new residents with earned income only); Oregon’s subtraction for federal tax paid and its per-person credit; Alabama’s deduction for federal income tax; Montana’s 65+ subtraction; Minnesota’s second-tier Social Security subtraction; Colorado’s $20,000 deduction for ages 55–64 above its income threshold; Kentucky’s pre-1998-service pension rule; Michigan’s uncapped public-pension deduction for those born before 1946 and its alternative $20,000 / $40,000 deduction at 67+; full exemption of New York public and federal pensions; lower-age tiers for military pay in Delaware and Georgia; scheduled future cuts (Mississippi’s 2027 rate step, Hawaii’s later deduction increases, Georgia’s 2027 exclusion rise).
  • Income tests use federal AGI where a state uses its own measure (New Jersey, Virginia).

Simplifications that understate tax (optimistic):

  • New York’s benefit recapture above $107,650 of income is not modeled — the largest single state-tax gap for a high-income New York household — and New York City’s income tax is not included.
  • Capital-gains taxes not modeled: Washington’s 7% excise on long-term gains above roughly $270,000 (9.9% above $1 million) and Maryland’s 2% surtax on net gains for high earners.
  • California’s 2.5% additional tax on early distributions is not modeled.
  • Phase-downs not modeled: South Carolina’s deduction phase-down at higher incomes and Illinois’s exemption cut-off above $250,000 / $500,000 of income.
  • Missouri’s private-pension exemption is withheld below age 62. Missouri’s statute (RSMo 143.124) sets no age test for either pension exemption, so a Missouri retiree under 62 with private pension, 401(k) or IRA income is shown up to $6,000 per person less exemption than Missouri allows (conservative; a correction is queued). The public-pension cap correctly applies at any age. The private-pension phase-out is also tested on federal AGI rather than Missouri AGI less taxable Social Security (also conservative). Louisiana’s own-system exclusion covers a named list of plans the model can’t distinguish, so an unlisted Louisiana public plan would be exempted.
  • Exemption definitions approximated in a few states, generously: Pennsylvania exempts a privately purchased annuity, Hawaii exempts a pension’s employee-contribution share, Kansas exempts every Kansas public pension, and Massachusetts exempts non-contributory federal pensions. Arkansas and South Carolina exempt military pay without netting it against the general retirement cap.

Either direction: stepped state tables (Connecticut’s pension phase-out, Wisconsin’s and Maine’s deduction phase-outs) are approximated as straight lines.


Conservative by design

Most simplifications above are deliberately cautious — they tend to overstate tax and understate legacy (taxable-as-ordinary, non-spouse heir tax). The exceptions worth flagging to a client are the ones that lean optimistic: long-term care, investment fees, and cash-value life-insurance drag. Weigh a plan’s success rate with those three in mind — and for a high-income New York household, state tax too. A fourth item is different in kind rather than directional — hand-entered SSA benefit estimates carry SSA’s continued-work assumption, which flatters an early retiree’s plan until the figures are trimmed or recomputed from the earnings history (see the notes under section C).

See the user-facing Limitations page for the plain-language version.


Questions or suggestions?

If a limitation above needs more precision for how you use the model with clients, or you’ve spotted a gap this page doesn’t cover, email support@retirerange.com — a real person reads every message. See Contact & Support for what to include.

Scroll to Top