Некорректное прогнозирование продаж или спроса в Excel часто вызвано тем, что пользователь игнорирует циклические колебания, заложенные в истории данных. Для получения объективной картины тренда необходимо математически исключить влияние повторяющихся факторов, таких как время года или день недели, используя методы декомпозиции. Если оставить эти данные без обработки, сезонная компонента исказит долгосрочную динамику, что приведет к ошибкам в планировании запасов и бюджета.
Процесс устранения сезонности базируется на вычислении коэффициентов, которые показывают, насколько фактическое значение отличается от базового уровня. В Excel эту операцию можно выполнить как с помощью встроенных функций статистики, так и применяя ручные формулы для аддитивной или мультипликативной модели. Выбор конкретного алгоритма зависит от того, растет ли амплитуда колебаний вместе с общим ростом ряда или остается постоянной.
Первым шагом в анализе всегда является визуальная оценка графика, где явно видны пики и спады, повторяющиеся через равные промежутки времени. После этого необходимо определить периодичность цикла, например, 12 месяцев для годовой сезонности или 7 дней для недельной. Только после фиксации периода можно приступать к расчету скользящей средней, которая станет основой для дальнейшего выравнивания.
Подготовка данных и визуальный анализ ряда
Прежде чем применять сложные формулы, убедитесь, что ваши исходные данные структурированы корректно: первый столбец должен содержать даты, а второй — числовые значения показателя. Отсутствие пропусков в хронологии критически важно, так как разрывы нарушат расчет скользящего среднего и приведут к смещению индексов. Если в ряду есть пропуски, их необходимо интерполировать или удалить перед началом работы.
Постройте линейчатый график или график с маркерами, чтобы оценить характер колебаний. Если амплитуда скачков увеличивается по мере роста общего уровня ряда, вам потребуется мультипликативная модель. В случае, когда колебания имеют примерно одинаковую силу независимо от тренда, применяется аддитивная модель. Этот выбор определит формулу, которую вы будете использовать для финальной десезонализации.
⚠️ Внимание: Не пытайтесь убрать сезонность, если в данных менее двух полных циклов. Для надежного расчета индексов требуется минимум 2-3 повторения периода, иначе результат будет статистически незначимым.
Проверьте тип данных в столбце с датами: Excel должен распознавать их как даты, а не как текст. Для этого можно использовать функцию =ЕЧИСЛО(ЯЧЕЙКА) или попытаться изменить формат ячейки. Если даты сбиты в текст, функции работы со временем, такие как МЕСЯЦ или ДЕНЬНЕД, вернут ошибку, что остановит весь процесс автоматизации.
Расчет скользящей средней для выделения тренда
Основой для выделения сезонной компоненты служит тренд, который в Excel проще всего аппроксимировать с помощью скользящей средней. Для месячных данных с годовой сезонностью период усреднения равен 12, однако из-за четного числа периодов возникает необходимость использования центрированной скользящей средней. Это требует двухэтапного расчета: сначала берется среднее за 12 месяцев, затем за 2 месяца, чтобы сдвинуть значение на середину периода.
Формула для расчета простой скользящей средней в ячейке C7 (при наличии заголовков и данных с 2-й строки) будет выглядеть следующим образом:
=СРЗНАЧ(B2:B13)
Однако для устранения сдвига фазы необходимо применить более сложную конструкцию. Центрирование позволяет привязать значение тренда к конкретному месяцу, а не к промежутку между месяцами. Без этой процедуры сезонные индексы будут рассчитаны со сдвигом, что сделает прогноз неверным.
- 📊 Используйте функцию
СРЗНАЧЕСЛИ, если нужно усреднять данные по конкретным месяцам за разные годы. - 📉 При расчете тренда игнорируйте первые и последние 6 месяцев, так как для них нельзя построить полную скользящую среднюю.
- 📈 Сохраняйте исходный ряд неизменным, создавая новые столбцы для всех промежуточных вычислений.
Формула центрированной скользящей средней
Для получения центрированного значения за июль (7-й месяц) нужно взять среднее от скользящих средних за июнь-июль и июль-август. Формула в Excel: =(СРЗНАЧ(B2:B13)+СРЗНАЧ(B3:B14))/2. Это сглаживает резкие скачки и центрирует тренд.
Вычисление сезонных индексов в Excel
После того как линия тренда (T) построена, можно перейти к выделению сезонной компоненты (S). Для этого фактическое значение ряда (Y) делится на значение тренда (Y/T) в случае мультипликативной модели, или вычитается из него (Y-T) для аддитивной. Полученные коэффициенты или разности показывают, насколько конкретный месяц выбивается из общего тренда.
Далее необходимо усреднить эти коэффициенты для каждого месяца года отдельно. Например, все значения января за три года усредняются, чтобы получить итоговый сезонный индекс января. В Excel для этого удобно использовать сводные таблицы или функцию СРЗНАЕСЛИ, группируя данные по месяцу.
| Месяц | Коэфф. 2021 | Коэфф. 2022 | Коэфф. 2023 | Средний индекс |
|---|---|---|---|---|
| Январь | 0.85 | 0.82 | 0.88 | 0.85 |
| Февраль | 0.90 | 0.89 | 0.91 | 0.90 |
| Март | 1.10 | 1.15 | 1.12 | 1.12 |
| Апрель | 1.05 | 1.08 | 1.06 | 1.06 |
Важно проверить сумму полученных индексов. Для мультипликативной модели сумма индексов за полный цикл (12 месяцев) должна быть равна 12 (или среднее значение равно 1). Если сумма отличается, необходимо провести нормировку, разделив каждый индекс на среднее арифметическое всех индексов. Это гарантирует, что десезонализированный ряд будет иметь тот же общий уровень, что и исходный.
Десезонализация ряда: практическая инструкция
Финальный этап — очистка исходного ряда от сезонных колебаний. Для этого исходное значение делится на соответствующий сезонный индекс (в мультипликативной модели) или вычитает индекс (в аддитивной). Результатом становится ряд, в котором остались только тренд и случайная компонента, что идеально подходит для построения долгосрочных прогнозов.
Реализовать это в Excel можно, создав справочник индексов и подтянув их функцией ВПР или XLOOKUP к основным данным. Формула будет выглядеть так: =B2 / VLOOKUP(Month(B2); IndexTable; 2; 0). Это позволит автоматически убрать сезонность для любых новых данных, поступающих в таблицу.
☑️ Чек-лист десезонализации
После проведения операции постройте график очищенного ряда. Он должен выглядеть более гладким, без резких ежегодных скачков. Если "пилы" остались, значит, индексация проведена неверно или выбрана неподходящая модель (например, аддитивная вместо мультипликативной). В таком случае стоит перепроверить амплитуду колебаний на исходном графике.
Использование надстройки Анализ данных
Для пользователей, которые не хотят строить сложные формулы вручную, Excel предлагает встроенный инструмент экспресс-анализа. Вкладка Данные -> Анализ данных -> Экспоненциальное сглаживание или Регрессия может помочь в построении базовых моделей, хотя полноценной декомпозиции "в один клик" в стандартном интерфейсе нет. Однако использование функции ПРЕДСКАЗАНИЕ.ETS автоматически учитывает сезонность.
Функция ПРЕДСКАЗАНИЕ.ETS использует алгоритм AAA (Additive error, Additive trend, Additive seasonality) или его вариации. Чтобы просто убрать сезонность без прогноза, можно использовать эту функцию для построения тренда, а затем разделить факты на полученный тренд. Синтаксис требует указания временной метки и значения:
=ПРЕДСКАЗАНИЕ.ETS.СТАТИСТИКА(значения; временная_метка; периодичность; 1)
Аргумент "статистика" со значением 8 вернет вам сезонность, а значение 6 — тренд. Разделив исходные данные на полученную сезонность, вы мгновенно получите очищенный ряд. Это наиболее быстрый способ, требующий минимального количества формул.
⚠️ Внимание: Функция
ПРЕДСКАЗАНИЕ.ETSдоступна только в версиях Excel 2016 и новее, а также в Office 365. В старых версиях (2010, 2013) придется использовать ручной метод со скользящими средними.
Частые ошибки при удалении сезонности
Одной из самых распространенных ошибок является игнорирование выбросов. Если в одном из месяцев произошел уникальный скачок продаж (например, из-за разовой акции), это значение раздует сезонный индекс для этого месяца. В результате все будущие прогнозы для этого периода будут некорректно завышены. Перед расчетом индексов такие аномалии нужно заменять средними значениями.
Также часто пользователи путают аддитивную и мультипликативную модели. Если тренд растет, а сезонные колебания остаются в абсолютных числах одинаковыми (например, всегда +100 единиц зимой), но в процентах падают, то мультипликативная модель даст ошибку. Визуальный анализ графика — обязательный этап перед выбором формулы.
- 🚫 Не используйте данные менее чем за 2 года для расчета устойчивых индексов.
- 🚫 Не забывайте нормировать индексы, чтобы их среднее значение было равно 1 (или 100%).
- 🚫 Не применяйте сезонные коэффициенты к данным другой природы (например, индексы продаж мороженого к продажам отопления).
Правильная десезонализация позволяет увидеть реальный рост или падение бизнеса, скрытые за календарными эффектами. Это дает руководству понимание, является ли падение продаж в феврале закономерным сезонным спадом или признаком кризиса в компании.
Какую модель выбрать: аддитивную или мультипликативную?
Выбор зависит от графика. Если амплитуда сезонных колебаний не меняется с ростом тренда (график выглядит как синусоида с наклоном) — используйте аддитивную модель. Если колебания расширяются пропорционально росту значений (воронка) — мультипликативную. В экономике и продажах чаще встречается мультипликативная.
Можно ли убрать сезонность для ежедневных данных?
Технически можно, но это сложно из-за большой длины цикла (365 дней) и влияния праздников, которые плавают. Для ежедневных данных лучше использовать агрегацию до недельного уровня (7 дней) или месячного, чтобы сгладить шум выходных дней.
Что делать, если в данных есть пропуски?
Функция ПРЕДСКАЗАНИЕ.ETS умеет обрабатывать до 50% пропусков, заполняя их интерполяцией. При ручном расчете скользящей средней пропуски лучше заполнить средним значением соседних периодов, иначе формула вернет ошибку.