How this works
Two numbers matter when judging an investment: the **total return** (how much money you ended with vs put in) and the **annualised return** or CAGR (the constant rate that would have produced the same result). A 50% total return over 2 years (CAGR ~22.5%) is much better than 50% over 10 years (CAGR ~4.1%). Always quote the CAGR when comparing investments held for different durations.
The calculator handles a starting balance plus net contributions over the period. Contributions are treated as added at the midpoint of the holding period — a standard approximation that's accurate to ~0.5% for most cases versus a true XIRR (which requires every single cash flow date and is overkill for back-of-envelope work). For irregular contribution schedules — say, lump sums in different years — feed each year separately into a tool that handles XIRR; the answer here will be slightly off.
The formula itself: profit = end_value − start_value − net_contributions. Total return = profit / (start_value + net_contributions / 2). CAGR = (end_value / effective_start)^(1/years) − 1, where effective_start adjusts for the midpoint contribution. The output gives all three. Use total return for the "what did this investment make me" framing; use CAGR for "how does it compare to bonds, an index fund, or a savings account."
The formula
net_contributions = sum of money you added minus money you withdrew during the holding period (positive for net deposits, negative for net withdrawals). years can be fractional (e.g. 2.5 for 2 years 6 months).
Example calculation
- Start $10,000, contributed $5,000 net, ended at $20,000 after 4 years.
- Profit = 20,000 − 10,000 − 5,000 = $5,000. Effective start = 10,000 + 2,500 = $12,500. Total return ≈ 40%. CAGR = (20,000 / 12,500)^0.25 − 1 ≈ 12.5%/yr.
Frequently asked questions
Why isn't the CAGR just total_return / years?
Because returns compound. A 100% total return over 2 years isn't 50%/year — it's 41.4%/year, since 1.414 × 1.414 = 2.0. The CAGR formula is the n-th root of the wealth multiplier. Linear "average return" (50%) is mathematically wrong for compounded growth and overstates the true rate when returns are positive (and understates it when negative). Always use CAGR for comparing investments.
Does this work for losing investments?
Yes — profit goes negative, and CAGR comes back as a negative percentage. A start of $20K, no contributions, ending at $14K after 3 years gives total return −30% and CAGR ≈ −11.2%/yr. The formula handles this correctly. The only edge case is if effective_start is zero or negative (you withdrew more than you put in early on), in which case CAGR is undefined and the calculator returns null.
How does this differ from XIRR?
XIRR (extended internal rate of return) is the precise formula — it weights each cash flow by its actual date. The "midpoint approximation" used here treats all contributions as if they happened at the period midpoint, which is fast and accurate within ~0.5% for evenly-spaced or small contributions. For a portfolio with a large lump-sum injection in year 1 vs year 8, the midpoint approximation will overstate or understate the CAGR by 1–3 percentage points. Use Excel's XIRR function or a tool that takes per-date cash flows when this matters.