Different investment accounts have various tax implications, which affect your returns in deceptively dramatic ways. We'll take a look at two types of assets:
 Growth  e.g. stocks
 Fixedincome  e.g. bonds and CDs
and how they perform in the following investment accounts
 "Regular" taxable accounts
 HSA
 Traditional and Roth 401k
 Roth IRA
 Traditional, deductible IRA
 Traditional, nondeductible IRA
First, let's summarize the tax differences between the two types of assets and the different investment accounts (recommended read). Then using this information, we'll derive formulas for calculating the posttax return for various combinations of assets and account types (if you want to check my work). Finally, we'll provide some concluding remarks on the results.
Growth assets, such as nondividend paying stocks, derive their value primarily from growth in price. For example, Tesla stock grew from $200/share to $350/share in the past year, for a gain of $150/share. We call these
capital gains, and they are taxed at a special rate called the capital gains tax rate, which is typically much lower than your income tax.
Fixedincome assets, such as bonds, CDs, and dividendpaying stocks, derive their value primarily from regular payments. This means that when you buy and hold the asset, the issuing entity will pay you some amount of money at set points in time. This payment goes under various names, such as dividend, coupon, interest, etc. But it is normally counted as income and taxed at your current income tax rate.
Now let's go into some of the tax implications of the (nonexhaustive) list of investment accounts that you can buy these assets in.
What I'm going to call a
"regular" taxable account is just a typical account that you would open with a brokerage and fund using aftertax money (e.g. from your bank account). Fixedincome is taxed the year it is received, and capital gains are taxed the year the asset is sold.
A
health savings account (HSA) is a taxadvantaged account. You contribute with pretax money, pay no taxes on growth, and no taxes upon withdrawal when used for qualifying medical expenses.
A
traditional 401k account is a retirement benefit optionally provided by your employer. It is funded by pretax money that is deducted from your paycheck. As part of the benefit, your employer may choose to additionally contribute to your 401k account, typically in the form of a percentage match (e.g. for every dollar you put into your 401k, your employer will put in 50 cents). Taxes are simple: you don't pay income tax on the money you put in and you pay income taxes when you withdraw. One nonobvious consideration is that your income tax rate in retirement will likely be different than your current income tax rate.
A
Roth 401k is nearly identical to the traditional 401k, except you fund it using aftertax money with no taxation at withdrawal. This means you pay taxes now at your current income tax rate instead of later at your retirement tax rate. There's an additional twist to the Roth 401k, and that is employer matches are pretax and placed into a traditional 401k.
A
Roth IRA is like a Roth 401k, except there is no employer match. You put in aftertax money and withdraw without taxes.
A
traditional, deductible IRA is like a traditional 401k, except there is no employer match. You put in pretax money and withdraw without taxes. You can also think of it as a Roth IRA but taxdeferred.
A
traditional, nondeductible IRA and a traditional, deductible IRA are really the same account (it's just called a
traditional IRA). However, depending on your income level, your contributions may or may not be taxdeductible. This difference has big implications, so it's worth treating the two cases separately. So how does this differ from a Roth IRA, since both are funded using aftertax money? In a Roth IRA, you don't pay any taxes at withdrawal. However, in a traditional, nondeductible IRA, you pay income tax on the
earnings.
Okay! Now we're ready to figure out how these factors impact our returns. Let's start by defining a few variables
 \( C \)  pretax contribution amount
 \( PTM \)  present incometax multiplier, equal to one minus your present tax rate
 \( RTM \)  retirement incometax multiplier, equal to one minus your retirement tax rate
 \( CGR \)  capital gains tax rate
 \( i \)  annual percentage yield, corresponds to the growth rate or fixedincome yield
 \( T \)  number of years
 \( EM \)  employer 401k match percentage
For a regular, taxable account, a pretax contribution of \( C \) gets income taxed, meaning that we really only start with \( C \times PTM \) dollars in our account. If we invest in growth stocks, due to compounding growth after \( T \) years, we will have \( C \times PTM \times (1+i)^T \) dollars worth of assets. However, when we sell the assets, the capital gains are taxed at \( CGR \). So we lose \( C \times PTM \times [(1+i)^T  1] \times CGR \) to taxes. Thus we are left with
\[ \boxed{C \times PTM \times [(1CGT) \times (1+i)^T + CGT]} \]
Now let's consider a fixedincome asset in our taxable account. In this situation, we still start with \( C \times PTM \) dollars, but our yield also goes down to \( i \times PTM \). This is becomes the yield is also taxed by income tax, which lowers the compounding rate. This means after \( T \) years, we end up with
\[ \boxed{C \times PTM \times (1+ i \times PTM)^T} \]
In a taxadvantaged account, like a 401k, no taxes are paid on neither growth nor yield, so the calculations will be identical for growth and fixedincome assets.
In an HSA, things are quite simple since there are no taxes. Your pretax contribution \( C \) gets the full benefit of compound growth \( (1+i)^T \), and you get to spend the full resultant amount taxfree on health expenses
\[ \boxed{C \times (1+i)^T} \]
In a traditional 401k, we get our full pretax contribution of \( C \) plus the employer match, so we start off with \( C \times (1+EM) \). We then have compound growth of \( (1+i)^T \) and then at withdrawal we pay an income tax of \( RTM \). This leaves us with
\[ \boxed{C \times (1+EM) \times RTM \times (1+i)^T} \]
A Roth 401k behaves similarly, except we pay taxes up front on our contributions. So from our contributions, we have \( C \times PTM \times (1+i)^T \). Now for our employer contributions which is treated as a traditional 401k, we have \( C \times EM \times RTM \times (1+i)^T \). This gives us
\[ \boxed{C \times (PTM + EM \times RTM) \times (1+i)^T} \]
A Roth IRA behaves like a Roth 401k without the employer match portion, so we have
\[ \boxed{C \times PTM \times (1+i)^T} \]
A traditional, deductible IRA is like the Roth IRA but taxeddeferred.
\[ \boxed{C \times RTM \times (1+i)^T} \]
A traditional, nondeductible IRA behaves like a regular taxable account, but with a regular income tax instead of a capital gains tax. The account starts off with a taxedcontribution of \( C \times PTM \) and grows taxfree so we get a factor of \( (1+i)^T \). However the earnings are taxed at like income tax at withdrawal time, so we lose \( C \times PTM \times [(1+i)^T  1] \times RTM \) to taxes. This leaves us with
\[ \boxed{C \times PTM \times [RTM \times (1+i)^T + (1RTM)]} \]
I've summarized the results in the following table
Account/Asset Type 
Withdrawal Amount (\( \times C \)) 
Regular + Growth 
\( PTM \times [(1CGT) \times (1+i)^T + CGT] \) 
Regular + FixedIncome 
\( PTM \times (1+ i \times PTM)^T \) 
HSA 
\( (1+i)^T \) 
Traditional 401k 
\( (1+EM) \times RTM \times (1+i)^T \) 
Roth 401k 
\( (PTM + EM \times RTM) \times (1+i)^T \) 
Roth IRA 
\( PTM \times (1+i)^T \) 
Traditional, deductible IRA 
\( RTM \times (1+i)^T \) 
Traditional, nondeductible IRA 
\( PTM \times [RTM \times (1+i)^T + (1RTM)] \) 
Just taking a glance at the formulas above, we can draw some obvious conclusions about the taxeffectiveness of various accounts. But to make it even more obvious, let's work out a numerical example based on some reasonable assumptions
 $1,000 pretax contribution amount
 28% income tax bracket
 28% retirement income tax bracket
 15% capital gains tax rate
 8% stock growth
 3% fixedincome yield
 20 year investment horizon
 50% employer 401k match
For stocks, we'll see the following result
Account Type 
Withdrawal Amount 
Advantage 
Regular 
$2961 

HSA 
$4661 
+57% 
Roth and Traditional 401k 
$5034 
+70% 
Roth and Traditional+Deductible IRA 
$3356 
+13% 
Traditional, nondeductible IRA 
$2618 
11% 
And for bonds
Account Type 
Withdrawal Amount 
Advantage 
Regular 
$1104 

HSA 
$1806 
+64% 
Roth and Traditional 401k 
$1951 
+77% 
Roth and Traditional+Deductible IRA 
$1300 
+18% 
Traditional, nondeductible IRA 
$1138 
+3% 
With the formulas and numerical results in mind, we can draw the following conclusions
 there's a huge advantage in investing in your HSA and 401k accounts.
 the HSA has the biggest taxadvantage, but the employer match is usually enough to compensate or overtake the HSA.
 there is a significant tax advantage to be had in your deductible IRA accounts, since you're not paying any tax on the growth or yield.
 There is no difference between a traditional deductible vs Roth 401k/IRA if your income tax rate stay constant. However a lower retirement tax rate will favor traditional whereas a higher retirement tax rate will favor Roth.
 A nondeductible traditional IRA performs worse than a regular, taxable account for stocks since capital gains are taxed as ordinary income.
 The tax advantage is greater for fixedincome assets than for growth assets, because a taxadvantaged account improves the compounding ability of fixedincome assets
Of course, the realworld picture isn't quite so simple. There are restrictions, loopholes, and other considerations when using these tools. This post should convince you of the benefits of thinking about tax advantaged accounts and hopefully provide a basic framework for doing so. A deeper treatise on this will be the subject of a future post.
See
part 2 to see how to make use of this information (with a tldr).