Site icon Early Retirement Now

Is an Employee Stock Purchase Plan (ESPP) better than a Retirement Account?

September 23, 2020 – In last week’s post, I showed that if you have access to an Employee Stock Purchase Plans (ESPP) offering the full 15% maximum discount you can justify prioritizing the ESPP over an index fund investment in a taxable account, despite the higher risk. But I didn’t answer another important question: would you want to prioritize your ESPP even over retirement savings accounts? 

If your company match is 50% or even 100%, well, then you get a quick guaranteed 50% or 100% return, much higher than any ESPP discount you can expect. The retirement plan with such a high matching percentage easily mops the floor with that puny 15% ESPP discount. But what about the 401(k) contributions after the match? Should we forego those and invest in the ESPP instead? Is the ESPP better than a Roth IRA?

Well, it all depends on your personal situation, specifically, your tax and benefit parameters. So, that’s the question for today: How do we determine priorities across the different savings vehicles? Under what conditions would we forego the 401(k) contributions beyond the company match and invest in the ESPP instead?

Let’s take a closer look:

A simple numerical example

We have to start somewhere. So, let’s look at the following case study of someone who is currently working and planning FIRE in about 10 or so years. Not too different from many FIRE enthusiasts I’ve met. But I’m going to do some robustness analysis later and see how the results change if we turn some of the dials in the FIRE machine. Stay tuned!

Marginal Tax rates while working (years 0-10):

In other words, a high-paying job (6-figures for a married couple) and a moderate flat state tax rate of 5%. 

Marginal Tax while retired (years 11+):

Next, we have to pick expected returns: As in the post last week, I assume a beta=1 stock that has the same total return expectation as the index. It also features the same split between dividends and capital gains. Also, to be on the safe side, I assume a relatively low nominal return, only 6% total! Thanks to the expensive equity valuations right now:

All returns and all calculations are in nominal terms. I also assume that our FIRE planner can get a 15% discount in the ESPP and there’s a minimum 2-year holding period. After that, we can sell the company stock, as recommended last week to diversify away from the concentrated risk the company stock after we captured the full 15% discount.

Fees – I’ll assume the following expense ratios:

A back-of-the-envelope calculation

Before doing any careful calculations, a back-of-the-envelope calculation yields that the ESPP discount is 15% net of the ordinary marginal income tax rate: 15%x(1-0.27)=10.95%. That’s higher than the 10% drop in the marginal tax rate, which is roughly the value of the tax arbitrage in the 401(k) plan.

So it looks like the ESPP is actually quite competitive with the 401(k) investment (past the employer match). Or so I thought. It turns out, this calculation is way too simplistic.  Let’s start over…

A more detailed calculation

The back-of-the-envelope calculation above could be significantly off because we’re compounding several errors in that simplified calculation. And that could potentially make the 401(k) investment much more attractive than the ESPP. For example:

So, to do a more careful side-by-side calculation, I dug out an old blog post of mine. And I mean a really old post, from more than 4 years ago (=28 years in blogger years, to be precise). I called that post, quite fittingly…

The ultimate retirement account comparison in one single Google Sheet

and I simply added another account option, the ESPP, to accommodate today’s calculations. Here’s the link to the Google Sheet:

After Tax Return Comparison – Google Sheet

As always, you cannot edit the sheet as it is posted online. You’d need to first save YOUR OWN COPY!

In any case, just a quick recap, the sheet calculates the expected IRR of a variety of different accounts (retirement, health savings account, taxable accounts) as a tool to gauge the relative attractiveness of the different account types. And all the calculations are done in a consistent and fair apples-to-apples fashion to avoid some the junk financial advice out there like “the Roth 401(k) is better than the regular 401(k) because it grows tax-free.” Rather, you have to factor all the tax consequences from beginning to end, taxes and matching parameters when the money goes in, taxes while the money grows, and taxes when you take the money out.

The way I implemented the ESPP is to assume that after 2 years, you liquidate the company stock, pay for the capital gains and transaction costs, and then invest the net proceeds in a low-cost equity index fund in your brokerage account.

Update 10/12/2020: As some readers and twitter friends have pointed out, that’s short-changing the ESPP a little bit. It somewhat of a worst-case scenario because you assume that you use the ESPP only once. If you keep rolling the ESPP forward every 2 years and you capture the ESPP discount each time, you’ll do significantly better! I’ll think about how to best implement this in the Google Sheet! 🙂

Update 10/13/2020: I’ve now updated the Google Sheet to allow for the following scenario: when the ESPP pays off after 2 years you can also reinvest that into another round of ESPP contribution. So, for example I could allow a 12-year horizon, 10 years at work, where you run 5 rounds of ESPP contributions back-to-back and then you leave work and invest the final proceeds in a taxable account. See the section below.

All we need to do is to keep track of the current account value and the cost basis over time, see the screenshot from the Google Sheet below:

ESPP account value over the first 12 years. After 2 years, you liquidate the ESPP holdings and reinvest the net proceeds. Also, notice that the cost basis steps up at that time. I also assume that you pay taxes on dividends every year and only reinvest the payment net of taxes. Notice the drop in dividend taxes in year 11 and 12, due to lower taxes in early retirement!

So, let’s put all the parameters into the sheet. You do so in the tab “Main”. All parameter inputs from the user are shaded orange. Notice that I assume here that the high-tax regime lasts for the first 10 years, then you retire and the IRR is for the money you withdraw in year 12. 

All the parameters we need for the IRR comparison.

And we can check the main results, i.e., a side-by-side comparison of 11 different account types:

Main results for the ESPP example

I was quite surprised! The no-match 401(k) is significantly better than the ESPP. The tax arbitrage in the 401(k) translates into a 7.04% IRR. Pretty impressive, because the net-of-fees equity return is only 5.90%, so you gain a full 114 basis points (1.14 percentage points) in annual returns from the tax arbitrage. In contrast, the ESPP advantage melts away quite substantially once you factor in all the nasty tax drags along the way: paying capital gains in year 2, paying dividend taxes along the way, and capital gains again in the end in year 12. Bummer! I would have thought the ESPP gets much closer to the no-match 401(k) IRR. It looks like this FIRE enthusiast is better off not participating in the ESPP until after maxing out the 401(k) annual pre-tax maximum ($19,500 per employee in 2020).

But that said, the ESPP is still significantly better than the taxable account. The ESPP also handily beats the Roth IRA. Recall, the Roth IRA has an IRR exactly equal to the net-of-fee equity return (6% minus 0.03% expense ratio). But that 5.97% is still significantly below the IRR of the ESPP once you factor in the 15% discount. And again, this is net of taxes in the ESPP!

So, here’s a summary so far from this concrete parameterization; according to my Google Sheet, this FIRE planner should fill up the FI savings in the following order:

  1. Max out the 401(k) plan with the match. Do not contribute to the Roth 401(k)
  2. Next, max out the Health Savings Account (HSA)
  3. With an income in the 6-figures, you will likely not be able to contribute to the deductible (pre-tax) IRA, but if there’s some way you could, that’s the next account to max out.
  4. Next, max out the 401(k) beyond the match up to the annual maximum. Do not contribute to the Roth 401(k).
  5. Next, max out the ESPP up to the annual maximum
  6. Next, max out the Roth IRA up to the maximum
  7. And if you still got money left over, contribute as much as you can to a taxable brokerage account.

Some caveats:

Update 10/13/2020: Multiple ESPP contributions back-to-back

As some people pointed out here and on Twitter, I’ve potentially underestimated the benefit of the ESPP because I assumed that you fund the ESPP only once and then invest the proceeds in the taxable account. But more likely people will just reinvest the proceeds into another round of an ESPP. To allow for multiple ESPP rounds, each subsequent one reinvesting the (after-tax) proceeds of the previous ESPP, I’ve added another field in the  parameter section, see below:

You can now simulate multiple ESPPs back-to-back!

I still maintain the previous calculations with the one single ESPP, but I also calculate the portfolio value after 5 iterations of the ESPP (10 years) plus another 2 years of taxable accounts. Notice that I want the flexibility to not have ESPPs over the entire horizon. For example, you might want to study a horizon of 12 years (10 more years at work plus 2 years into retirement), and you would have access to the ESPP only during the first 10 years, not the entire 12 years!

The 10 years’ worth of ESPP investments will get you to about $2,840 after tax. After that, you employ the taxable account as before.

And then finally, I display the main results. I still keep the 1x only ESPP columns as before for comparison and add a twelfth column, see the main results below:

The IRR of running the ESPP 5x in a row looks much more attractive! It’s indeed better than a 401(k) without the match in this example!

Notice how the ESPP-x5 is vastly more attractive than most of the other accounts, measured by the IRR. Not quite as good as the 401k with a match. But better than a 401k without match, better than the HSA, better than a Roth, and – of course – vastly more attractive than a taxable account. So, if you have access to an ESPP, even with a 2-year minimum holding period, it’s an extremely attractive IRR if you can run these investments back-to-back multiple times.

And, as I’ve said multiple times before, if you get even better terms, such as shorter minimum holding periods, or better stock purchase terms where the you buy your shares at the minimum price over the offer period, then the ESPP becomes even more of a no-brainer!

Robustness Analysis

This was just one single, simple parameterization. Let’s look at how results change if the inputs change:

Higher Taxes:

The first robustness check I’d always like to perform in this context is the “what if future taxes are higher?” scenario. It’s such an important issue that I incorporated this just below the baseline calculation in that same table in the Google Sheet. I raise all of the tax rates (ordinary income and capital gains) upon withdrawing by 5 and 10 percentage points but keep the Roth shielded from those taxes. In the table above, the ranking of all accounts stays the same for a 5% hike, but there are some small changes if you jack up the taxes by 10 points. Now the Roth IRA becomes more attractive than the no-match 401(k). But the Roth still falls short of the ESPP, which is quite surprising.

I also go through three additional robustness checks that require changing the parameters in the Google Sheet inputs:

Let’s take a look at how these will change the relative attractiveness of the two retirement accounts that “compete” with your ESPP money:

IRRs of three different accounts ESPP, 401(k) beyond match, Roth IRA) under different parameter assumptions. E0=baseline from above.

Conclusion

There you have it. ESPPs are a pretty neat benefit. Especially if you get the full 15% discount. As long as you quickly liquidate the company stock and funnel it into a taxable account with a low-cost index fund after the minimum holding period. In a direct comparison, the ESPP likely beats the taxable account at least in expected terms. And even risk-adjusted as I showed last week.

When comparing the ESPP with retirement accounts, there are a lot more moving parts. A 401(k) plan with the match, sometimes 50% or even 100%, will easily beat the ESPP. The calculations here show that the ESPP may beat the 401(k) beyond the company match if the marginal taxes over your lifetime are sufficiently flat or even increasing. There is a good chance that the 401(k) plan beats the ESPP if you expect your marginal taxes to go down, as is often the case because you move into a lower bracket and potentially even move from the high-income tax state where you worked to a zero or at least low-tax state in retirement. Just like we did here in the ERN household.

The ESPP vs. Roth IRA trade-off depends not just on the tax parameters but also on the horizon. So you might find yourself in a situation where the ESPP is more attractive for funding the early retirement expenses. But the Roth IRA is needed for funding the subsequent, late retirement stage. It all depends on your personal idiosyncratic situation. Personal Finance is indeed very personal.

Thanks for stopping by today! What did you find when you input your own tax parameters? Looking forward to your comments below!

Picture credit: pixabay.com

Exit mobile version