*cFIREsim is not actual financial advice. Use this site as an educational application.*

What's new with cFIREsim 3.0?

- Posted: 12/1/2020

Greetings cFIREsim users far and wide! It is your friendly FIRE-focused developer friend Lauren. (Formerly known as bo_knows. Life comes at you fast lol.)

I am back from... well, I didn't really go anywhere. I haven't had any relevant development on cFIREsim in 4 years, because of a new job, 2 kids, and other life happenings.

However, I bring to you the 3rd major revision of cFIREsim. I've re-written the entire codebase in Python/Django, which I use for my day job, and I expect it to be much easier to add features in the future. I'm going to try a lot harder to provide transparency into what I'm currently working on (you can see this on my Trello board) and provide a better outlet for asking for new features (by more prominently showing my email address ([email protected]).

I'm still working on one or two features that will carry-over from the previous code, but I wanted to release this new site as soon as I could. Keep an eye out on the Trello board

What is different currently?

  • Made the site https-only for more secure data.
  • Site is now automatically updating it's data from Robert Schiller's website, without my intervention.
  • While there is currently no log-in feature, each simulation will give a link on the output page that will allow you to return to it.
  • Previous versions of cFIREsim (and of other calculators like FireCalc) have rounded calculations, every step of the way, to 2 digits. On par with most other financial calculations, I'm now keeping 10+ digits of precision, until I display a value to you.
  • The look/feel of the Statistics page is different.

I'm looking forward to adding new investigation options ("find the smallest starting portfolio to achieve 100% success in this scenario", etc), new spending methods, new statistics categories, and any ideas you might come up with.


What is cFIREsim?

cFIREsim stands for Crowdsourced Financial Independence and Retire Early Simulator.

If the market does no worse than the great depression, 1970's stagflation, or the dotcom bust, will my money last in retirement?

The math behind retirement: The simple question of "Will my money last in retirement?" is rife with complications. Do you have a good handle on what your expenses are? What sort of investments do you have? How long might you live? Do you have any large one-time expenses in the future? What happens if you retire during a major market downturn? What happens if you retire in the worst market downturn in history?

Retirement advisors and various financial websites will often give you the most overused "Rule of thumb" in the financial world. The "4% rule", derived from the Trinity Study, states that if you have a retirement period of 30 years, you can safely withdraw 4% of your portfolio in year 1 of retirement and continually adjust that for inflation, without fear of running out of money. Critics of this study say that the financial world is a much different place than it was in the past, and that we should adjust our thinking on how much we should withdraw in retirement.

How do I know if my portfolio will last? At it's most basic level, cFIREsim uses historical stock/bond/gold/inflation data from 1871 to present, and calculates how your portfolio would have fared throughout history. If you enter a 30 year simulation period, it will run your data for every 30yr period in history. Example: cFIREsim will figure out your portfolio value, if you would have theoretically retired for the period of 1871-1900, then for the period of 1872-1901, 1873-1902, etc. It will take all of your inputs and determine whether or not the portfolio "failed" (failure is defined as going below $0 at any given point). What does this tell me? If cFIREsim says that your portfolio survived 95% of the simulation cycles, it means that if the market does no worse than the worst years in recorded stock market history, your portfolio will survive.

What can cFIREsim do? At it's core, you can enter information in the a few simple inputs and return the basic simulation. At it's most complicated, it can determine your portfolio success based on 80 individual portfolio adjustments, multiple types of inflation, multiple types of market returns, and graphically show you the results. There are many options to choose from outside of the "Basic Inputs". You can find information for each section within this FAQ.

Basic Tutorial

The 4 most basic inputs that are required in cFIREsim are:

  • Retirement Year: The year in which you begin withdrawing money from retirement investments. This can be the current year, or any year in the future.
  • Retirement End Year: This is the end year for the simulation. Set this to be in line with your life expectancy estiamtes.
  • Portfolio Value: The total amount of investable assets you own currently (including both tax-deferred and post-tax amounts). cFIREsim does not distinguish between different taxed accounts. It is suggested that you take into account taxes when you choose your yearly spending amount. If you'd like to accurately choose a withdrawal strategy based on what is most tax efficient, consider using www.i-orp.com.
  • Initial Yearly Spending: This is your total yearly expenses. It is suggested that you consider this a gross income amount, and account for taxes being taken out according to where your portfolio funds reside. (If the majority of your funds are tax-deferred, and you think you'll be in the 25% tax bracket in retirement, include an amount 25% more than you need to live on)

After entering those 4 numbers, hitting the "Run Simulation" button will provide the output chart and graph. The very first field on the output chart is "Success Rate". It will say something like "Failed 8 times out of 115 cycles, for a 93.04% success rate" which means that if you chose the default settings of 30 years to model, it simulated you specific retirement scenario in 115 different 30yr periods. Of those 115 cycles, there were 8 times where your portfolio got to $0 before the end of the simulation. That is considered a "failure". Whether or not a 93.04% success rate is good enough for you is an entirely personal choice.

That is a very basic tutorial on how to run cFIREsim. The rest of the FAQ is dedicated to talking about the details of each section and how to fine-tune your simulation to fit your unique situation.

Portfolio Section

  • This is the asset allocation of your portfolio as of today. You can choose any mixture of Equities, Bonds, Gold, and Cash. Please note: Gold prices were unchanged for a large period of time in the 1800's. Take this into consideration for the simulations. Since there is no reliable historical data on cash investments (that I can find), the Growth of Cash input is for the user to determine how much growth over time that your cash allocation receives. As a default, it is set to 0.25%, an average value for a savings account at the credit unions in my area. Fees represent the maintenance/administrative fees that your portfolio requires. This number is calculated against your entire portfolio each year, so please use an average number across all accounts.
  • Rebalance Annually: Choosing "Yes" will automatically rebalance your portfolio to match your chosen asset allocation. If you choose "No", your portfolio will drift to different percentages depending on how each asset class performs.
  • Keep Allocation Constant:: Choosing "Yes" means that your asset allocation will remain the same throughout the simulation. Choosing "No", you can set what is commonly called a Glide Path allocation change. You will choose a target allocation that is different from your current one (Ex. You want to go from 80%/20% stocks/bonds to 60%/40% stocks and bonds in retirement). You will then choose a "Start Year" and "End Year" to execute this allocation change. Your allocation will slowly change to the target allocation over the course of those years.

Spending Plan Section

The Spending Plan section is where you define your basic yearly expenses that will be taken out of your portfolio during retirement. There are MANY "withdrawal strategies" out there, and cFIREsim attempts to capture just a few of the more relevant ones. If you have a suggestion for a withdrawal strategy that should be implemented as a cFIREsim Spending Plan please visit the forums and post your idea.

Initial Yearly Spending is your yearly default expenses that will be subtracted from your portfolio. This is required for most spending plans.

Spending Floor/Ceiling: Most spending plans vary from year to year. To prevent the simulation from going to an unreasonable level of spending, you should define a "ceiling" and "floor" for your spending. These are the maxmimum and mininum spending that you want to allow during retirement.

Spending Plan Explanations

  • Inflation Adjusted: This increases your spending each year by the amount of inflation indicated in the Inflation Assumptions section on the sidebar. This means that your "spending power" remains the same throughout retirement. By default, Inflation Assumptions is set to use the Consumer Price Index (CPI) for it's calculations, which is the generally accepted rule-of-thumb for inflation.
  • Not Inflation Adjusted: This leaves your spending at the same value as you put in the Yearly Spending input. This means that as the prices of goods gets higher and higher, your spending will never go up to match that price increase.
  • Percent of Portfolio: This calculates your spending each year based on the value of your portfolio. The default option is a Constant % which means that it will take that same percentage out of your portfolio each year (in nominal dollars), regardless of market conditions. If you choose Floor and Ceiling Values, you will be given the option to set limits to the yearly spending calculation. These floor/ceiling values are based on inflation-adjusted (according to your Inflation Assumptions in the sidebar) percentages of the initial portfolio at retirement. Example: With $1M portfolio, you can specify a 4% nominal withdrawal rate, with a 3.5% floor and 5% ceiling. This means that with market/inflation fluctuations, your spending will never dip below $35k/yr (inflation-adjusted) and never go above $50k/yr (inflation-adjusted). Another option for the Floor Spending is % of Previous Year. This is based on Robert Clyatt's 95% rule, but gives you the freedom to choose the value. This option states that if the market dips enough to cause your yearly spending to dip, it will never be less than 95% (or whatever you enter) of the previous year's spending value. This limits wild fluctuations. (Example: $1M Portfolio, 4% spending, floor of 95% previous year. If in year 2, your portfolio drops to $800k, 4% would only be $32,000 in spending. However, the floor rule would set your spending to no less than $40,000 * 95% = $38,000).
  • Hebeler Autopilot Method: is based on Henry Hebeler's Autopilot Method Article. This Method is a blend between "Inflation Adjusted Spending" and the Required Minimum Distribution Method (RMD). This method provides an inflation-adjusted spending that also corresponds to your longevity expectation. Your Age at Retirement input helps to determine your RMD calculations. The final yearly spending is an average between the 2 methods, and you can choose the weight that each method has on your spending calculations by changing the percentage values.
  • Variable Spending: allows for small deviations in spending within those values when the market dictates it. The Z-value determines how much your spending changes during the market changes. The method then tracks an inflation-adjusted version of your Spending amount. Example: If your portfolio is up 10%, Z-value is 0.5, and Spending was $40k, your new spending is now (1+(10% * 0.5)) * $40k = (1.05)*40k = $42000. Example2: If your portfolio then is down 25%, Z-value is still 0.5, Spending was $42000, your new spending is now (1-(25% * 0.5)) * $42k = (0.875)*42000 = your $36750. So, the z-value just provides a value of how much your spending reacts to your portfolio health. If the Z-value is lower, your spending swings less. If it is higher, it swings more. Add in the universal Spending Floor/Ceiling for guardrails, and you've got yourself a pretty good spending method.
  • VPW Method: A mix of the constant-dollar and constant-percentage methods, with the goal of spending down your nest-egg nearly completely before the end. Proposed and developed by longinvest on the Bogleheads Forums. Your yearly spending is entirely calculated based on your portfolio at retirement and the number of years that you're in retirement, along with some factors of asset allocation.
  • Variable CAPE Method: CAPE (Cyclically-adjusted price-to-earning ratio) is a valuation measure usually applied to the US S&P 500 equity market. It is defined as price divided by the average of ten years of earnings (moving average), adjusted for inflation. The CAPE method adjusts your retirement based on this valuation of the market (spending more in the boom times, and less in the down times). Example for how spending is calculated in a given year: Spending will always equal (spendingRate = currentCAPEYield * multiplier + constantAdjustment). If we're in a year where the CAPE is 17.48, currentCAPEYield will equal 1/17.48 or 0.0572. If you kept the the defaults inputs, the "constantAdjustment" would equal 1/100 or .01. So, for that given year, your spending rate would be adjusted to 0.0572 * 0.5 + .01 = 0.0386 (or 3.86% withdrawal rate). So if your portfolio happened to be $1M at the time, you'd withdraw $38,600.