Transparency
Methodology
RetireFire is built for people who want to understand the math, not just a black-box number. Below are the formulas, default assumptions, and primary research traditions we reference. Prefer a narrative first? Read the human methodology tour. Nothing here is personalized advice — see the disclaimer.
1. FIRE number
Your FIRE number is the portfolio size that, at a chosen safe withdrawal rate (SWR), is expected to support a given annual spend:
FIRE number = Annual spending ÷ Withdrawal rate Multiplier = 1 ÷ Withdrawal rate Example (4% rule): $60,000 ÷ 0.04 = $1,500,000 (25×)
Lean / Regular / Fat are only spending presets for convenience. They are not standards of living defined by academic research — edit them to your actual budget.
2. Safe withdrawal rates & the “4% rule”
The popular 4% starting withdrawal rate is associated with work on historical retirement portfolio survival in the United States — commonly traced to William Bengen (1994) and the “Trinity Study” (Cooley, Hubbard & Walz, 1998 and updates). These studies ask, in substance: for a given stock/bond mix and initial withdrawal rate adjusted for inflation, how often would a portfolio have lasted 30 years in past U.S. market history?
- 4% is a widely cited starting point for ~30-year horizons — not a guarantee.
- Early retirement (40–50+ year horizons) often motivates more conservative rates (e.g. 3–3.5%) or flexible spending rules.
- Outcomes depend on asset allocation, fees, taxes, sequence of returns, and spending flexibility — none of which our simple calculator fully models.
Primary sources
- 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 Savings: Choosing a Withdrawal Rate That Is Sustainable.” AAII Journal (Trinity University) — often called the Trinity Study.
- Subsequent updates and related SWR literature (e.g. later Trinity updates; Bengen follow-ups; Kitces and others on flexible withdrawal strategies). Treat popular summaries as gateways to the original papers.
3. Years to FIRE
We project a constant real return with end-of-year contributions:
T = P(1+r)^n + C × ((1+r)^n − 1) / r Solved for n (years): n = ln((T·r + C) / (P·r + C)) / ln(1+r) If r ≈ 0: n = (T − P) / C
Where P is current portfolio, C annual contribution, r real return, and T the FIRE target. This is a smooth compound-growth illustration — not a Monte Carlo simulation.
4. Coast FIRE
Coast FIRE asks: how much do you need today so that, with no further contributions, compound growth reaches full FIRE by a chosen traditional retirement age?
years = retirement age − current age coast number = FIRE number ÷ (1+r)^years Projected at retirement (stop saving now): FV = current × (1+r)^years
Hitting Coast FIRE means you could stop saving for retirement — not that you must stop working or that early retirement is funded yet. Lifestyle, healthcare, and Social Security are out of scope of this simple model.
5. Barista FIRE (semi-retirement)
When part-time or flexible work covers some spending, the portfolio only needs to fund the remainder:
gap = max(0, annual expenses − work income) barista number = gap ÷ withdrawal rate
Years to Barista uses the same compound-growth solver as Years to FIRE, with the barista number as the target. Job stability, benefits, and taxes are not modeled.
6. Savings-rate table
Holding lifestyle spending fixed, each savings rate s implies income = spending ÷ (1−s) and annual savings = s × income. We then solve years to the full FIRE target from your current portfolio. Rows near your current implied savings rate are highlighted in the UI.
7. Real vs nominal returns
By default, expected return is real (after inflation), matching targets expressed in today’s dollars. In nominal mode we convert:
real ≈ (1 + nominal) / (1 + inflation) − 1
Projections always compound at the effective real rate so FIRE targets stay in today’s purchasing power.
8. Default assumptions
| Parameter | Default | Notes |
|---|---|---|
| Withdrawal rate | 4% | Classic starting point; adjust for horizon |
| Real return | 5% | After inflation; not a forecast |
| Inflation (reference) | ~2.5% | Used conceptually; calculators work in real terms |
| Coast horizon age | 65 | Traditional retirement age default |
9. What we deliberately omit (for now)
- Comprehensive tax planning, including capital gains, RMDs, NIIT, state taxes, and multiyear Roth optimization
- Investment fees and advisory costs
- Personalized Social Security, pension, annuity, and ACA subsidy analysis
- Taxes on withdrawals, account types, and rebalancing rules inside stress tests
- Historical cycle backtesting (cFIREsim-style overlapping periods)
- Inflation shocks, currency risk, and home equity strategies
Product philosophy and free-core commitments live on the Approach, Limitations & Roadmap page.
10. Monte Carlo stress test (illustrative)
Coast FIRE and Years to FIRE include an optional sequence-of-returns stress test. It does not replace the deterministic formulas above. It samples many random return paths so you can see a range of terminal outcomes under a transparent toy model.
Each year: Z ~ Normal(0, 1) r = max(−0.95, mean_return + σ · Z) wealth = wealth × (1 + r) + contribution Success = terminal wealth ≥ target Free tier: 1,000 paths · fixed σ presets · seed 42
- Mean return comes from shared assumptions (same real return as the main calculators).
- Volatility σ is an illustrative annual standard deviation (12% / 15% / 18% presets) — not a fitted estimate of your portfolio.
- Independence: year shocks are i.i.d. There is no autocorrelation, regime switching, or crash clustering in the free model.
- Not historical backtesting: this is not overlapping historical market sequences. Those tools answer a related but different question.
- Reported statistics (success rate, p10 / p50 / p90, sample paths) are educational ranges — not probabilities of your life outcomes.
Coast stress tests use zero contributions over the coast horizon and compare terminal wealth to full FIRE. Years stress tests keep your annual contributions and compare to the FIRE number over the modeled years-to-FIRE horizon (or a fallback horizon if unreachable).
11. Historical retirement scenarios
Historical scenario results use overlapping, contiguous periods from a verified annual return series. Each cycle applies withdrawals at the beginning of the year, then applies the year's portfolio return and reports the ending balance in real dollars. The cycle denominator is the number of full-horizon periods available in that verified series.
Historical scenarios are not future probabilities. RetireFire keeps this tool unavailable until its source, transformation method, coverage, and checksum can be independently reproduced.
12. Current-year Roth conversion tax estimate
The Roth calculator estimates regular federal income tax for tax year 2026 only. It treats the entered current taxable income as income after the standard or itemized deduction, caps the conversion at the traditional account balance, adds the applied conversion to taxable income, and traverses the selected filing status's ordinary income brackets progressively.
Applied conversion = min(desired conversion, traditional balance) Tax after = progressive tax(current taxable income + applied conversion) Incremental tax = tax after − tax before Effective rate = incremental tax ÷ applied conversion (if conversion > 0) If applied conversion = $0: effective rate = N/A
The model assumes the entire applied conversion is taxable. It does not calculate nondeductible IRA or plan basis or applicable pro-rata treatment. IRS guidance explains that a traditional-IRA conversion may be partly nontaxable when it returns basis; see IRS Publication 590-A. The model also does not subtract the standard deduction a second time. Its 2026 standard-deduction amounts and bracket thresholds come from Revenue Procedure 2025-32, effective for taxable years beginning in 2026. This is methodology version 1.0.1 and a current-year illustration, not a multiyear or lifetime tax-savings forecast.
Explicit exclusions include state and local tax, AMT, NIIT, credits, deduction changes, capital-gain and qualified-dividend interactions, nondeductible IRA or plan basis and pro-rata treatment, ACA premium tax credits, Medicare IRMAA, future law, multiyear optimization, withholding and estimated-tax penalties, and the opportunity cost of paying conversion tax.
14. Calculation governance
Every calculation tracked here has a stable methodology version and review record. Status is intentionally visible: development and beta entries are not validated planning advice, and SEPP remains blocked until external review is complete.
| Method | Version | Status | Effective date | Last review | Review cadence | Next review trigger | Assumptions | Material exclusions | Sources |
|---|---|---|---|---|---|---|---|---|---|
| FIRE number | 1.0.0 | active | 2026-08-15 | 2026-08-15 | Annual | When withdrawal-rate methodology changes |
|
| Bengen withdrawal-rate research |
| Years to FIRE | 1.0.0 | active | 2026-08-15 | 2026-08-15 | Annual | Annual methodology review |
|
| SEC compound-interest calculator |
| Coast FIRE | 1.0.0 | active | 2026-08-15 | 2026-08-15 | Annual | Annual methodology review |
|
| SEC compound-interest calculator |
| Barista FIRE | 1.0.0 | active | 2026-08-15 | 2026-08-15 | Annual | When withdrawal-rate methodology changes |
|
| Bengen withdrawal-rate research |
| Savings-rate table | 1.0.0 | active | 2026-08-15 | 2026-08-15 | Annual | Annual methodology review |
|
| SEC compound-interest calculator |
| Monte Carlo stress test | 1.0.0 | beta | 2026-08-15 | 2026-08-15 | Quarterly during beta; annual after validation | When the simulation model or assumptions change |
|
| FINRA Monte Carlo overview |
| Retirement age estimate | 1.0.0 | development | 2026-08-15 | 2026-08-15 | Annual | When planning-tool assumptions change |
|
| SEC compound-interest calculator |
| Portfolio readiness | 1.0.0 | development | 2026-08-15 | 2026-08-15 | Annual | When planning-tool assumptions change |
|
| Bengen withdrawal-rate research |
| Withdrawal guardrails | 1.0.0 | development | 2026-08-15 | 2026-08-15 | Annual | When planning-tool assumptions change |
|
| Bengen withdrawal-rate research |
| Healthcare budget | 1.0.0 | development | 2026-08-15 | 2026-08-15 | Annual | When planning-tool assumptions change |
|
| SEC compound-interest calculator |
| Historical retirement scenarios | 0.1.0 | development | 2026-08-15 | 2026-08-15 | Annual while in development | When verified historical data is added or transformed |
|
| Bengen withdrawal-rate research |
| Roth conversion estimate | 1.0.1 | active | 2026-08-15 | 2026-08-15 | Annual and when federal tax law changes | When IRS guidance or tax-year parameters change |
|
| Revenue Procedure 2025-32, IRS Publication 590-A |
| Social Security claim-age estimate | 1.0.3 | active | 2026-08-15 | 2026-08-15 | Annual and when Social Security law or SSA guidance changes | When SSA changes retirement ages or worker claim-age adjustments |
|
| SSA Benefit Reduction for Early Retirement, SSA Delayed Retirement Credits, SSA 2025 retired-worker benefit examples |
| Federal taxable Social Security estimate | 1.1.2 | active | 2026-08-15 | 2026-08-15 | Annual and when federal law, forms, or IRS guidance changes | When the IRS publishes a newer Publication 915 worksheet |
|
| IRS Publication 915 (2025) |
| 72(t) SEPP | 0.1.0 | blocked external review | 2026-08-15 | 2026-08-15 | Annual and when IRS guidance changes | When Notice 2022-6 implementation receives external review |
|
| IRS Notice 2022-6, IRS SEPP guidance |
15. Further reading
- Bengen (1994) and Trinity Study papers (library / journal access)
- Peer-reviewed and practitioner work on variable withdrawal strategies (e.g. guardrails frameworks)
- Long-run asset return summaries from reputable research shops (always check methodology and period bias)
Questions about a formula or source? The calculators are intentionally open about inputs — if something is unclear, that's a product bug we want to fix.
13. Social Security claim and federal taxable-benefit estimates
The claim-age estimate starts with the retired worker's own SSA monthly estimate at full retirement age. Full retirement age follows SSA's birth-year schedule. For a January 1 birthday, SSA says to use the prior birth year. Claim ages are whole months from age 62 through exactly age 70.
The monthly early-retirement rules and FRA schedule come from SSA's Benefit Reduction for Early Retirement. Delayed-credit rates and the age-70 stop come from SSA's Delayed Retirement Credits. Dollar rounding and golden cases were checked against the Annual Statistical Supplement, 2025, Appendix C. This is method v1.0.3.
The separate taxable-benefit estimate implements Worksheet 1 from IRS Publication 915 (2025), applicable to 2025 federal income tax returns and the latest completed publication reviewed on August 15, 2026. It supports all five individual filing statuses. Married-filing-separately users must say whether they lived with a spouse at any time during 2025.
Provisional income = other income + tax-exempt interest + 50% of gross Social Security Lower: $25,000 single/HOH/QSS/MFS apart · $32,000 joint Upper: $34,000 single/HOH/QSS/MFS apart · $44,000 joint MFS lived with spouse: direct 85% worksheet branch Maximum included in federal taxable income: 85% of benefitsGross benefits are cash received and reduce the later portfolio gap; the federally taxable portion is only the amount included in federal taxable income. It is not the tax owed and is never substituted for gross income. This is method v1.1.2. Manual benefit mode remains available for a user who already has an SSA estimate.
The models do not provide individualized claiming advice and exclude earnings-record calculations, COLAs, the retirement earnings test, spousal and survivor benefits, state tax, total federal tax, lump-sum elections, ordinary repayment and Form SSA-1099/RRB-1099 net box 5 handling, special Publication 915 adjustments, and future law. The taxable model uses the entered gross annual benefit. Exact inputs and results remain client-side.