UPDATE: September 2020: I’ve added the ability to add multiple additional income and expenses streams (with starting and ending dates). Since the calculations are all made in real dollars, these streams are assumed to change along with inflation.
How long do I need to save before I can retire?
This interactive calculator was built to let you play with the inputs and help you understand how savings rate and retirement spending strongly determine how long it will take you to save up for retirement. Note: it does not simulate the post-retirement period when you start to draw down your savings. That can be done on this post-retirement calculator (Rich, Broke or Dead) which compares the frequency of various outcomes in retirement (running out of money, ending up with way too much money, and life-expectancy).
– Use this button to generate a URL that you can share a specific set of inputs and graphs. Just copy the URL in the address bar at the top of your browser (after pressing the button).
This early retirement calculator / visualizer is designed to project the number of years until you can retire, based upon a few key inputs such as annual income and spending, income growth rate, expected annual spending in retirement and asset allocation. It is a pre-retirement calculator that is useful before you retire to get a sense of how many years it is likely to take to accumulate enough money to retire. The three primary modes that are available in the early retirement calculator are: (1) constant, single fixed-percentage real return rates, (2) historical series of real returns are applied to account for likely variability in future returns and (3) monte carlo simulation of the variable returns based upon user-specified input parameters.
Information and instructions on how to use the calculator
One of the most important things to note in using this calculator is that all growth rates (e.g. market returns and income growth rate) and values shown are done on a real basis, i.e. everything is done in current dollars.
Your Target Retirement Amount is based upon your expected annual retirement spending and your withdrawal rate.
FIRE Target amount = retirement spending / withdrawal rate
The choice of withdrawal rate is an important one. The withdrawal rate is defined as the percentage of your retirement savings that you withdraw when you start your retirement. The canonical retirement withdrawal rate is 4%. Click here to learn more about how withdrawal rates and historical simulations work. This means that you will withdraw 4% of your initial retirement balance annually (and adjusted for inflation). On a $1 million dollar retirement account, this amounts to $40,000 annually. To understand the risks of different withdrawal rates, see the 4% rule / safe withdrawal rate visualizer.
In addition to your initial level income and spending, you also have the ability to specify multiple income or expense streams over any specified number of years (based on age). This is helpful if you expect certain extra income sources or expenses to only occur for a finite amount of time (including one time payments), such as mortgage payments, child care costs, college tuition payments or an inheritance.
Your money (including the money you’ve already saved and the amount you save each year) is invested based upon your asset allocation and will grow based upon the following formula annually.
End of Year Savings = Previous Savings x (1 + GrowthRate) + AnnualSavings
The growth rate will vary based upon how much of your savings is invested in stocks vs bonds vs cash and the annual growth rate for each of these assets.
Your savings rate plays a large role in accumulating enough to retire and improving your savings rate can be done by reducing your annual spending and/or increasing your annual income.
Savings rate = (Annual (Post-tax) Income - Annual Spending) / Annual (Post-Tax) Income
The early retirement calculator determines how many years it takes to reach the FIRE Target.
- Fixed percentage: This mode requires you to enter the expected value for future real stock and bond returns (the default is the US historical average values from 1871 to 2015 of 8.1% and 2.4%). You can see how your retirement time depends on these rates of return.
- Historical cycles: This mode uses real stock and bond returns data from the last ~145 years and applies them sequentially to your savings annually to project their growth over time. Each of these chronological series of years starting in a different year is one historical cycle. Each cycle has a different series of stock/bond returns and thus has a different amount of money each year (even with the same annual savings profile).
- Monte Carlo simulation: This mode simulates thousands of possible sets of paths to meet your target and calculates the probability of different trajectories for your retirement investments. You can use the historical distribution of returns for your draws (8.1% real return for stocks and 2.4% for bonds) or you can specify a different average return for each set of assets. This enables you to run for optimistic or pessimistic scenarios.
.
When the calendar uses probabilistic outcomes from a series of model runs (i.e. the historical cycles approach and Monte Carlo simulation), the graph shows several bands, the 10th to 90th percentiles, the 25th to 75th percentiles and the median. Some definitions may be helpful for many folks here:
- 10th to 90th percentile – if you have a number of results or observations that you have put in order from smallest to largest, the 10th percentile is the result that is higher than 10% of the other results, while the 90th percentile is higher than 90% of the results. The range from 10th to 90th percentile encompasses 80% of the results and ignores the extreme outliers in the data.
- 25th to 75th percentile – similarly, ordering results or observations from smallest to largest, the 25th percentile is the result that is higher than 25% of the other results, while the 75th percentile is higher than 75% of the results. This range encompasses the middle 50% of the results and ignores the lowest and highest results.
- Median – the median is the data point that is in the middle of the ordered data; exactly half of the results are below and half are above.
A sensitivity analysis is also included to help you understand the implications of reducing (or increasing) your spending while saving up for retirement. There are two options for sensitivity:
- Current Spending Sensitivity – Sensitivity of retirement time to current spending. **Note, this sensitivity focuses on spending while saving up for retirement, not spending after retirement** The calculator runs different spending cases between -20% and +20% spending to show you how your time to retirement changes with these spending amounts.
- Stock Returns Sensitivity – Sensitivity of retirement time to stock market returns, which varies the user input stock market returns for the fixed and monte carlo cases between -60% and +60% returns.When using the Historical cycles or Monte Carlo projection, you can view a histogram showing the distribution and variation in the number of years until retirement. Each of these individual runs has it’s own value for when your total invested savings surpasses the FIRE target.
While the frequency of events occurring in the past does not necessarily reflect the future probability, this distribution of outcomes gives a sense of the potential variation in number of years until retirement depending on whether there are a good or bad series of stock market returns
One of the key takeaways is that early on in your journey towards retirement, savings plays a larger role than investment returns. This highlights the importance of having a high savings rate if you would like to minimize the amount of time it takes to achieve your FIRE target.
I hope that is tool will be useful for anyone trying to achieve financial independence. As always, any comments, suggestions or feedback will be greatly appreciated.
Calculator Update – I added a button to generate a URL for a specific scenario that you can share with others.
Data source and Tools Historical Stock/Bond and Inflation data comes from Prof. Robert Shiller. Javascript, HTML and CSS are used to build the interface and javascript is used to calculate, process and aggregate the retirement balance results over all historical cycles and the results are graphed using Plot.ly javascript graphing library.
Privacy and Data statement: None of the information entered into the calculator is transmitted to our server or anywhere else. All of the data stays on your computer and all of the calculations are made within your browser (rather than on this site’s server).
Related Posts
21 Comments »
21 Responses to When Can I Retire? Early Retirement Calculator / FIRE Calculator
[…] 2. When Can I Retire? Early Retirement Calculator […]
Very well done, thank you!
Great calculator, thanks for putting the effort into this!
How would rental income be used in this situation? Would the equity in the rentals be included in your investment amount? Thanks!
You could include it into your net rental income (minus expenses) or you could subtract it from your expenses. Either way will work. If you believe it will grow faster than inflation you probably should put it in income so you can apply the income growth rate.
You shouldn’t put the equity into your savings as you won’t be earning a return on that that you can live on.
Wonderful job with the calculator. I appreciate the work you put into it.
Very quick and easy to use when I want to see a “what if” type scenario. Just bookmarked. Thanks again!
I think this calculator gave me my favorite response in a calc I’ve ever seen:
“You can retire in -0.5 years at age 35”
Awesome work!
I had the same response, time-wise. I can retire in 6 months.
It’s a shame I’m 20 years older!!!!
Thanks for the mobile friendly update – works great!
Does the retirement spending factor in future inflation? For example $25,000 in 15 years has the same buying power as $16,000 or so today. If I need $25,000 in today’s dollars to retire I actually need to receive $38,000 or so in 15 years.
Yes spending is inflated into the future so that your purchasing power is more or less preserved.
[…] on Reddit that is better than the majority I have seen out there. I encourage you to take a look here. You can put in custom amounts for stock/bond allocation, current saving’s rate, age, taxes, and […]
“You can retire in -2.2 years at age 36.” I wish I could go back in time
Thanks for the calculator.
why does the tax rate default to 4%? isn’t the minimum about 15%?
No, the minimum tax rate is 0%. The tax rate is the average tax rate you see across all of your income. 15% is one of the marginal tax rates that is typical, but marginal rates only apply to a portion of your income, not all of it. See this tax calculator to see how much income you would need to have in order to have an average tax rate of 15% and what your average rate would be at your income level.
yeah, I had thought the same thing- mine defaulted to 7% – but about 15% tax rate seems more realistic. I pay over 30% now w/ state and federal so I can’t imagine less than 15%. But maybe I need to get a tax person?!
It will depend on how much you want to spend in retirement. Some FIRE folks can retire on $40,000/yr. If you are married, your fed tax rate can be around 5%. If you need $100,000/yr and are married, your average federal tax rate is closer to 10%.
It’s missing a crucial component that the best retirement calculators have. The ability to introduce and calculate for a future lump sum distribution – e.g. inheritance or life insurance payout, in X number of years from now. Ditto re: Social Security. Is this or can this be factored in? Thanks.
Thanks for making this amazing calculator. I use it in almost every blog post with a FIRE calculation. I love the generate URL feature! A request: can you make an option to change the currency symbol shown? I am thinking Euro, Indian Rupee, AUD, SGD etc.
Love this calculator, but I like use the calculator at nesteggly because it can create URLs.
You can create URLs by pushing the “Generate URL” button then copy the URL box.