FIRE Calculator

Compute the success of various withdrawal rates with different portfolios.

How does this work?

The FIRE calculator is calculating the success rate of a withdrawal rate for a given situation. The calculator will try a retirement simulation starting at every possible month in the given period between the start and end year. Here is what happens during the simulation:

  • You start with a certain amount of money
  • Your portfolio value is adapted based on the returns each month
  • Money is withdrawn each month from your portfolio
  • The withdrawal is based on the withdrawal rate and the initial portfolio.
  • Your withdrawal is adjusted for inflation every month

For instance, if you simulate between 1950 and 2000 with 20 years of retirement, the calculator will try to a retirement simulation starting from every month between 1950 and 1980.

The data being used is the same data as the data from the Trinity Study. I am using U.S. Stocks and Bonds.

How to increase my retirement chances?

There are several ways you can increase your chance of success in retirement.

First, you can choose a better portfolio for your case. Ideally, you want a large allocation to stocks if your risk tolerance permits it. This will allow your portfolio to grow more. Then, you want broad index funds with very low fees.

Another way is to choose a better withdrawal rate. Simply said, a lower withdrawal rate will increase your chances of success. This means lower returns will not hurt your portfolio too much.

Using this FIRE calculator

First, choose how much money you have in your portfolio (the initial value). And, choose the period you want to consider for simulation by choosing the start and end year.

Then, choose how many years you want to simulate retirement. And choose how much of your initial portfolio you want to withdraw each year (your withdrawal rate).

Finally, choose your investment portfolio. Once you are done, click Simulate. After a short moment, the result should be presented to you.

Baptiste Wicht is the author behind In 2017, he realized that he was falling into the trap of lifestyle inflation. He decided to cut on his expenses and increase his income. This blog is relating his story and findings. In 2019, he is saving more than 50% of his income. He made it a goal to reach Financial Independence. You can send Mr. The Poor Swiss a message here.

49 thoughts on “FIRE Calculator – The best Withdrawal Rate for your retirement”

  1. Hi is the median terminal value in the USD at the end of the time interval or at the start.

    I mean is it the initial buy power or the terminal buy power?

    1. Hi,

      I am not sure I understand, the terminal value is always at the end. It’s the buying power at the end, but the buying power itself is not adjusted for inflation. So, it’s the value at the end, corresponding to the buying power today. But all the withdrawals would be adjusted for inflation.

  2. Hey, this calculator is fantastic! Terrific work. I’m wondering if it would be at all possible to somehow add a max drawdown that one would experience, as well as having a CAGR input (could be one for stocks and one for bonds or just one total). This could allow one to see the max drawdown, and see what CAGR one would need to obtain certain results in various scenarios. I also think somehow seeing a historical path value of account could be interesting (maybe just for best case, worst case, and median/average). Also was wondering if this was all done through c++?

    1. Hi Tony,

      Would you like the max drawdown as the output or the input?
      I don’t see as CAGR would make sense as an input. It’s too simple, it would not work well. My simulations take into account monthly returns, including drops. CAGR would only go up and it would very easy to get success rate.

      I could try to output some graphs, that’s a good idea!

      The backend is entirely in C++ and the frontend is just a very simple form calling the backend.

      1. Hey thanks for getting back to me! I agree graphs would be awesome. I would like to see max drawdown/ maybe even standard deviation experienced as an output.

        Thanks so much again!

  3. Hi,
    Congratulations for the excellent content!

    Would it be possible to support Swiss Franks and Swiss inflation? Same US portfolios.
    For someone that intents to retire in Switzerland it would make more sense.

    I understand this will not be easy, especially predicting the CHF/USD exchange rate.
    Maybe add a parameter for 2-3 scenarios as you analyzed below
    e.g. Scenario1–> historical exchange rate
    Scenario2 –> 1-1
    Schnario3 –> the “reasonable” assumption you made in the above article
    You can also take some ideas from the study below:
    The outcome of the “4% rule” (or any other rate) differs significantly between countries. Though I think this analysis focuses on domestic markets.

    1. Hi huskarl,

      That’s a good idea. I have a plan to make an advanced calculator in the future, I could definitely include Swiss francs in the mix.
      I can’t give you an idea of when that will be, I have very little time these days and need to complete the French translation first.

  4. What would be really great is to be able to adjust the WR to reflect various life stages. For example – an initial WR of say 4.5% for 10 years then reducing to 3.5% (when I can access my state pension) and then after another 10 years, then reducing to say 3% for 10 years as I’ll be old and less active.

    1. Hi David,

      That’s indeed interesting. However, starting to add such advanced options to the calculator would make it complicated. And I don’t really how to integrate in the interface part to make it user-friendly.

  5. Hi TPS,

    There is a bug in your WTV result.
    When setting the withdrawal rate at 0, the WTV doesn’t change and is fixed at 2,435.00 when starting in 5/1902 even if the Initial Value changes.


  6. What do “The best terminal value” and “The worst terminal value” represent?
    How can the best be better than the median?

    1. Hi Don,

      The best terminal value is the maximum terminal value, the highest amount of money you can end up at the end of the retirement time.
      The worst terminal value is the minimum terminal value, the lowest amount of money you can end up at the end of the retirement time.
      The median is always between the maximum and the minimum.

      1. Hello TPS

        first of all, thanks for all your great work! Not least the calculators are very cool to play with.

        What I noticed though: with best terminal value (BTV), there seems to be three digits missing. When I change the input, I get very different median and average TV’s, but BTV is a five or six-figure number even if I reduce the year from 40 to 20… So I see the same as Don.

        Kind regards – and keep up the good work


        1. Hi Tom,

          I have looked into it and have not found an issue except that the numbers after the command seem to always be zero. But the best (maximum) terminal is expected to be much higher than than the median terminal value. This is just because timing the market is very effective but can’t be done in the future.

          1. Best Terminal Value: 892,393.00 when starting in 5/1940
            Worst Terminal Value: 10,250.00 when starting in 6/1872
            Median Terminal Value: 116,121,465.00 USD
            Average Terminal Value: 213,020,550.00 USD

            This is the result of some test I ran in the calculator. I get the same issue as the others – if worst is 10K and best is 892K, how can median be 116M and average be 213M?

          2. Hi Dan,

            Thanks for reporting that, that’s indeed impossible :)
            I am pretty sure that the median and average are multiplied by 1000 but they should not. I will look into that when I get a moment.

    1. Hi Jr,

      The fees are 0.1% TER for each portfolio.
      I may do an advanced calculator version in the future that would let the user configure the fees. Do you think that would be useful?

Leave a Reply

Your comment may not appear instantly since it has to go through moderation. Your email address will not be published. Required fields are marked *