# 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.

Интерактивная версия: https://www.calcopenly.com/ru/finance/roi-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.

## Входные данные

- **Amount invested**
- **Final value**
- **Income received along the way**: Dividends, interest or rent you took out. It is added to the final value.
- **Holding period from** (варианты: Годы, Даты)
- **Years held**
- **Bought on**
- **Valued on**
- **Days per year** (варианты: 365.25 (average year), 365 (as Excel XIRR))

## Результаты

- CAGR (annualized return) — основной результат
- Total return (ROI)
- Gain
- Growth multiple (×)
- Holding period (years)

## Формула

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

## Примеры с решением

### 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 held: 5 years
- **Total return (ROI): 65%**
- **CAGR (annualized return): 10.53423%**
- **Gain: 6,500.00**
- Источник проверки: 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: Даты
- 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%**
- Источник проверки: 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: Даты
- 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%**
- Источник проверки: 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 held: 2 years
- **Total return (ROI): 15%**
- **CAGR (annualized return): 7.238053%**
- Источник проверки: Python decimal: √1.15 − 1 = 7.2380529%

### Microsoft RRI example

- Amount invested: 10,000
- Final value: 11,000
- Income received along the way: 0
- Holding period from: Годы
- Years held: 96 years
- **CAGR (annualized return): 0.099331%**
- Источник проверки: Microsoft RRI documentation: RRI(96, 10000, 11000) = 0.0009933; Python decimal 0.0993307376%

### Total loss

- Amount invested: 1000
- Final value: 0
- Income received along the way: 0
- Holding period from: Годы
- Years held: 3 years
- **CAGR (annualized return): -100%**
- **Total return (ROI): -100%**
- **Growth multiple: 0.0000 ×**
- Источник проверки: 0^(1/3) − 1 = −1 (definition)

## Вопросы

### 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.

### Насколько точен «ROI and CAGR calculator»?

Точность зависит от введённых данных и допущений метода. Десятичная арифметика использует 50 значащих цифр, но оценки, численные методы и исходные данные могут быть менее точными; округление на экране не устраняет эти ограничения. Решённые примеры, проверенные по независимым источникам: 6. Например, «10,000 to 16,500 in 5 years» проверяется по источнику Python decimal: 1.65^(1/5) − 1 = 10.5342296%.

### Откуда взята методика?

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

## Источники

- [Microsoft Excel RRI function (equivalent interest rate for growth)](https://support.microsoft.com/office/rri-function-6f5822d8-7ef1-4233-944c-79e8172930f4)
- CFA Institute — Quantitative Methods: The Time Value of Money (annualized returns)

_Только для планирования. Кредиторы, налоговые органы и рынки применяют собственные правила округления, комиссии и нормы; уточните у них суммы, прежде чем брать обязательства._
