Hi there, thanks for building this sheet! I noticed that the withdrawal amount in column L is based on a simple formula of balanceForYear * withdrawalRate, which means that the amount is always dwindling down towards 0 if the withdrawal rate is higher than the growth rate. This formula does not match what is typically considered the safe withdrawal rate (SWR), which is calculated as initialRetirementBalance * inflationAdjWithdrawalRate.
I’ve updated my own sheet to use the calculation above by:
- adding a calculation in
AN2forinitialRetirementBalancewhich is formula=INDEX(H25:H, MATCH(VALUE(C22), E25:E, 0)) - adding a calculation in
AN4forinitialWithdrawalAmountwhich is formula=AN2*C21 - adding a user-entered inflation rate in
AD4(default 3%) - for each row starting at 25, change column L to formula
=IF(ISNUMBER($E25),IF(value($C$22)<=$E25,($AN$4 * (1 + $AD$4)^($E25 - $AS$3 - 1)),0),IFERROR(1/0)), and autofill to the bottom- Replacing cells with variable names for human readability:
=IF(ISNUMBER(rowYear),IF(startWithdrawalYear<=rowYear,(initialWithdrawalAmount * (1 + inflationRate)^(rowYear - currentYear - 1)),0),IFERROR(1/0))
- Replacing cells with variable names for human readability:
To demonstrate the difference, I made an example sheet here. With the template fresh from the box and most values left default, a retirement year of now, balance of $3M, withdrawal rate of 4%, and a 60 year retirement, the template predicts that the account balance will grow over time and, because the default growth rates never drop below the withdrawal rate, the withdrawal amount goes up over time (although not as much as average inflation). In contrast, the inflation adjusted withdrawal amount I described predicts that you’ll run out of money in 2071. This is a very significant difference so I think is worth considering a change. Using a FIRE calculator with similar inputs confirms that there’s a shortfall and actually shows you running out of money a couple of years earlier.