The race at retirement
Drag any slider to see who's ahead — and by how much.
Two hypothetical investors, two start ages, one live chart. Tweak monthly contributions, return rate, and when each one stops contributing — see exactly when time-in-market beats more-money-later.
Drag any slider to see who's ahead — and by how much.
The single most-repeated piece of personal-finance advice — "start investing early" — gets stated as an aphorism roughly a hundred million times a year. It almost never gets demonstrated. Articles describe it; podcasts mention it; finance influencers cite the same Roth IRA chart and move on. What's missing is the interactive version: a tool that lets the reader actually drag the numbers around and feel the asymmetry between time and money. That's the gap this simulator fills.
The textbook example that makes the lesson visceral is two friends with the same income, same return, and same total dollars contributed — but different timing. Alice starts at 22, puts in $300/month for ten years, then stops at 32 and never adds another dollar. Bob waits until 32, puts in $300/month every month from 32 to 65 — three times as much money, three times as long. Plug it into the simulator at a 7% real return and Alice ends up ahead of Bob at retirement, despite contributing roughly $36,000 versus Bob's $118,800. The interactive part of the chart is where the lesson lands: you can see the Alice line sitting on a 33-year compounding tail with no new fuel, while the Bob line is still climbing fast at 65 but can't quite catch the head start.
Why does this happen? Two things compound at once: the dollar contributions, and the time-in-market on dollars already contributed. Alice's first $300 grows for 43 years. Bob's first $300 grows for 33 years. At 7%, that 10-year gap is a factor of about 2× — Alice's earliest dollars are worth twice as much at retirement than Bob's earliest dollars, before either of them adds a single follow-on contribution. The contribution gap is linear (Bob put in 3.3× the dollars), but the compounding gap is exponential — and exponentials win over decades.
The lesson isn't only "start at 22." If you didn't, the simulator is also where the catch-up insight lives: how much would Late need to contribute monthly to tie Early at retirement? It's almost always achievable for an Early who saved modestly, and often unrealistic for an Early who saved aggressively. Either way, seeing the number — instead of being told "more, somehow" — is what changes behavior. This tool exists because the gap between knowing the principle and acting on it is closed by feeling it, and a chart you can drag is the smallest possible "feeling" we can engineer into a web page.
Be honest about the annual return. The default 7% is the long-run inflation-adjusted return for a broad US stock-market index — and it's the right number for an average case over a 40-year horizon, but real years swing between –40% and +30%. The simulator is a smooth average; reality is jagged. If your portfolio is mostly bonds, ~3% is closer; if it's all-equity and you can sit through bear markets without selling, 7% real is defensible. A retirement plan built on a 10%+ assumption is fragile.
Use the today's-dollars toggle when the chart starts surfacing million-dollar numbers. A $2,000,000 nominal balance in 2065 feels like a yacht; at 3% inflation, it's around $700,000 in 2026 purchasing power — comfortable, not extravagant. Most lifestyle planning should be done against real dollars, not nominal. The toggle lets you flip between the two views without losing your inputs.
Resist the urge to set Late's monthly contribution arbitrarily high to "win." The point of the comparison isn't to crown a winner — it's to show that time-in-market is a multiplier even more than money is. The default 22-vs-32 / $300-a-month setup demonstrates the asymmetry on its own; sit with that shape for a minute before customizing. Then ask: what does it take, exactly, to close the gap? Most people are surprised by how much it takes — and equally surprised by how little time-in-market they would have needed to never face that question.
This is a simulator, not a planner. It assumes constant monthly contributions, constant returns, no taxes, no fees, no employer match, no Social Security, no irregular windfalls, and no spending in retirement. It's designed to make the asymmetry of compounding viscerally obvious in five seconds — not to replace a retirement plan. For an actual plan, layer in those moving parts with a financial planner or a more elaborate model.
No. There is no sign-in, no email field, and no profile. Every input you make is saved only in this browser's localStorage on your own device. Nothing is sent to any server.
Each month, the balance is multiplied by the monthly return rate (the annual-return input converted via (1+r)^(1/12) − 1 for genuine monthly compounding, not r/12) and then the monthly contribution is added — but only if the current age is between the investor's start age and stop age. Once the stop age passes, contributions cease but the balance continues compounding until the retirement age. The chart samples this loop once per month for accuracy, then plots one point per year to keep the SVG smooth.
Compounding is exponential and time is the exponent. Early's first dollar gets the longest stretch of compounding — at 7% real, ten extra years roughly doubles a dollar's terminal value. That asymmetry can dominate the linear advantage Late has in raw contributions, especially when Early stops contributing at the moment Late starts — set Early's stop-age slider to 32 to see this exact shape. When both contribute throughout the whole window, raw monthly amount matters more — but Early still has a free 10-year head start.
The dashed gold line shows the age at which Late's balance first overtakes Early's balance — that's the moment the gap reverses. If Late never catches up before retirement, the marker is hidden and the legend doesn't show it. If Late starts ahead of Early (e.g. with a large lump sum), the marker won't appear either; the line tracks Late overtaking Early specifically, not the other direction. Look at the chart and the winner banner together to read the full story.
For long-horizon planning, ~7% real (inflation-adjusted) for a broad equity index is the conventional anchor — it matches the US S&P 500's roughly 10% nominal long-run average minus ~3% inflation. Bonds historically deliver ~1–3% real; cash even less. International equities have varied widely; a global blend has tracked close to the US figure over very long windows. Pick something defensible for your portfolio; reality will deviate year-to-year, but the goal is the right ballpark, not a forecast.
No. The simulator assumes a tax-advantaged account (Roth IRA, 401(k), or similar) with no annual fee drag and no contribution match. To approximate the after-tax / after-fee picture, lower the annual return by the relevant percentage — e.g., subtract ~0.5% for a typical index-fund expense ratio, or ~15–20% off the return if the account is fully taxable and you trade often. For an employer match, model it by adding the match amount to the monthly contribution.
The catch-up insight below the inputs computes exactly that: the monthly amount Late would need to put in to tie Early at the retirement age, holding everything else constant. If the number is below ~$5,000/month it's surfaced directly; above that it's flagged as out-of-reach, because at that contribution level real-world income constraints usually dominate the math.
Articles often use different defaults — $6,000/year instead of $300/month, 8% return instead of 7%, or different stop ages. Drag the sliders to match the article's assumptions and the numbers will line up. The simulator uses monthly compounding (which is slightly more generous than annual compounding for the same nominal rate) and discrete monthly contributions, which is the most accurate model for a real recurring deposit.
Not at the moment. The inputs live in browser localStorage under a single key (tirs-data-v1) — power users can copy the JSON value from the browser's storage inspector. For the chart, use a screenshot — the SVG is responsive and prints cleanly. A dedicated export UI may land in a future revision.
The simulator resets to the default 22-vs-32 scenario, because inputs are stored locally rather than in an account. Switching browsers, switching devices, or using private browsing has the same effect.
Once the page has finished loading, every calculation runs locally — no internet connection needed. Reconnecting is only required to load the page initially or to visit other pages on OmniAppHub.