There is a subtle bug in my original post on Roth vs. Traditional 401k. The bug being that in Roth 401k, we pay taxes upfront but we still get to invest full contribution amount that grows tax-free. The bug is so subtle that let’s do another analysis that will make it clear. Let
= principal amount = salary earned in a year = $100,000 as example
= contribution amount to 401k = $19,000 for 2019 whether it be roth or traditional
= rate of return on investment = 0.08 as example
= tax rate = 0.35 as example
= # of years money is invested
Roth 401k
We start with .
goes into 401k account. That leaves us with
in ordinary account. Next we pay tax on the full
which further reduces it to
. Call this
. This amount can be invested just like we invest the money in a 401k. The only difference is that in ordinary account we will have to pay tax on earnings every year. I leave it as an exercise for reader to prove that the annual tax incurred in the ordinary account basically has the effect of reducing
by a factor of
so that at end of
years,
invested in ordinary non-tax sheltered account will grow as
. The money in 401k grows as
and can be withdrawn tax free. So at the end we have
Total =
Traditional 401k
We start with .
goes into 401k account. That leaves us with
in ordinary account. Next we pay tax on only
which reduces it to
. This becomes the new
. This amount can be invested just like we did earlier. In case of traditional 401k, the money in 401k will grow to
but we will have to pay tax on this at time of withdrawal. So at the end we have
Total =
The total amount we end up with is not the same in the two cases. I wrote a small script to compute the two totals
so Roth seems to be better. But beware, this is just bookish exercise that assumes to be same in case of retirement vs. not. In reality what is expected is that in retirement your tax rate should be lower than the tax rate when you are earning. In that case traditional 401k might turn out to be better.

