Retirement Projection Methodology

A transparent look at how FolioForecast models your retirement. Engine version 2.5.0 · Tax data year 2025

1. Overview & Philosophy

FolioForecast's retirement projection engine performs a deterministic, year-by-year simulation of your household's financial trajectory from the current year through the end of the planning horizon (default: age 95). Every year, the engine:

  1. Grows each account balance by the scenario's assumed return rate.
  2. Adds any contributions still being made during the accumulation phase.
  3. Computes required minimum distributions (RMDs) once applicable.
  4. Calculates income needs, adjusting for inflation.
  5. Subtracts Social Security benefits, pensions, and other income sources.
  6. Withdraws from accounts in a tax-efficient order to cover remaining needs.
  7. Computes federal and state taxes on all taxable income, grossing up withdrawals so taxes come out of portfolio assets — not out of spending.

The engine is deterministic for a given set of inputs — the same assumptions always produce the same output. A separate Monte Carlo module layers stochastic return sequences on top of this core loop to estimate the probability of success across thousands of randomized scenarios.

2. Federal & State Tax Engine

Federal income taxes are computed using the 2025 IRS bracket schedule (IRS Rev. Proc. 2024-40, as amended by the One Big Beautiful Bill Act). The engine applies progressive marginal rates to ordinary income:

BracketMarried Filing JointlySingle
10%$0 – $23,850$0 – $11,925
12%$23,850 – $96,950$11,925 – $48,475
22%$96,950 – $206,700$48,475 – $103,350
24%$206,700 – $394,600$103,350 – $197,300
32%$394,600 – $501,050$197,300 – $250,525
35%$501,050 – $751,600$250,525 – $626,350
37%Over $751,600Over $626,350

The standard deduction ($30,000 MFJ / $15,000 single) is subtracted from gross income before brackets are applied. Long-term capital gains from taxable brokerage accounts are taxed at 0%, 15%, or 20% depending on total taxable income.

State taxes are modeled as a flat effective rate applied to the same taxable income. Users enter their state's approximate rate in the Assumptions step. This is a simplification — most states have progressive brackets — but it captures the overall tax drag without requiring state-by-state bracket tables.

3. Required Minimum Distributions (RMDs)

Traditional IRA and 401(k) holders must begin taking required minimum distributions at age 73 (SECURE 2.0 Act). The annual RMD is calculated as:

RMD = Account Balance (Dec 31 prior year) ÷ IRS Uniform Lifetime Table divisor

The engine uses the full IRS Uniform Lifetime Table (ages 72–120). If the RMD exceeds the year's spending need, the excess is treated as forced taxable income — it increases the tax bill but does not increase spending. RMDs are withdrawn from Traditional accounts first before any discretionary withdrawal ordering.

4. Social Security Taxation

Up to 85% of Social Security benefits may be subject to federal income tax, depending on "combined income" (AGI + nontaxable interest + half of SS benefits). The engine implements the IRS two-bracket formula:

Filing Status50% Threshold85% Threshold
Single$25,000$34,000
Married Filing Jointly$32,000$44,000

The taxable portion is computed using the IRS worksheet method: the lesser of 85% of benefits or 50% of the amount over the first threshold plus 35% of the amount over the second threshold. This taxable amount is included in ordinary income for bracket calculation.

5. Withdrawal Ordering & Tax Gross-Up

When portfolio withdrawals are needed to cover retirement spending, the engine follows a tax-efficient ordering:

  1. Cash / taxable brokerage — withdrawals are partially taxable based on the capital gains ratio (gains / balance).
  2. Pension income — fully taxable as ordinary income.
  3. Traditional IRA / 401(k) — fully taxable as ordinary income. A 10% early withdrawal penalty applies if the account holder is under age 59½ (unless early withdrawals are disabled).
  4. Roth IRA — tax-free withdrawals (qualified). A 10% penalty on earnings applies if under 59½ and early withdrawals are enabled.

Tax gross-up is the key mechanism that makes the projection realistic. When you need $60,000 in after-tax spending, you must actually withdraw more than $60,000 from a Traditional account to cover the taxes owed on the withdrawal itself. The engine iteratively computes the gross-up amount (up to 10 iterations) until the after-tax withdrawal converges to the spending need within $1.

Users can optionally block early withdrawals from tax-advantaged accounts before age 59½, and set a withdrawal cap (fixed dollar or percentage of target income) to extend portfolio longevity.

6. Year-by-Year Projection

The projection engine ties everything together. For each year from the current age to the end of the planning horizon:

  1. Apply the assumed annual return to all account balances.
  2. Add any pre-retirement contributions.
  3. Compute RMDs for Traditional accounts if age ≥ 73.
  4. Calculate inflation-adjusted income need.
  5. Subtract Social Security, pensions, and other guaranteed income.
  6. Apply any withdrawal cap to the remaining need.
  7. Run the withdrawal engine with tax gross-up to cover the shortfall.
  8. Record ending balances, taxes paid, withdrawals by account, and penalties.

The engine runs three scenarios — Base (user's expected return), Bear (return minus 2 percentage points), and Bull (return plus 2 percentage points) — to bracket the range of likely outcomes.

7. Monte Carlo Simulation

The Monte Carlo module runs 2,000 independent simulations, each applying a different sequence of randomized annual returns drawn from a normal distribution centered on the user's expected return with a standard deviation of approximately 12% (historical US equity volatility).

Each simulation uses the full withdrawal engine with tax gross-up, RMD enforcement, and Social Security taxation — not a simplified approximation. A simulation "succeeds" if the portfolio has a positive balance in every year of the planning horizon.

The success rate is the percentage of simulations that survive the full horizon. The fan chart shows the 5th, 25th, 50th, 75th, and 95th percentile portfolio balance at each year, giving a visual sense of the range of outcomes.

All Monte Carlo runs are seeded for reproducibility. The seed is displayed alongside results and stored with saved plans, so re-running the projection with the same inputs and seed produces identical output.

8. FIRE Score

The FIRE (Financial Independence, Retire Early) score is a composite metric from 0 to 100 reflecting overall retirement readiness. It is computed as a weighted average of three factors:

  1. Portfolio survival (40%) — Does the portfolio last the full planning horizon? Full marks if the ending balance is positive; partial credit proportional to the fraction of years funded.
  2. Monte Carlo success rate (40%) — The probability of success across 2,000 stochastic simulations.
  3. Income replacement ratio (20%) — First-year retirement income (from all sources including withdrawals) as a fraction of the target income.

9. Limitations & Assumptions

This projection model makes simplifying assumptions that users should understand:

  • Constant inflation rate. The model uses a single inflation rate for all years. Real inflation varies and can spike unexpectedly.
  • Flat state tax rate. State taxes are modeled as a single flat rate rather than progressive brackets.
  • No tax law changes. The model uses current (2025) tax law. Future legislation will inevitably change brackets, deductions, and rules.
  • Normal return distribution. Monte Carlo simulations assume returns are normally distributed. Real markets exhibit fat tails, meaning extreme events occur more often than a normal distribution predicts.
  • No sequence-of-returns risk modeling in deterministic mode. The base/bear/bull scenarios use constant annual returns. The Monte Carlo module does model return variability.
  • No healthcare cost modeling. Medical expenses in retirement can be substantial and are not separately modeled.
  • No estate or inheritance modeling. The engine does not account for estate taxes or wealth transfer strategies.
  • Social Security benefits are assumed fixed. The model uses user-entered benefit amounts and does not project future COLA adjustments beyond the general inflation rate.

10. Data Sources

  • Federal tax brackets: IRS Revenue Procedure 2024-40 (inflation-adjusted 2025 brackets), as amended by the One Big Beautiful Bill Act (OBBBA).
  • Standard deduction: IRS Rev. Proc. 2024-40.
  • RMD tables: IRS Uniform Lifetime Table (updated per SECURE 2.0 Act / Pub. 590-B).
  • Social Security taxation thresholds: IRS Publication 915 (2025).
  • Capital gains rates: IRC §1(h), 2025 thresholds.

Important Disclaimer

FolioForecast is not a financial advisor. The retirement projection tool is a mathematical model that illustrates potential outcomes based on the assumptions you provide. It does not constitute investment advice, tax advice, or a recommendation to take any particular action.

Projections are hypothetical and do not guarantee future results. Actual investment returns, tax rates, inflation, and life circumstances will differ from any modeled scenario. Past performance of any investment does not guarantee future results.

Consult a qualified financial advisor, tax professional, and/or attorney before making retirement planning decisions. FolioForecast is a tool to support — not replace — professional financial guidance.