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):
- Ordinary Income – federal: 22%
- Dividends/Long-term Capital Gains – federal: 15%
- All income – State: 5%
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+):
- Ordinary Income – federal: 12%. So you end up in the second federal tax bracket, as most early retirees can expect.
- Dividends/Long-term Capital Gains – federal: 0%. Recall that up to roughly the top of the second federal tax bracket, you pay no taxes on qualified dividends and long-term capital gains. Awesome!
- All income – State: 5%. I assume that the retiree(s) stays in his/her/their current state and still pay the same 5% rate in retirement.
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:
- Capital gains, p.a.: 4%
- Dividend Yield p.a.: 2%
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:
- 401(k): 0.10%. Remember, a lot of savers face much higher expense ratios in their 401(k) plans than what can get when you shop around yourself at Fidelity, Schwab, or Vanguard. (Side note: This was one of the main reasons I wrote the post 4 years ago because I’d seen so many questions about whether it’s worth participating in a high-fee 401(k) plan or simply go the taxable route with zero or low fees instead.)
- Taxable brokerage account: 0.03%. The run-of-the-mill low-cost equity index fund. And at Fidelity, you can even go all the way to 0% now. But let’s stick with the 0.03% for now.
- The ESPP has no (ongoing) expense ratio, but I factor in a commission for selling the stock.
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:
- The investment in the ESPP and then the taxable account has some significant drag because you’ll have to tax not just the capital gains after 2 years but also your dividend income along the way, and capital gains again when you withdraw. In contrast, the 401(k) defers all the taxation until withdrawal.
- The 401(k) tax advantage is a bit higher than 10% I initially used (i.e., the drop in the marginal tax rate in retirement). It’s actually (1-future tax rate)/(1-current tax rate)-1 = (1-0.17)/(1-0.27)-1=0.1370=13.70% instead of 10%.
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:
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.
And we can check the main results, i.e., a side-by-side comparison of 11 different account types:
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:
- Max out the 401(k) plan with the match. Do not contribute to the Roth 401(k)
- Next, max out the Health Savings Account (HSA)
- 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.
- Next, max out the 401(k) beyond the match up to the annual maximum. Do not contribute to the Roth 401(k).
- Next, max out the ESPP up to the annual maximum
- Next, max out the Roth IRA up to the maximum
- And if you still got money left over, contribute as much as you can to a taxable brokerage account.
Some caveats:
- This is all done using fixed expected returns.
- There is uncertainty about future taxes, no doubt. So I always like to look at how things change when we raise future taxes, see the “Robustness Analysis” section below.
- If you put all your savings into retirement accounts you might face the headache in early retirement due to penalties (in addition to the taxes) for accessing retirement accounts before age 59.5. Though, there are some ways to access the money penalty free, through Roth conversion ladders and Rule 72(t).
- I did not factor in the slightly higher risk in the ESPP in the calculations purely based on the first moments (expected returns) and completely ignoring the second moments (risk, correlations). I’d forego the ESPP even if the expected return is only slightly above one of the other options (say single-digit basis points) due to the higher risk inherent in the company stock!
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:
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!
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:
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:
- E1: Move to a no-tax state. In retirement, you only pay the federal taxes: 12% on ordinary income and no tax on capital gains and dividends. Compliments of a move to one of the no-tax states (Alaska, Florida, Nevada, South Dakota, Texas, Washington, and Wyoming).
- E2: Longer horizon: Notice that this early retiree will not just liquidate all of the accounts in year 11 or 12. Some of the money has to last 30+ years. Does anything change when we stretch out the horizon? What about the money you’ll need in year 30 of retirement? So, let’s keep all parameters the same as in the baseline
- E3: Flat taxes throughout: What about folks who expect a pretty much flat tax throughout their life? In other words, you face a modest flat state tax (e.g. Colorado, North Carolina, etc.) and you expect to stay in the second federal tax bracket both during your last 10 years of working and then remain there in retirement as well. This flat tax scenario will negate the tax arbitrage in the 401(k) plan!
Let’s take a look at how these will change the relative attractiveness of the two retirement accounts that “compete” with your ESPP money:
- Qualitatively, E0, E2, and E2 all give you the same results. The ranking: 401(k) post-match is on top, then the ESPP, then the Roth. Though, I would argue that in E2 (longer horizon) I’d probably prefer the Roth IRA, despite the slightly lower IRR (0.06 percentage points lower than the ESPP) just for the peace of mind and a hedge that taxable account might become the target of higher taxes in the future.
- In the case where you face just one constant flat tax rate (E3) you’ll get a completely different order: Now the ESPP is the most attractive option (6.88%) followed by the Roth (5.97%) while the no-match 401(k) is the least attractive option (5.90%). That makes perfect sense: the Roth with the lower expense ratio will beat the 401(k) in the absence of any 401(k) tax arbitrage. In contrast, the ESPP faces relatively little tax drag over time, but you enjoy a nice sizable return boost due to the 15% employer match spread over a relatively short time window.
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