Monday, August 1, 2011

Traditional vs. Roth IRA's - The Numbers

Let's say you have Investment amount of money (gross, pre-tax) to invest, and the government limits you to contributing Limit per year (currently $5,000), where Investment >> Limit. Your tax rate now is Tax_Now, and your tax rate when you withdraw the money is Tax_Withdraw. You will receive a Return per year on your investment (such as 9%) and hold it for some number of Years before withdrawal. Finally, we assume we will be investing up to the maximum Limit per year.

Roth IRA's are post-tax investments, and tax-free withdrawals, while Traditional IRA's (and 401k's) are pre-tax investments, and taxable withdrawals. We want to know how much money will be withdrawn (denoted as Withdrawal) with each type of investment vehicle.

Roth:
We are able to invest

Investment * (1 - Tax_Now).

Limit goes into a Roth IRA, and

Investment * (1 - Tax_Now) - Limit

goes into a taxable account. So we have a tax-free withdrawal of

Limit * (1 + Return)^Years.

We also have a taxable withdrawal of

(Investment * (1 - Tax_Now) - Limit) * (1 + Return)^Years at a rate of Tax_Withdraw,

which results in a withdrawal of

(Investment * (1 - Tax_Now) - Limit) * (((1 + Return)^Years - 1) * (1 - Tax_Withdraw) + 1).

The -1 and +1 are because you are only taxed on your earnings, not on the principal, when you withdraw.

Add this all together we have:

Withdrawal_Roth = Limit * (1 + Return)^Years + (Investment * (1 - Tax_Now) - Limit) * (((1 + Return)^Years - 1) * (1 - Tax_Withdraw) + 1)


Traditional IRA:
The traditional IRA is only taxed on withdrawal. So we are able to invest Limit into an IRA, and

(Investment - Limit) * (1 - Tax_Now)

into a taxable account. The IRA results in

Limit * (1 + Return)^Years,

which, after taxes, equals

Limit * (1 + Return)^Years * (1 - Tax_Withdraw).

The taxable account contains

(Investment - Limit) * (1 - Tax_Now)

dollars invested, resulting in

(Investment - Limit) * (1 - Tax_Now) * (((1 + Return)^Years - 1) * (1 - Tax_Withdraw) + 1)

So our total withdrawal from a traditional IRA is:

Withdrawal_Traditional = Limit * (1 + Return)^Years * (1 - Tax_Withdraw) + (Investment - Limit) * (1 - Tax_Now) * (((1 + Return)^Years - 1) * (1 - Tax_Withdraw) + 1).

Example:
We'll go with $10,000 gross to be invested with a $5,000 limit for 8 years, at 9% return (so that our investments roughly double). The tax rates will both be 30%.

Withdrawal_Roth = Limit * (1 + Return)^Years + (Investment * (1 - Tax_Now) - Limit) * (((1 + Return)^Years - 1) * (1 - Tax_Withdraw) + 1)
= $5,000 * 1.09 ^ 8 + ($10,000 * 0.70 - $5,000) * ((1.09^8 - 1) * 0.70 + 1)
= $13,352.41

Withdrawal_Traditional = Limit * (1 + Return)^Years * (1 - Tax_Withdraw) + (Investment - Limit) * (1 - Tax_Now) * (((1 + Return)^Years - 1) * (1 - Tax_Withdraw) + 1)
= $5,000 * 1.09 ^ 8 * 0.70 + ($10,000 - $5,000) * 0.70 * ((1.09^8 - 1) * 0.70 + 1))
= $12,905.77

Combination:
We can combine some like terms if we define several common variables:

IRA_Return = Limit * (1 + Return)^Years
Other_Fraction = ((1 + Return)^Years - 1) * (1 - Tax_Withdraw) + 1

Now, we can write them as:

Withdrawal_Roth = IRA_Return + (Investment * (1 - Tax_Now) - Limit) * Other_Fraction

Withdrawal_Traditional = IRA_Return * (1 - Tax_Withdraw) + (Investment - Limit) * (1 - Tax_Now) * Other_Fraction

subtracting, we get

Difference = Withdrawal_Roth - Withdrawal_Traditional
= IRA_Return * (1 - 1 + Tax_Withdraw) + Other_Fraction * (Investment * (1 - Tax_Now) - Limit - (Investment - Limit) * (1 - Tax_Now))
= IRA_Return * Tax_Withdraw + Other_Fraction * (-Limit * Tax_Now)

= IRA_Return * Tax_Withdraw - Other_Fraction * Limit * Tax_Now

So in our example, we have
IRA_Return = $5,000 * 1.09^8 = $9,962.81
Other_Fraction = (1.09^8 - 1) * (1 - 0.30) + 1 = 1.6948
Difference = $9,962.81 * 0.30 - 1.6948* $5,000 * 0.30
= $446.64

Just to check, we have:
$13,352.41 - $12,905.77 = $445.64. Good.

So Difference is how much you gain by using a Roth IRA over a traditional IRA.