How It Is Calculated
The data, formulas, and withdrawal modes used by the current calculator
Methodology Overview
The current app uses monthly historical backtesting. It evaluates every possible 30-year monthly retirement window in the January 1928 through December 2021 dataset, then compares the withdrawal rate entered in the app with each window's break-even withdrawal rate.
1,128
Monthly data points
Jan 1928 - Dec 2021
769
Overlapping 30-year
monthly start dates
95.97%
4% success rate
inflation-adjusted, 60/40
3.8316%
Worst-case sustainable rate
inflation-adjusted, 60/40
Data Sources
Monthly Return Series
- S&P 500 total return: Robert Shiller monthly price, dividend, and CPI data. Monthly stock return is calculated as (Pt + Dt/12) / Pt-1 - 1.
- 3-month Treasury Bills: FRED TB3MS monthly observations from 1934 onward; 1928-1933 values are estimated from annual T-bill returns and flagged in the dataset.
- 10-year Treasuries: Shiller long-rate data, equivalent to FRED GS10 from 1953 onward, converted from yields to monthly total returns with a duration-plus-convexity approximation.
- CPI: Shiller CPI values, used only when inflation-adjusted withdrawals are selected.
All series are reproducible: the build script and raw inputs are part of the project repository.
Portfolio Assumptions
- The stock allocation earns the S&P 500 total return.
- The non-stock allocation earns a bond mix of 30% 3-month T-bills and 70% 10-year Treasury returns.
- The portfolio is treated as rebalanced to the selected stock/bond allocation each month.
- Shiller prices are monthly averages of daily closes, which slightly smooths month-to-month volatility relative to point-in-time closes (~15.5% vs ~18.5% annualized).
- Overlapping 30-year windows share data, so the 769 trials are not 769 independent observations.
Withdrawal Modes
The withdrawal mode changes the dollar amount withdrawn each month. It does not change the market returns, CPI data, allocation, or retirement window.
Inflation-Adjusted
This is the classic 4% rule. The first monthly withdrawal is based on the initial portfolio and withdrawal rate. Each later monthly withdrawal is scaled by that trial's realized CPI change since the trial's first month. The intent is to keep spending at roughly the same purchasing power.
Base withdrawal = Initial Portfolio x Withdrawal Rate / 12
Monthly withdrawal = Base withdrawal x Current CPI / Starting CPI
Fixed Nominal
The monthly withdrawal stays the same dollar amount for the entire trial. This usually looks safer because inflation reduces the real value of the spending over time.
Base withdrawal = Initial Portfolio x Withdrawal Rate / 12
Monthly withdrawal = Base withdrawal every month
Same Inputs, Different Results
These are the current engine results for the same inputs used by the quick calculator example: $1,000,000 portfolio, 4.0% withdrawal rate, 60% stocks, and 30 years.
| Mode | Monthly Withdrawal | Successful Trials | Success Rate | Worst-Case Sustainable Rate | Binding Period |
|---|---|---|---|---|---|
| Inflation-adjusted | Starts at $3,333.33, then follows CPI | 738 of 769 | 95.97% | 3.8316% | Dec 1965 - Nov 1995 |
| Fixed nominal | $3,333.33 every month | 769 of 769 | 100.00% | 4.0827% | Oct 1929 - Sep 1959 |
Monthly Calculation Example
This example uses the same inputs as above and the first month in the dataset, January 1928.
1Historical Returns
Date: January 1928
- S&P 500 total return: +0.7716%
- Bond mix return: +0.2751%
- CPI: 17.3
2Portfolio Return
Allocation: 60% stocks / 40% bonds
= (0.60 x 0.007716) + (0.40 x 0.002751)
= 0.004630 + 0.001100
= 0.005730, or +0.5730%
3Withdrawal
Base monthly withdrawal:
$1,000,000 x 0.04 / 12 = $3,333.33
Because January 1928 is the starting month, current CPI equals starting CPI. Both modes withdraw $3,333.33 in month one.
4Portfolio Update
Apply return:
$1,000,000 x 1.005730 = $1,005,730
Subtract withdrawal:
$1,005,730 - $3,333 = $1,002,397
End of month value: $1,002,396.89
How Inflation Adjustment Changes Later Months
In the January 1928 trial, CPI moved from 17.3 in January to 17.1 in February. The inflation-adjusted withdrawal for February is lower because that month had deflation in the source CPI series.
Inflation-adjusted:
$3,333.33 x 17.1 / 17.3 = $3,294.80
Fixed nominal:
$3,333.33
The same rule works in the other direction. When CPI rises, inflation-adjusted withdrawals rise; fixed nominal withdrawals do not.
Trial Period Analysis
How Every Scenario Is Tested
We slide a 360-month window through the 1,128-month dataset:
- Trial 1: January 1928 - December 1957
- Trial 2: February 1928 - January 1958
- Trial 3: March 1928 - February 1958
- ...
- Trial 769: January 1992 - December 2021
Each trial uses the actual monthly return and CPI sequence from its own start date through its own end date.
769
Total trial periods
738
Inflation-adjusted 4% successes at 60/40
95.97%
Success rate
Mathematical Formulation
Portfolio Value
For each month in a trial, the portfolio earns the blended return first, then the withdrawal is subtracted.
Vt+1 = Vt x (1 + Rt+1) - Wt+1
Wt+1 is either CPI-scaled or fixed nominal, depending on the selected withdrawal mode.
Portfolio Return
The monthly portfolio return is the weighted average of the stock and bond-mix returns.
Rt = Stock Weight x Stock Returnt + Bond Weight x Bond Returnt
Bond return is 30% T-bills plus 70% 10-year Treasury returns.
Break-Even Rate and Success Rate
For each 30-year historical window, the engine computes the withdrawal rate that would leave the portfolio exactly at $0 at the end of the window. A trial succeeds when the entered withdrawal rate is below that trial's break-even rate. The success rate shown in the app is the percentage of trials that succeed.
Success Rate = Successful Trials / Total Trials
Important Limitations
What This Analysis Includes
- Monthly historical U.S. market returns from the dataset above
- Monthly withdrawals
- Optional CPI-based withdrawal adjustments
- Static stock/bond allocation selected by the user
What This Analysis Does Not Include
- Taxes
- Investment fees
- Rebalancing costs
- Social Security, pensions, or other outside income
- Spending changes in response to life events or market conditions
Academic Foundation & References
Foundational Research
- Bengen, W.P. (1994). "Determining Withdrawal Rates Using Historical Data." Journal of Financial Planning, 7(4), 171-180.
- Cooley, P.L., Hubbard, C.M., & Walz, D.T. (1998). "Retirement Savings: Choosing a Withdrawal Rate That Is Sustainable." AAII Journal, 20(2), 16-21.
- Pfau, W.D. (2010). "An International Perspective on Safe Withdrawal Rates from Retirement Savings: The Demise of the 4 Percent Rule?" Journal of Financial Planning, 23(12), 52-61.
Data Sources Used by This App
- Federal Reserve Economic Data (FRED): https://fred.stlouisfed.org
- Robert Shiller: S&P 500 price, dividend, CPI, and long-rate data accompanying Irrational Exuberance
- NYU Stern / Aswath Damodaran: Annual T-bill return estimates used for the 1928-1933 monthly T-bill bridge