How much will the market help you retire?

By Jeff Lundy

I know a couple friends who model their retirement outcomes. Recently, I asked them what growth rate they assumed for investments. Interestingly, we all used a similar rate: 4%. That seems appropriately conservative, and by setting it low you bake in all kinds of uncertainties (taxes you didn’t think about, becoming unemployed, the market underperforming, putting money in or taking it out at disadvantageous times, etc.).   

Obviously, it’s prudent to use conservative expectations when considering your financial future.  However, the more I thought about it, the more I began to think that 4% just seemed too low.  The real inflation-adjusted growth rate of the S&P 500 is 7% over its history. Assuming an individual would only get 4% is assuming that, between bad timing and slower growth, the market would return 43% less than its historic annual rate (83% less for an investment made in 1957). 

The idea that you could lose out on the market through poor timing is so common that it is one of the top take-aways from Investopedia’s article on the S&P 500’s historical growth: “While that average number may sound attractive, timing is everything – get in at a high or out at a relative low and you will not enjoy such returns.”  And yet, their historical chart of S&P 500 growths shows that the outcomes are essentially stochastic.

There aren’t long runs of high growth followed by long runs of low growth; rather the chart zig-zags widely from year to year.  If that is the case, and you put your money in consistently (primarily through 401(k) contributions), then why would you experience something remarkably different from the average return?

The market’s return can be really important

It didn’t take long for me to see that the question of market growth is very important (in my personal circumstance, it’s probably the most important factor influencing my financial future).  The growth rate of the market is so important because it determines how your money will grow before retirement, and how much you can pay yourself during retirement. 

Consider a simple example.  Let’s define financial independence as a situation where my wife and I can maintain our current lifestyle, even if one of us loses or quits their job.  My wife and I can probably afford 25% of our normal 401(k) contributions, after covering our expenses with one income.

Assuming 4% market growth, and that we can make 25% of contributions until retirement, and that we will both retire at 55, then we are likely 3.8 years from a place where one of us can quit their job and we’ll be fine. However, change market growth to 5% and we are just 0.2 years from hitting that standard. Assume 7%, and we are already well past this point of financial independence. In fact, in a world where the market returns 7% through our lifetimes, it is likely that we could never make another retirement contribution again, retire at 55, and live our current lifestyles.

Bootstrapping to the rescue

Whenever you face a situation where you’re unsure how you might fair in a world of stochastic outcomes, a bootstrap simulation is your friend.  In short, bootstrapping is re-running history many times over with slight random variations in conditions, to see how many times you end up in better or worse scenarios.

Fundamentally, the problem of market growth requires understanding the interplay between unemployment, bad timing, and growth in the market. If you run 10,000 iterations, you should be able to see in how many cases you end up with varying amounts of final dollars. All you need to do in each iteration is to select a random value for each variable for every year until age 55.

When writing the code for this project, the naïve approach for picking random values would be to use the means and standard deviations for each variable’s past performance.  However, because the variables are correlated, the naïve approach would lead to unlikely outcomes – for instance, too many cases of high inflation during an economic downturn (“stagflation” is technically possible, but historically less likely than the opposite). So, given the intercorrelation of the variables, you need to make your random selections from within the space defined by the three variables’ covariance matrix. Fortunately, numpy makes this quite easy. 

#array of real annualized growth rates, inflation rates, and unemployment rates
x = np.array([[0.0401,0.0584,0.049],[0.1431,0.043,0.059],…]).T

#calculate the means from the real values above
mean = (np.mean(x[0]),np.mean(x[1]),np.mean(x[2]))

#calculate the covariance matrix from the real covariances between growth, inflation, and unemployment
cov = np.cov(x)

#iterate 10,000 times using a custom function built around random.multivariate_normal()
for i in range(iterations):
    this_result,this_growth=bootstrap(mean,cov,startCapital,yearsTillRetirement,normalPayment)
    results.append(this_result)
    results_growths.append(this_growth)

Check out the full code for this project on GitHub

Using numpy’s mean() and cov() functions makes it easy to estimate the means and covariance from historical data.  Similarly, using random.multivariate_normal() will select random numbers that preserve that covariance matrix, so that we end up with more likely outcomes (e.g. unemployment is higher when market growth is negative).

With bootstrapping covered, all we need is to consider what scenarios to run.  Essentially, I saw possible outcomes covered by three scenarios (and a baseline):

  • Normal: The market continues on as it has since 1970, and you keep making contributions to your retirement accounts equal to today’s contributions. Each year between your current age and 55, you take a randomly assigned market growth, and subtract a randomly assigned inflation rate, to get that year’s inflation-adjusted growth rate.
  • Downward Growth: Same as before, except you subtract a flat 4% off the real values of past market growth (leaving inflation and unemployment rates unchanged), and then re-run the covariance matrix and means. This simulates a pretty rough economic climate where the market is performing ~25% worse than the past 50 years, and yet unemployment chances and inflation are unchanged.
  • Unemployment: Same as normal scenario, except that there is a chance of being unemployed each year that is half the randomly assigned unemployment rate for a given year (i.e. if unemployment is at 8%, then you have a 4% chance of being unemployed in that year). Once unemployed, you are randomly assigned a 1- or 2-year period of unemployment, during which retirement contributions drop to 25% their previous rate. In this scenario you encounter 39% of runs where you end up unemployed at least once (with occasional runs where you are unemployed multiple times).
  • Baseline: It is helpful to compare the results of the scenarios against a 4% baseline. To get this, I take the given annual contribution, assume the market maintains 4% every year, and see where that ends up at age 55 (I use the same formula behind Excel’s FV to calculate this future value). 

The Results

The following graphs show the results when you assume that you are starting with \$250,000 in your retirement accounts, and that you make an annual contribution of \$25,000 per year until age 55.  I’m assuming a current age of 38, because I happen to be that old. I am also running these strictly on the performance of the S&P 500.  Most individuals maintain a mix of domestic and international stock, so the results are not a perfect proxy for how real investments will grow.

Finally, because we are working in inflation-adjusted terms (i.e. we are subtracting inflation from the market growth you experience each year), the annual contribution and the results of the model will be in today’s dollars.  Assuming that you will not increase your contributions throughout your life (even adjusting for inflation) is a conservative assumption.  While many are pessimistic that the lifecycle hypothesis will continue to define the future, it is likely that some people are going to experience greater than inflation-adjusted growth in their incomes (and hence can make greater contributions to retirement).

What might you end up with?

Below is a histogram showing the results of our three bootstrap scenarios. The red vertical line shows the baseline outcome that assumes 4% growth every year.

The results show that the normal and unemployment scenarios are not too far off from each other.  The only difference is that the unemployment scenario is slightly left-shifted, as you would expect from a world where there are 1- to 2-year periods of diminished contributions in 40% of runs.

This also shows that the 4% assumption is indeed conservative in a normal or unemployment world.  Most of the outcomes for those two scenarios are significantly right of the dashed red line, with a wide right-tail upside. While highly unlikely, there are some scenarios where an individual ends up with $4MM+ dollars at 55.

The histogram also reveals the significant impacts of a downward growth scenario.  The area of the green histogram is mostly left of the 4% vertical baseline.

Another take on the results can be seen in the percentile bar graph below.

This more clearly shows that the normal and unemployment scenarios result in outcomes that are likely better than 4% growth.  In 80% of bootstrap iterations you end up with 4% or greater; and again, the upside is kind of absurd – there is a 10% chance of ending with greater than $3.5MM at age 55.

Similar to the histogram, in the downward growth scenario you see that 4% is now an optimistic outcome.  The median outcome is around our 4% baseline, meaning that in half of scenarios you would end up with less.  In fact, there is a 10% chance in a 4% world that you only double your money to $500K by the age 55.

So where does this net us out?

On the one hand, I believe these results show that under normal-ish conditions, 4% is too conservative.  The common assumption that outcomes vary significantly by your timing in the market does seem correct. However, this assumption does not seem to factor in that the median return of the S&P 500 is surprisingly good. So, even though an individual’s return rate can vary significantly, the baseline assumption of getting 4% is probably too conservative (because it’s the bottom of the possible range).

On the other hand, there is still reason for caution.  Even in a world where market returns are unchanged from the past, there is still is a 20% chance of getting returns of 4% or less.  AND, in a world where growth slows down significantly, 4% starts to look like a stretch.  I should also reiterate that this analysis is strictly limited to the S&P 500, and in a more diversified investing strategy, 4% might be an appropriate growth expectation.

It seems that the question of growth is in many ways a litmus test for how you view the American economy. In discussions with friends, one pointed out that current annuity rates are 3.2%, and that the rates on long tenure debt are ultra-low – both suggesting that financial providers expect low growth rates in the future.  When I showed another person the results of this script, he suggested that I look at “declining empires” like the U.K., or declining economies like Japan, for examples of America’s worst-case future (the Nikkei and FTSE do not paint a rosy picture!).

Whether these pessimistic views are correct is anyone’s guess.  In an article I read recently, the author casually throws out 6% as an assumed growth rate for retirement accounts. In the end, for my personal financial modeling, these results did convince me to use 5% as my new conservative inflation-adjusted growth estimate.

Want to simulate your own possible retirement outcomes? Get the full code for this project on GitHub, and enter your age, contributions, etc. to see your range of possible outcomes.

Featured image source: Unsplash



Leave a Reply