CAGR Calculator
CAGR turns an uneven multi-year change into a single smoothed annual rate — the constant percentage that would have produced the same result if it had compounded evenly every year. Enter a beginning value, an ending value and the number of years between them, or switch what you're solving for to work out the ending value or the years needed instead.
CAGR
0%
CAGR vs average annual return
Average annual return just adds up each year's percentage change and divides by the number of years. That arithmetic ignores compounding, and it can be badly misleading. Say a value starts at $100. It rises 50% in year one, to $150, then falls 50% in year two, to $75. Average those two numbers — (+50% + −50%) ÷ 2 — and you get 0%, which sounds like the value ended up back where it started. It didn't: $75 is 25% below the starting point.
The CAGR for those two years is (75 ÷ 100)^(1/2) − 1 ≈ −13.4%, and that's the number that actually describes what happened. Average return treats each year's percentage as if it applied to the same fixed base every time; CAGR compounds off whatever base each year actually started from, which is why the two figures pull apart whenever the year-to-year path isn't a straight line.
CAGR is a smoothed, backward-looking figure — not a forecast
CAGR describes a path already traveled. It doesn't predict what comes next, and it says nothing about how bumpy the ride was to get there. Two very different histories can produce an identical CAGR: a value that grew by the same percentage every single year, and one that spiked and dropped erratically but happened to land on the same ending number after the same number of years. Feed the calculator only a beginning value, an ending value and a time span, and it has no way to tell those two stories apart — the smoothed rate is a summary of the two endpoints, not a description of the years in between.
Two five-year paths that both start at $100 and end at $146.93 make the point concrete. One climbs at a flat 8% every year: $100 → $108 → $116.64 → $125.97 → $136.05 → $146.93. The other lurches the whole way: $100 → $180 → $110 → $200 → $130 → $146.93 — up sharply, down hard, up again, down again, then a small final move that happens to land on the same number. Both are an 8.0% CAGR over five years. The formula only ever sees the first and last figures on each list; everything that happened between them is invisible to it.
What counts as beginning and ending value, and why the time span matters
Beginning and ending value just need to be the same kind of number, measured the same way, at two points in time — a balance, a headcount, a subscriber count, a revenue figure. What people get wrong is the time span. Five years measured from one January 1st to the next January 1st, five years later, is a clean five-year period. Five years measured from a mid-year snapshot to another mid-year snapshot four years and seven months later is not five years — it's roughly 4.58 — and typing 5 into the years field anyway understates the true annual rate, because the same total growth gets spread across more periods than actually occurred.
The fix is to measure the actual elapsed time between the two dates the values were recorded, in years, and use that — decimals and all — rather than rounding to the nearest whole number. The two values themselves need to be measured the same way, too. Comparing a revenue figure that includes returns and discounts to an earlier one that didn't include them, or a headcount that counts contractors to an earlier count that didn't, produces a CAGR that partly reflects a change in bookkeeping rather than real growth — the formula can't tell the difference, so the inputs have to be consistent before the numbers ever reach it.
Beyond investing: revenue, customers, headcount
The formula doesn't care what the two numbers represent. A company with $2.1M in revenue three years ago and $3.4M now has grown revenue at a CAGR of (3.4 ÷ 2.1)^(1/3) − 1 ≈ 17.4% a year. A team that grew from 8 people to 22 over four years grew headcount at (22 ÷ 8)^(1/4) − 1 ≈ 28.8% a year. Same math, whether the two inputs are dollars, people, or subscriber counts — CAGR is just the smoothed annual rate connecting any two measurements of the same thing, taken at two points in time.
This is also why CAGR shows up in board decks and grant applications as often as it shows up in finance — it's a compact way to answer "how fast has this actually been growing," in one number, for anything that can be counted at two different times.
The partial-year problem
A span that isn't a whole number of years still works fine — enter it as a decimal rather than rounding. Two years and eight months is 2.67 years (8 ÷ 12 ≈ 0.67, added to the 2 full years), not 2 and not 3. Eighteen months is a cleaner 1.5 years. Rounding down to 2 years overstates the annual rate, because it credits two years' worth of compounding with growth that actually took longer to happen. Rounding up to 3 understates it the same way, in the other direction. The years field takes decimals for exactly this reason — for spans that need more precision than months allow, dividing the number of days by 365 works the same way.
Common questions
What is CAGR?
The constant yearly rate that would carry a beginning value to an ending value over a stated number of years, if it compounded evenly. CAGR = (ending ÷ beginning)^(1 ÷ years) − 1.
Why is CAGR different from average annual return?
Averaging yearly percentages ignores compounding. +50% then −50% averages to 0%, but the actual result is a 25% decline — a CAGR of about −13.4%. CAGR reflects what actually happened; a simple average doesn't.
Can CAGR be negative?
Yes, whenever the ending value is lower than the beginning value. It can't go below −100%, since that would mean the value fell past zero.
Does CAGR account for volatility?
No. It only uses the beginning value, the ending value, and the time between them. A steady climb and a wild swing that end at the same number over the same span produce the identical CAGR.
Can I use a partial year, like 2.5 years?
Yes — enter years as a decimal. Two years and eight months is 2.67 years. Rounding to the nearest whole year skews the result in one direction or the other.