What is CAGR?
Compound Annual Growth Rate (CAGR)is the year-over-year growth rate that would take an investment from its starting value to its ending value if it grew at the same rate every year. It's the most common way to compare the performance of investments, businesses, or any time series with very different start/end values and durations.
CAGR doesn't tell you the actual path the value took — it could have gone up 100% in year one and down 30% in year two but still produce the same CAGR as a smooth steady climb. What it does give you is one apples-to-apples number per series, which is exactly what you need when comparing options.
How to calculate CAGR in Excel
There are three ways to compute CAGR in Excel. All three return the same answer.
Method 1 — the manual formula
Paste this into any cell, replacing the values with your own (or pointing at cells that contain them):
=((FinalValue/InitialValue)^(1/Years))-1With cell references — assuming Initial in A2, Final in B2, Years in C2:
=((B2/A2)^(1/C2))-1Format the result cell as Percentage (Ctrl + Shift + 5) or it will display as a decimal like 0.1487 instead of 14.87%.
Method 2 — the RRI() function
Excel 2013+ ships with RRI (Equivalent Interest Rate) which calculates exactly this:
=RRI(Years, InitialValue, FinalValue)Cleaner syntax, identical result. Use this if you're on a modern Excel — the manual formula is the fallback for older versions and Google Sheets.
Method 3 — using POWER()
Some teams prefer the explicit POWER function instead of the ^ operator:
=POWER(B2/A2, 1/C2) - 1Common errors and how to fix them
#VALUE! or #NUM! error
Almost always means one of the input cells is text-typed instead of number-typed. Common cause: the cell looks like a number (e.g. 10,000) but was pasted from a web page or PDF and contains invisible “ghost” characters (non-breaking spaces, zero-width characters) that Excel treats as non-numeric. The cell displays the number but the formula can't parse it.
Quick fix
If your CAGR formula is returning #VALUE! and the input cells look numeric, the issue is almost always invisible characters. Run the source through our Spreadsheet Cleaner — its Deep Clean pass strips non-breaking spaces, zero-width characters, and control codes that TRIM() alone can't catch.
Negative or imaginary CAGR
If the final value is less than the initial value, CAGR will be negative — that's mathematically correct (the investment shrank). However, if you have a negative final value(an actual loss past zero, like a fund going into negative net worth), the math breaks because raising a negative number to a fractional power produces complex numbers. CAGR isn't the right metric here; consider absolute return instead.
Division-by-zero (#DIV/0!)
If your initial value is zero or your number of years is zero, the formula divides by zero. There's no meaningful CAGR for a series that started at $0 (the growth is mathematically infinite) — switch to a different metric like absolute gain or percent-of-target.
Off-by-one years
A common subtle mistake: if your data spans from January 2020 (start) to January 2025 (end), that's 5 years, not 6 — even though six different calendar years appear in the data. CAGR uses the number of elapsed periods, not the count of timestamps.
When to use CAGR (and when not to)
Use CAGR when:
- Comparing the long-run growth of two or more options (investments, business units, products) over different durations.
- Reporting historical performance in a single summary number.
- Projecting forward, assuming a smooth continued growth trend.
Don't use CAGR when:
- You need to communicate risk or volatility. CAGR smooths everything out and can hide a wild ride.
- The series includes negative end values or starts at zero.
- Cash flows happen mid-period — use IRR (Internal Rate of Return)instead, via Excel's
IRR()orXIRR().