# How do I estimate the future level of my Roth IRA?

Short version: If I know a) how much is in my Roth IRA currently, b) that I plan to maximize my annual contributions, c) the average growth rate is 8%, and d) I'm 22 and plan to invest in my IRA until I surpass 59.5 years of age, how do I estimate the future level of my Roth IRA?

Long version:

I'm 22 and set to graduate from college in about a month, and I want to estimate the future level of my Roth IRA. I currently have about \$22K in the account, and I plan to deposit the maximum annual of \$5,500. I'm making the following assumptions:

1. I'll continue this pattern until I'm 59.5 years old
2. I'll earn an average annualized return of 8%
3. I don't have a financial emergency that requires me to withdraw some or all of the money

My strategy was to run a loop that added \$5,500 to the previous year's principal and then scaled it by 1.08 (or 1.048 if I'm subtracting inflation), then repeat it for the next year until I reach retirement age. This simple calculation gives me a number of around \$1.7 million, but I feel that it's not that simple.

Also, I'm not taking into account future changes in the maximum contribution limit, but if/when the contribution limit changes, I plan to increase my contributions up to that maximum.

There are numerous IRA calculators on the web, but they ask me for my tax bracket and I'm not sure how to include it. Also, I'd like to know how these calculations work myself. If it's relevant, I'll be near the top of the 25% tax bracket with my salary upon graduation.

### Calculations

As I've done before, here is the code I used to perform my calculations, if anyone is interested. Python this time, not Mathematica.

import locale

initial = 22000
annual_contrib = 5500
ror = 0.08
age_now = 22
age_ret = 60

prev = initial
for age in range(age_now+1, age_ret+1):
ira = (prev + annual_contrib) * (1 + ror)
prev = ira

locale.setlocale(locale.LC_ALL, '')
print("{0}: {1}".format(age_ret + 1991, locale.currency(ira, grouping=True)))
• Given your assumptions, it is that simple. However, finding a security that returns 8% no matter what for a period of 47 years is what I'd question as most of the higher returns that have been seen generally had some volatility that is worth factoring in since in a sense you are dollar cost averaging each year in a sense. – JB King Mar 12 '13 at 22:01
• I'm glad to see you have an approach to account for inflation. It's often overlooked but its impact is significant. – Chris W. Rea Mar 12 '13 at 23:23
• @JBKing I drew that estimate from another answer, but I agree with you completely. – John Bensin Mar 12 '13 at 23:35
• Just an fyi, I would definitely look at using excel or even google spreadsheets for this sort of thing rather than python (I say this as a software guy too... kinda pains me!) as they are way more flexible and often have built in functions to handle these operations. – enderland Mar 12 '13 at 23:37
• @enderland I actually am using Excel for this, but I wasn't sure how to upload a spreadsheet to an SE site (apart from uploading it elsewhere and linking to it). Also, I assumed some people were as paranoid as me and wouldn't download an MS document for security reasons anyway... Linking to a google spreadsheet would probably reveal my gmail too, and in the time it would take me to create a dummy account, I could just write some Python! – John Bensin Mar 12 '13 at 23:50

It's simple for a finance calculator:

PV = \$22,000

% = 8 (or .08 depending on calculator)

N= 42 (years)

PMT = \$5500 (or -5500, again, depending on the model calculator)

Solve FV = \$2.23M

If inflation is 3%, I'd change the rate to 5% and solve as \$915K in today's dollars.

By the way, the Roth is post tax, and comes out with no tax due. Your tax rate doesn't matter for this calculation.

• I second this. Your TAX RATE doesn't matter for a ROTH! This is why Roth's are amazing. – MattMcA Mar 12 '13 at 23:00
• @MattMcA I was 99% sure of that, but it never hurts to ask. – John Bensin Mar 12 '13 at 23:33
• I wish every single person in their 20s would see this and realize saving \$5,500 a year at 8% would make them effectively a millionaire in retirement. – enderland Mar 12 '13 at 23:56
• 20's? My 14 yr old just gave me her 4th year's deposit to her Roth. Never too young. – JTP - Apologise to Monica Mar 13 '13 at 0:20
• @JoeTaxpayer Is she maxing out her annual contribution limit? – John Bensin Mar 13 '13 at 2:41

If you want flexibility in changing the amount contributed each year etc., spreadsheets are the way to go. The calculations that you need are explained in this answer to a different question.

• I agree about spreadsheets, but as I stated above, there isn't a convenient way to include them in the question. I'm embarrassed that I didn't remember Horner's Rule, however. It's extremely helpful in this case. – John Bensin Mar 13 '13 at 2:41
• joetaxpayer.com/saving.xls is a spreadsheet you can download. You can edit to your liking, but note, it's designed for a 401(k) with match. For. Roth Ira, is set match to zero. – JTP - Apologise to Monica Mar 13 '13 at 4:42