Средний темп роста в Excel: формулы, примеры и лайфхаки для анализа динамики

Почему стандартное среднее арифметическое не подходит для анализа роста

Вы когда-нибудь пробовали рассчитать средний прирост продаж, доходов или аудитории, просто сложив все проценты и разделив на количество периодов? Если да, то ваши результаты скорее всего искажены. Дело в том, что обычное среднее арифметическое не учитывает эффект сложных процентов — когда каждый новый период рост рассчитывается от уже увеличенной базы. Например, если в первый год продажи выросли на 50%, а во второй — упали на 30%, простое среднее покажет +10%, хотя реально вы остались на уровне 95% от исходной точки.

Для корректного анализа динамики используется средний темп роста (CAGR — Compound Annual Growth Rate). Этот показатель показывает реальную годовую доходность инвестиций или бизнес-метрик с учётом реинвестирования, что критично для долгосрочных прогнозов. В Excel его можно посчитать несколькими способами — от ручного ввода формулы до использования встроенных функций. Далее разберём каждый метод с примерами из практики.

Важно понимать разницу между:

  • 📈 Абсолютным приростом (разница между конечным и начальным значением)
  • 📊 Темпом роста (процентное изменение относительно базового периода)
  • 🔄 Средним темпом роста (усреднённый показатель с учётом сложного процента)

📊 Какой метод расчёта темпа роста вы используете чаще?
Ручной ввод формулы
Функция СРГЕОМ
Power Query
Другой инструмент

Формула среднего темпа роста: математическая основа

Классическая формула CAGR выглядит так:

= (Конечное значение / Начальное значение)^(1 / Количество периодов) - 1

Где:

  • 🔢 Конечное значение — данные на последний период (например, продажи в 2026 году)
  • 🔙 Начальное значение — данные на стартовый период (например, продажи в 2020 году)
  • 📅 Количество периодов — число лет, кварталов или месяцев между значениями

Например, если в 2020 году ваш доход составлял 100 тыс. руб., а в 2026 — 200 тыс. руб., то среднегодовой темп роста составит:

= (200000 / 100000)^(1/4) - 1 = 1,1892 - 1 = 0,1892 → 18,92%

Этот результат означает, что ваш доход рос в среднем на 18,92% в год, а не на 25% (как могло бы показаться при делении 100% прироста на 4 года). Разница возникает именно из-за кумулятивного эффекта.

Почему нельзя использовать СРЗНАЧ для процентов?

Потому что среднее арифметическое проигнорирует базовый эффект. Например, рост на 100% и падение на 50% в среднем дадут +25%, хотя реально вы вернётесь к исходной точке (100 → 200 → 100).

Способ 1: Ручной расчёт через степень (POWER)

Самый универсальный метод — использовать функцию СТЕПЕНЬ (или POWER в английской версии). Формула будет такой:

= СТЕПЕНЬ(конечное_значение / начальное_значение; 1/количество_периодов) - 1

Пример для данных в таблице:

ГодПродажи, тыс. руб.
2020100
2021120
2022150
2023180
2026220

Формула для ячейки с результатом:

= СТЕПЕНЬ(B6/B2; 1/(B6-B1)) - 1

Где:

  • 📌 B6 — продажи в 2026 году (220 тыс.)
  • 📌 B2 — продажи в 2020 году (100 тыс.)
  • 📌 B6-B1 — разница лет (2026–2020=4)

Используются абсолютные ссылки ($B$2) если формула копируется|Количество периодов посчитано правильно (годы/кварталы)|Начальное значение не равно нулю|Данные отсортированы по времени-->

⚠️ Внимание: Если начальное или конечное значение равно нулю или отрицательно, функция вернёт ошибку #ЧИСЛО!. В таких случаях используйте метод логарифмов (см. следующий раздел).

Способ 2: Логарифмический метод (для отрицательных значений)

Когда данные содержат нули или отрицательные числа, степенная функция ломается. На помощь приходит натуральный логарифм (LN). Формула преобразуется так:

= EXP(LN(конечное_значение) - LN(начальное_значение)) / количество_периодов

На практике это выглядит как:

= EXP((LN(B6) - LN(B2)) / (B6-B1)) - 1

Преимущества метода:

  • ✅ Работает с нулевыми и отрицательными значениями (если конечное значение того же знака, что и начальное)
  • ✅ Точность выше за счёт избегания округлений при возведении в степень
  • ✅ Легко адаптируется для расчёта между любыми двумя точками ряда

Например, если в 2020 году у вас был убыток −100 тыс. руб., а в 2026 — прибыль 50 тыс. руб., классическая формула даст ошибку, а логарифмическая покажет реальный темп сокращения убытков.

Способ 3: Функция СРГЕОМ (геометрическое среднее)

В Excel есть встроенная функция СРГЕОМ (GEOMEAN), которая рассчитывает среднее геометрическое — математическую основу CAGR. Однако её нужно правильно адаптировать:

= СРГЕОМ(массив_коэффициентов_роста) - 1

Шаги для использования:

  1. Посчитайте коэффициенты роста для каждого периода: =B3/B2, =B4/B3 и т.д.
  2. Выделите диапазон с этими коэффициентами.
  3. Примените СРГЕОМ и отнимите 1, чтобы получить процент.

Пример для нашей таблицы:

= СРГЕОМ(B3:B6/B2:B5) - 1
⚠️ Внимание: Функция СРГЕОМ игнорирует текстовые значения и нули, но если в диапазоне есть отрицательные числа, она вернёт ошибку. Для таких случаев предварительно используйте АБС или логарифмический метод.

Типовые ошибки и как их избежать

Даже опытные пользователи Excel допускают ошибки при расчёте CAGR. Вот самые распространённые:

  • 🔴 Путают количество периодов: Если данные за 2020–2026 годы, количество периодов — 4 (2026−2020), а не 5.
  • 🔴 Используют простые проценты: Складывают годовой рост (10% + 15% + 20%) и делят на 3, вместо геометрического усреднения.
  • 🔴 Игнорируют инфляцию: CAGR показывает номинальный рост. Для реального темпа нужно вычесть инфляцию.
  • 🔴 Не проверяют знаки: Отрицательное начальное и положительное конечное значение требуют корректировки формулы.

Чтобы проверить правильность расчёта, используйте обратную проверку:

= начальное_значение * (1 + CAGR)^количество_периодов

Результат должен совпасть с конечным значением (с учётом округлений).

Практическое применение: Анализ бизнес-показателей

Средний темп роста незаменим в следующих сценариях:

  • 📈 Финансовое планирование: Прогнозирование доходности портфеля инвестиций.
  • 🛒 Маркетинг: Оценка динамики продаж по каналам (например, рост трафика из Instagram).
  • 🏢 HR-аналитика: Расчёт среднегодового увеличения зарплат или текучести кадров.
  • 🌍 Макроэкономика: Сравнение ВВП стран с учётом сложного процента.

Пример из практики: Компания хочет оценить эффективность рекламной кампании за 3 года. Данные по лидам:

ГодЛиды, шт.Темп роста
20211 000
20221 500+50%
20231 800+20%
20262 500+38,9%

Простое среднее темпа роста: (50 + 20 + 38,9)/3 = 36,3%. Но CAGR покажет:

= СТЕПЕНЬ(2500/1000; 1/3) - 1 = 35,7%

Разница в 0,6% может показаться незначительной, но на больших суммах или долгих периодах это тысячи долларов.

FAQ: Ответы на частые вопросы

Можно ли рассчитать CAGR для месячных данных?

Да, но количество периодов должно быть в месяцах. Например, для данных с января 2023 по июнь 2026 (18 месяцев) формула будет:

= СТЕПЕНЬ(конечное/начальное; 1/18) - 1

Чтобы перевести месячный CAGR в годовой, используйте:

= (1 + месячный_CAGR)^12 - 1
Что делать, если в данных есть пропущенные периоды?

Восстановите пропущенные значения с помощью линейной интерполяции или используйте только доступные точки. Например, для данных за 2020 и 2023 годы (пропущены 2021–2022) берите количество периодов = 3.

Альтернатива — рассчитать CAGR для каждого доступного интервала отдельно, а затем усреднить результаты.

Как визуализировать CAGR на графике?

Добавьте на график линию тренда по экспоненциальной функции:

  1. Постройте график по исходным данным.
  2. Кликните правой кнопкой по точке на линии → Добавить линию тренда.
  3. Выберите тип Экспоненциальная.
  4. В легенде укажите значение CAGR из расчётов.

Почему мой CAGR отличается от данных в отчёте?

Разница может возникнуть из-за:

  • Разных начальных/конечных точек (например, отчёт берёт данные с середины года).
  • Корректировки на инфляцию или сезонность.
  • Использования медианного темпа роста вместо среднего.

Уточните методику расчёта в отчёте или попробуйте воспроизвести их логику в Excel.

Можно ли автоматизировать расчёт CAGR для большого набора данных?

Да, с помощью Power Query или VBA:

  1. В Power Query добавьте пользовательский столбец с формулой CAGR.
  2. Или напишите макрос на VBA, который будет проходить по строкам и рассчитывать показатель.

Пример кода VBA для расчёта CAGR между двумя столбцами:

Function CalculateCAGR(startVal As Range, endVal As Range, periods As Integer) As Double

CalculateCAGR = (endVal.Value / startVal.Value) ^ (1 / periods) - 1

End Function