CalcOpenly

ROI and CAGR calculator

Calculate ROI (total return) and CAGR (compound annual growth rate) from an investment's start and end values, over years or between two dates.

Updated Checked against 6 worked examples

$
$
$
Dividends, interest or rent you took out. It is added to the final value.
years
Try
CAGR (annualized return)
%
CAGR (annualized return): 10.53 %
Shown to up to 2 decimal places, half-up
Total return (ROI)
65%
Gain
$6,500.00
Growth multiple
1.6500×
Holding period
5years

Turning $10,000.00 into $16,500.00 over 5 years is a total return of 65%, the same as 10.53% a year compounded.

Growth path

$0$5,000$10K$15K012345Years1.65×
Compounding at the CAGRStraight line
Value at the CAGR (6 rows)
YearValueGrowth since previous row
0$10,000.00$0.00
1$11,053.42$1,053.42
2$12,217.82$1,164.39
3$13,504.87$1,287.05
4$14,927.50$1,422.63
5$16,500.00$1,572.50
How it's calculated S
  1. Total value received

    Vend+I=16,500+0=16,500.00V_{end} + I = 16{,}500 + 0 = 16{,}500.00
  2. Total return

    ROI=16,500.00−10,000.0010,000.00=65.0000%ROI = \frac{16{,}500.00 - 10{,}000.00}{10{,}000.00} = 65.0000\%
  3. Holding period

    t=5 yearst = 5\ \text{years}
  4. Compound annual growth rate

    CAGR=(16,500.0010,000.00)1/5−1=10.5342%CAGR = \left(\frac{16{,}500.00}{10{,}000.00}\right)^{1/5} - 1 = 10.5342\%

    Income is treated as received at the end; reinvesting it earlier would change the rate slightly.

About the ROI and CAGR calculator

ROI is the total gain as a share of the amount invested: (final value + income − amount invested) ÷ amount invested. CAGR turns that into a steady yearly rate, (ending value ÷ amount invested)^(1/years) − 1: the rate that, compounded every year, would reach the same end value. Between two dates, the holding period is the actual number of days divided by 365.25, or by 365 as Excel's XIRR does.

With the defaults, 10,000 growing to 16,500 in 5 years is a 65% total return and a CAGR of 10.53% a year. Dividing 65% by 5 years gives 13%, which overstates the yearly rate because it ignores compounding.

Both figures treat the investment as one payment in and one value out. If you added or withdrew money along the way, use the XIRR calculator, which weights each cash flow by its date.

Worked examples

10,000 to 16,500 in 5 years

Amount invested
10,000
Final value
16,500
Income received along the way
0
Holding period from
Years
Years held
5 years
Total return (ROI)
65%
CAGR (annualized return)
10.53423%
Gain
6,500.00

Checked against: Python decimal: 1.65^(1/5) − 1 = 10.5342296%

Doubling between two dates

Amount invested
10,000
Final value
20,000
Income received along the way
0
Holding period from
Dates
Bought on
2020-01-01
Valued on
2025-01-01
Days per year
365.25 (average year)
Holding period
5.002053 years
CAGR (annualized return)
14.863299%
Total return (ROI)
100%

Checked against: Python datetime: 1,827 days / 365.25 = 5.0020534 years; 2^(1/5.0020534) − 1 = 14.8632986%

Exactly one year, 365-day basis

Amount invested
100
Final value
110
Income received along the way
0
Holding period from
Dates
Bought on
2023-01-01
Valued on
2024-01-01
Days per year
365 (as Excel XIRR)
Holding period
1 year
CAGR (annualized return)
10%
Total return (ROI)
10%

Checked against: 365 days / 365 = 1 year, so CAGR equals ROI (definition)

Income taken out counts toward the return

Amount invested
1000
Final value
1100
Income received along the way
50
Holding period from
Years
Years held
2 years
Total return (ROI)
15%
CAGR (annualized return)
7.238053%

Checked against: Python decimal: √1.15 − 1 = 7.2380529%

Questions

How do you calculate ROI?

Divide the gain by the amount invested and multiply by 100: ROI = (final value + income − cost) ÷ cost × 100. An investment of 10,000 now worth 16,500 has an ROI of 6,500 ÷ 10,000 = 65%. Income you took out counts too: 1,000 that grew to 1,100 and paid 50 of dividends returned 15%.

How do you calculate CAGR?

Divide the ending value by the starting value, raise the result to the power 1 ÷ years, and subtract 1. For 10,000 growing to 16,500 in 5 years, 1.65^(1/5) − 1 = 10.53% a year. In Excel, =RRI(5, 10000, 16500) returns the same rate.

What is the difference between ROI and CAGR?

ROI measures the whole gain and ignores time; CAGR spreads it over the years as a compound rate. A 65% ROI is a CAGR of 10.53% if it took 5 years but only 5.14% if it took 10 years. Use CAGR to compare investments held for different lengths of time.

Is CAGR the same as the average annual return?

No. The average of yearly returns ignores compounding, so it overstates the growth whenever returns vary. An investment that gains 50% one year and loses 50% the next has an average return of 0%, but it ends at 75% of its starting value, a CAGR of −13.40% a year.

Should I use CAGR for a holding period under a year?

With care, because CAGR assumes the same return would repeat for a full year. A 5% gain in 3 months annualizes to 1.05^4 − 1 = 21.55% a year, which says little about what the next nine months will bring. For short holdings the total return is the plainer figure.

How accurate is the ROI and CAGR calculator?

Accuracy depends on your inputs and the method's assumptions. Decimal arithmetic uses 50 significant digits, but estimates, numerical methods and source data can be less precise; the displayed rounding does not remove those limits. It is checked against 6 worked examples whose answers come from independent sources; for example, “10,000 to 16,500 in 5 years” is checked against Python decimal: 1.65^(1/5) − 1 = 10.5342296%.

Where does the method come from?

Microsoft Excel RRI function (equivalent interest rate for growth); CFA Institute — Quantitative Methods: The Time Value of Money (annualized returns).

About this calculator

ROI=Vend+I−V0V0,CAGR=(Vend+IV0)1/t−1ROI = \frac{V_{end} + I - V_0}{V_0},\qquad CAGR = \left(\frac{V_{end} + I}{V_0}\right)^{1/t} - 1

Sources

  1. Microsoft Excel RRI function (equivalent interest rate for growth)
  2. CFA Institute — Quantitative Methods: The Time Value of Money (annualized returns)

For planning only. Lenders, tax authorities and markets apply their own rounding, fees and rules; confirm figures with them before you commit.

Checked against references

6 worked examples with independently sourced answers ship with this calculator. They run in the test suite; you can run them here too.

Related calculators

Allow optional Google Analytics to measure page visits? Calculators work either way. Privacy and choices

Optional analytics: off.