Как рассчитать прогноз продаж в Excel: от линейной регрессии до машинного обучения

Почему Excel остаётся лучшим инструментом для прогнозирования продаж

В эпоху сложных CRM-систем и облачных аналитических платформ Excel продолжает удерживать пальму первенства среди инструментов для прогнозирования продаж. Причина проста: гибкость, доступность и возможность адаптировать расчёты под специфику любого бизнеса — от маленького магазина до крупного дистрибьютора. В отличие от "чёрных ящиков" автоматизированных сервисов, здесь вы видите все формулы, можете их корректировать и понимаете, как именно формируется итоговая цифра.

Однако многие предприниматели и аналитики допускают критическую ошибку: используют Excel как калькулятор, вручную вводя коэффициенты роста или копируя данные прошлого года. Такой подход даёт иллюзию прогноза, но на деле превращает его в простую экстраполяцию без учёта сезонности, трендов и внешних факторов. В этой статье разберём 5 методов — от базовых до продвинутых — которые позволят делать прогнозы с точностью до 90% и выше.

Важно: все примеры в статье адаптированы для Excel 2019–2023 и Microsoft 365. Если вы работаете в Google Таблицах, majority функций будут работать аналогично, но синтаксис некоторых формул (например, FORECAST.ETS) может отличаться.

Метод 1: Простая линейная экстраполяция (для стабильного бизнеса)

Линейная экстраполяция — самый быстрый способ спрогнозировать продажи, если ваш бизнес развивается равномерно, без резких скачков. Метод подходит для продуктов с устойчивым спросом: канцтовары, коммунальные услуги, бакалея. Суть проста: Excel "продлевает" тренд прошлых периодов в будущее, рисуя прямую линию на графике.

Чтобы рассчитать прогноз:

  1. Создайте таблицу с данными продаж по месяцам (столбец A — даты, столбец B — суммы продаж).
  2. Выделите диапазон данных и нажмите Вставка → График → Точечная с накоплением.
  3. Щёлкните правой кнопкой по линии графика → Добавить линию тренда → выберите Линейная.
  4. В настройках линии тренда поставьте галочку Показать уравнение на диаграмме.
  5. Используйте формулу из уравнения (вида y = 1,2x + 500), чтобы рассчитать будущие значения.

Пример формулы для прогноза на следующий месяц (если x — порядковый номер месяца):

=1.2*(МЕСЯЦ(ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ())+1;1))-МЕСЯЦ(ДАТАНАЧ($A$2)))+500
⚠️ Внимание: Линейная экстраполяция даёт грубые результаты, если в данных есть сезонные колебания (например, рост продаж перед Новым годом). В таком случае ошибка прогноза может достигать 30–40%.
📊 Какой метод прогнозирования вы используете чаще?
Линейная экстраполяция
Скользящее среднее
Экспоненциальное сглаживание
Модели регрессии
Другой

Метод 2: Скользящее среднее для сглаживания колебаний

Если ваши продажи нестабильны (например, в ритейле одежды или туризме), линейный тренд будет давать искажённые результаты. Здесь поможет скользящее среднее — метод, который "сглаживает" резкие скачки, усредняя данные за несколько периодов. Чем больше период усреднения, тем плавнее линия прогноза, но тем меньше она реагирует на реальные изменения рынка.

Как настроить скользящее среднее в Excel:

  1. Добавьте новый столбец C с заголовком "Скользящее среднее".
  2. В ячейку C4 введите формулу:
    =СРЗНАЧ(B2:B4)

    (где B2:B4 — первые 3 месяца продаж).

  3. Растяните формулу вниз. Для прогноза на будущие периоды используйте последнее рассчитанное значение.

Оптимальный период усреднения зависит от бизнеса:

  • 📦 FMCG и продукты: 3–4 месяца (быстро реагируют на изменения спроса).
  • 🏢 B2B и оборудование: 6–12 месяцев (длинный цикл продаж).
  • 🎁 Сезонные товары: 12 месяцев (учитывает годовой цикл).

Удалите выбросы (аномально высокие/низкие продажи)

Заполните пропуски в данных (используйте среднее или медиану)

Преобразуйте даты в числовой формат (функция ДАТАЗНАЧ)

Проверьте данные на нормальное распределение (используйте гистограмму)-->

Метод 3: Экспоненциальное сглаживание (для динамичных рынков)

Экспоненциальное сглаживание — это "умное" скользящее среднее, где новым данным присваивается больший вес, чем старым. Метод идеален для рынков с быстро меняющимся спросом (например, электроника, модные товары). В Excel для этого есть встроенная функция FORECAST.ETS (в старых версиях — ПРЕДСКАЗ.ЕТС).

Как использовать FORECAST.ETS:

=FORECAST.ETS(дата_прогноза; диапазон_значений; диапазон_даты; [сезонность]; [заполнение_данных]; [агрегация])

Пример для прогноза на январь 2026 года (если данные в A2:B25):

=FORECAST.ETS(ДАТА(2026;1;1); $B$2:$B$25; $A$2:$A$25; 12; 1; 1)

Расшифровка параметров:

ПараметрЗначениеРекомендация
сезонность12 (месяцы), 4 (кварталы), 1 (нет сезонности)Для ритейла обычно 12
заполнение_данных1 (автоматически заполнять пропуски)Всегда ставьте 1
агрегация1 (среднее), 2 (сумма), 3 (счёт)Для продаж — 2 (сумма)
⚠️ Внимание: Функция FORECAST.ETS игнорирует внешние факторы (акции конкурентов, изменения законодательства). Если такой фактор известен заранее (например, повышение НДС), скорректируйте прогноз вручную, умножив результат на поправочный коэффициент.

Метод 4: Множественная регрессия (учёт нескольких факторов)

Если продажи зависят не только от времени, но и от других переменных (например, рекламный бюджет, цена конкурентов, погодные условия), нужна множественная регрессия. Этот метод строит уравнение, где продажи (Y) зависят от нескольких X-факторов.

Алгоритм расчёта:

  1. Соберите данные по всем влияющим факторам в отдельные столбцы (например, C — рекламный бюджет, D — средняя температура).
  2. Установите надстройку Пакет анализа (Файл → Параметры → Надстройки → Пакет анализа).
  3. Запустите Анализ данных → Регрессия, укажите:
    • Входной интервал Y: ваши продажи.
    • Входной интервал X: все факторы.
  • Excel выдаст таблицу с коэффициентами. Используйте их для формулы прогноза:
    =коэф1*X1 + коэф2*X2 + ... + коэфN*XN + konst
  • Пример уравнения для магазина мороженого:

    =1200 + 5.2*рекламный_бюджет - 30*средняя_температура + 8.7*количество_акций

    Ключевые метрики из отчёта регрессии, на которые стоит обратить внимание:

    • 📊 R-квадрат: показывает, какой % вариации продаж объясняется моделью (хорошо, если > 0.7).
    • 🔍 P-значение: если > 0.05, фактор можно исключить из модели.
    • ⚖️ Стандартная ошибка: чем меньше, тем точнее прогноз.
    Как интерпретировать коэффициенты регрессии?

    Коэффициент 5.2 перед рекламный_бюджет означает, что при увеличении бюджета на 1 единицу продажи вырастут на 5.2 единицы (при прочих равных).

    Отрицательный коэффициент (-30 перед температурой) говорит об обратной зависимости: чем теплее, тем меньше продаж мороженого (что контринтуитивно, но может объясняться, например, закрытием магазина в жару).

    Метод 5: Прогнозирование с помощью Power Query и Power Pivot (для больших данных)

    Если у вас тысячи строк данных (например, продажи по SKU в сети магазинов), обычные формулы Excel будут тормозить. Здесь поможет связка Power Query (для очистки данных) + Power Pivot (для построения моделей). Этот метод требует навыков работы с DAX, но даёт несоизмеримо более точные результаты.

    Пошаговая инструкция:

    1. Импортируйте данные в Power Query (Данные → Получить данные → Из таблицы/диапазона).
    2. Очистите данные:
      • Удалите дубликаты (Главная → Удалить строки → Дубликаты).
      • Замените ошибки на null (Преобразовать → Заменить значения).
      • Добавьте столбец с номером месяца (Добавить столбец → Индекс → На основе 1).
  • Загрузите данные в модель Power Pivot (Закрыть и загрузить → Загрузить в модель).
  • Создайте меру для прогноза с помощью функции FORECAST.LINEAR в DAX:
    
    

    Прогноз =

    FORECAST.LINEAR(

    MAX('Календарь'[Индекс]),

    SUM('Продажи'[Сумма]),

    'Календарь'[Индекс]

    )

  • Преимущества Power Pivot:

    • 🚀 Обрабатывает миллионы строк без тормозов.
    • 🔄 Автоматически обновляет прогноз при изменении исходных данных.
    • 📅 Поддерживает сложные временные иерархии (дни → недели → месяцы).
    ⚠️ Внимание: Power Pivot доступен только в Excel 2013+ и Microsoft 365. В Excel 2010 нужно устанавливать надстройку отдельно. Также убедитесь, что ваши данные не содержат #N/A — это приведёт к ошибкам в DAX-мерах.

    Типичные ошибки при прогнозировании в Excel и как их избежать

    Даже опытные аналитики допускают ошибки, которые искажают прогнозы. Вот самые распространённые:

    1. Игнорирование выбросов. Резкий скачок продаж из-за акции или сбоя в данных искажает тренд. Решение: используйте МЕДИАНА вместо СРЗНАЧ или удаляйте аномалии вручную.
    2. Неучёт сезонности. Прогноз на лето по зимним данным обречён на провал. Решение: всегда проверяйте данные на сезонные паттерны (используйте FORECAST.ETS с параметром сезонности).
    3. Переобучение модели. Слишком сложная модель (например, регрессия с 20 факторами) может "подогнаться" под исторические данные, но даст неточный прогноз. Решение: используйте правило "один фактор на 10 наблюдений".
    4. Отсутствие валидации. Прогноз считается хорошим, если ошибка на тестовых данных не превышает 10%. Решение: оставляйте последние 3–6 месяцев данных для проверки модели.

    Проверьте свой прогноз на адекватность с помощью этих метрик:

    МетрикаФормулаНормальное значение
    Средняя абсолютная ошибка (MAE)=СРЗНАЧ(ABS(фактические - прогноз))< 10% от средних продаж
    Среднеквадратичная ошибка (RMSE)=КОРЕНЬ(СРЗНАЧКВ(фактические - прогноз))< 15% от средних продаж
    Процент ошибки (MAPE)=СРЗНАЧ(ABS((фактические - прогноз)/фактические))*100< 10%

    FAQ: Ответы на частые вопросы о прогнозировании в Excel

    Можно ли сделать прогноз продаж в Excel без формул?

    Да, можно использовать встроенные инструменты:

    1. Выделите данные и нажмите Вставка → График → Линия.
    2. Добавьте линию тренда (Щёлкните по линии → Добавить линию тренда).
    3. В настройках линии тренда выберите Показать прогноз вперёд на N периодов.

    Минус этого метода: вы не увидите формулу расчёта и не сможете её скорректировать.

    Как учесть в прогнозе планируемое повышение цен?

    Если вы знаете, что цены вырастут на 10%, умножьте итоговый прогноз на коэффициент 1.1. Например:

    =FORECAST.ETS(...) * 1.1

    Для более точного расчёта используйте эластичность спроса (на сколько % изменится спрос при росте цены на 1%). Формула:

    =FORECAST.ETS(...)  (1 + (10%  эластичность))

    Пример: если эластичность = -0.5 (спрос упадет на 0.5% при росте цены на 1%), то при повышении цен на 10% продажи сократятся на 5%:

    =FORECAST.ETS(...)  (1 + (10%  -0.5)) = FORECAST.ETS(...) * 0.95
    Какая функция лучше: FORECAST.ETS или TREND?

    FORECAST.ETS (или ПРЕДСКАЗ.ЕТС) — современная функция, которая автоматически учитывает сезонность и подбирает лучшую модель (аддитивную или мультипликативную). TREND — устаревшая линейная модель без учёта сезонности.

    Используйте FORECAST.ETS во всех случаях, кроме:

    • Если вам нужна обратная совместимость с Excel 2010.
    • Если вы точно знаете, что данные линейны и без сезонности.
    Как экспортировать прогноз из Excel в Power BI?

    Чтобы перенести прогноз в Power BI:

    1. Сохраните файл Excel с данными и прогнозом.
    2. В Power BI нажмите Получить данные → Excel и выберите ваш файл.
    3. Импортируйте таблицу с прогнозом как отдельную сущность.
    4. Свяжите её с календарём по полю Дата.

    Совет: в Power BI можно визуализировать прогноз с помощью линии прогноза в графиках (настройка Аналитика → Линия прогноза).

    Можно ли автоматизировать обновление прогноза?

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

    1. Power Query: настройте автоматическое обновление данных из источника (например, 1С или Google Analytics).
    2. VBA: запишите макрос, который будет пересчитывать прогноз при открытии файла:
      
      

      Sub ОбновитьПрогноз()

      ActiveWorkbook.RefreshAll

      Calculate

      End Sub

    3. Сохраните файл как .xlsm (с поддержкой макросов).

    Для облачного обновления используйте Office Scripts в Excel Online.