A few hands-on tools to make compounding and long-term risk feel real, not theoretical.
One amount, invested once and left alone, through the actual history of each asset. Click any year (or use ← → and Enter) to zoom to the window starting there; click again to see the full history.
—
The starting amount is invested at the start of the first year and each year's return is applied in turn; nothing is added or withdrawn. CAGR is the geometric rate that turns the start into the end over the window shown; doubles every is ln 2 / ln(1 + CAGR); the multiple is that rate compounded for the chosen window length, rounded down so it never overstates. On a log scale equal vertical distances are equal percentage changes, which is the only way six assets that end three orders of magnitude apart fit on one chart. With inflation-adjusted on (shared with every tab) each year's return is deflated by that year's CPI and every value reads in today's dollars. S&P 500, T-Bill, T-Bond and Baa are total returns (income reinvested). Real Estate is a house-price index with no rent, and Gold has no yield — they sit on the same chart, but they are not the same kind of return.
| Asset | Ending value | CAGR | Doubles every | Multiple |
|---|
What would recurring contributions to the S&P 500 (with dividends reinvested) be worth, using actual historical annual returns?
—
Returns are S&P 500 total returns (price + dividends reinvested), 1928–2025. The model places each of your N contributions at the middle of its period (e.g., monthly → 12 contributions, one mid-month each), grows each to year-end by the appropriate fraction of that year's S&P return, and compounds the running balance year over year. Frequency now matters: weekly modestly outperforms monthly which outperforms annual, because dollars in the market earlier get more time to grow (Jensen's inequality on convex compounding). You choose the end year (default = the latest year with data) and the number of years; the start year is computed as End year − Years + 1. That's why you can't pick a future year — there's no data past 2025 yet. Inflation-adjusted mode deflates each year's return by that year's actual CPI (Dec/Dec, same data file), so the whole simulation runs in constant purchasing power, anchored to today (the latest data year): the contribution amount means that many of today's dollars every year (back in 1996 that was a smaller nominal amount), ending balances read directly in today's dollars, and Return/yr and IRR become real rates — the nominal hockey stick flattens to what you could actually buy.
Runs everything in today's purchasing power: your contribution means today's dollars every year, each year's return is deflated by that year's actual CPI, and cash under the mattress visibly loses to inflation.
| Option | Ending balance | Total growth | Return/yr | Your IRR |
|---|
Same monthly amount, same return — one investor starts today, the other waits. The gap is not the missed contributions; it is the years of compounding those contributions never get.
Defaults to the same amount as the early starter. Two ways to catch up:
Put in the same dollars overall, in fewer years.
End level with the early starter.
A constant annual return, compounded monthly, with each contribution made at the end of its month: FV = c · ((1 + i)n − 1) / i, where i = (1 + r)1/12 − 1 and n is the number of months invested. The dropdown offers each asset's historical compound annual growth rate over 1928–2025 from the same data as the other tabs (real rates when inflation-adjusted is on); the Compounding Calculator tab is where you see the actual year-by-year path. A constant rate hides the sequence-of-returns effect on purpose: this tab isolates time. The catch-up amount is c · F(nearly) / F(nlate) — the monthly contribution that makes the late starter's ending value equal to the early starter's.
| Start now | Start later | Difference | |
|---|---|---|---|
| Monthly contribution | — | — | — |
| Years contributing | — | — | — |
| Total contributed | — | — | — |
| Ending value | — | — | — |
One bar per starting year. Bar height is the annualized return you'd have earned over the next N years. Drag N and watch the red bars disappear.
Each bar shows the geometric annualized return (CAGR) over the N-year window starting at that year — exactly what a buy-and-hold investor would have earned if they bought the S&P 500 at the start of that year and sold N years later, dividends reinvested. The x-axis stays anchored to the full dataset (1928 onward); starting years for which a full N-year window doesn't fit simply have no bar. The headline callout computes the smallest N at which no starting year in the dataset ended negative — the empirical answer to "how long until time wins?" With the inflation-adjusted toggle on (shared with Tab 1), each year's return is deflated by that year's actual CPI, so the bars are real CAGRs — and the fully-green threshold moves out: in purchasing-power terms, red bars survive much longer than the nominal chart suggests.