Прогноз продаж статистическим методом
Содержание
Введение
В этой статье мы на примере рассмотрим один из статистических методов прогнозирования продаж. Мы будем прогнозировать прибыль, а точнее размер месячной прибыли. Совершенно аналогично можно делать прогнозы и других показателей продаж: выручка, объем продаж в натуральных единицах, количество сделок, количество новых клиентов и т.д.
Описанный в статье метод прост (относительно, конечно) и не привязан к специализированным программам. В принципе, для составления прогноза достаточно было бы бумаги, карандаша, калькулятора и линейки. Однако, это очень трудоемкий способ, поскольку в процессе возникает много рутинных вычислений. Поэтому мы будем использовать Microsoft Excel (версии 2000).
Помимо простоты у метода есть еще один важный плюс: для прогноза требуется небольшая статистика. Сделать прогноз на 2-3 месяца вперед можно, если есть статистика хотя бы за 13-14 месяцев. Ну а большая статистика дает возможность и прогноз делать на больший период.
Сбор и подготовка статистики продаж
Прогнозирование начинается, конечно, со сбора статистики продаж. Здесь нужно обращать внимание на то, чтобы все сделки были более-менее одного «масштаба», и чтобы количество сделок в месяц было достаточно большое.
Например, розничный магазин. Даже в небольшом магазине в месяц могут делаться тысячи и даже десятки тысяч покупок. Сумма каждой покупки, по сравнению с месячной выручкой, весьма мала — 0,0..01% от выручки. Это хорошая ситуация для прогнозирования.
Если прогноз делается для компании, работающей на корпоративном рынке, то нужно следить, чтобы количество сделок в месяц было хотя бы не менее 100, иначе для прогнозирования нужно применять другие методы. Также, если в статистике продаж встречаются крупные сделки, с суммой, например, около 10% от месячной выручки, то такие сделки надо исключать из статистики и рассматривать отдельно (опять же другими методами). Если крупные сделки не исключить, то они создадут в динамике «выбросы», которые могут сильно ухудшить точность прогноза.
Далее мы будем рассматривать пример со статистикой из таблицы 1. На рисунке 1 данные таблицы представлены в виде графика.
По этим данным мы будем составлять прогноз на 12 месяцев вперед.
Существуют две основные модели временного ряда: аддитивная и мультипликативная. Формула аддитивной модели: Yt = Tt + St + et Формула мультипликативной модели: Yt = Tt x St + et Обозначения: t - время (месяц или другой период детализации); Y - значение величины; Т — тренд; S — сезонные изменения; е - шум. Разница между моделями хорошо видна на рисунке 2, где приведены два ряда, с одинаковыми трендами, один ряд — по мультипликативной модели, другой — по аддитивной.
Примечание. Могут встречаться такие показатели продаж, у которых сезонные колебания практически отсутствуют.
Рис. 2. Примеры рядов: слева — по аддитивной модели; справа — по мультипликативной.
В нашем примере мы будем использовать мультипликативную модель.
Для каких-либо других данных, возможно лучше подошла бы аддитивная модель. Узнать на практике, какая модель подходит лучше, можно либо интуитивно, либо методом проб и ошибок.
Выделение тренда
В формулах моделей рядов динамики (Yt = Tt + St + et и Yt = TtSt + et) фигурирует тренд Tt, такой тренд мы будем называть «точным».
В практических задачах выделить точный (вернее, «почти точный») тренд Tt может оказаться технически очень сложно (см. например, пункт [5] в списке литературы).
Поэтому мы будем рассматривать приближенные тренды. Самый простой способ получения приближенного тренда — сглаживание ряда методом скользящего среднего с периодом сглаживания равным максимальному периоду сезонных колебаний. Сглаживание почти полностью устранит сезонные колебания и шум.
В рядах с детализацией по месяцам сглаживание нужно делать по 12-ти точкам (то есть по 12-ти месяцам). Формула скользящего среднего с периодом сглаживания 12 месяцев:
Где Mt — значение скользящего среднего в точке t; Yt — значение величины временного ряда в точке t.
- Примечание. Очень редко, но все-же бывают динамики продаж, где длина полного период не только не равна году, но и «плавает». В таких случаях колебания, видимо, вызваны не сезонными изменениями, а какими-то другими, более мощными факторами.
Обратите внимание: поскольку мы вычисляем некоторый средний тренд за последние 12 месяцев, то в поведении приближенного тренда по сравнению с точным, происходит как бы запаздывание на 6 месяцев. Не смотря на то, что тренд, полученный методом скользящего среднего — это не точный, а приближенный (да еще и с запаздыванием), он вполне подходит для нашей задачи.
Прологарифмируем уравнение мультипликативной модели, и если шум et не очень большой, то получим аддитивную модель.
Рис. 3. График прологарифмированной величины показателя и тренда Ми скользящего среднего по 12-ти месяцам. Слева на одном графике и величина и тренд. Справа — тренд в увеличенном масштабе. По оси X — номера периодов.
Примечание. Если темпы динамики небольшие, скажем, 10-15% в год, то и с мультипликативной моделью можно работать как с аддитивной (не логарифмирую).
Прогноз тренда
Тренд мы получили, теперь нужно его спрогнозировать. Прогноз можно бы было получить, например, методом экспоненциального сглаживания (см. [4]), но поскольку мы хотим прогнозировать максимально простым методом, то остановимся на обычной параметрической аппроксимации. В качестве функций приближения используем следующий набор:
Линейная функция: y = a + b × t.
Логарифмическая функция: y = a + b × ln(t)
Полином второй степени: y = a + b × t + c × t2
Степенная функция: y = a × tb
Экспоненциальная функция: y = a × eb × t
Хорошо бы было дополнить набор и другими функциями, но для этого возможностей Excel недостаточно, нужно использовать специализированные программы: Maple, Matlab, MathCad и т.д.
Качество приближения мы будем оценивать по величине достоверности аппроксимации R2. Чем ближе эта величина к 1 — тем лучше функция приближает тренд. Это верно не всегда, но в Excel нет других критериев оценки качества аппроксимации. Впрочем, критерия R2 нам будет достаточно.
На рисунках 4, 5, 6, 7 и 8и мы сделали аппроксимацию нашего тренда различными функциями и каждая функция аппроксимации продолжена на 12 точек вперед. И еще одна аппроксимация — на рисунке 9, полиномом 5-той степени.
По рисункам мы видим, что значение R2 ближе всего к единице у параболы (полином 5-той степени уже не рассматриваем). Следующая по качеству аппроксимация — прямая линия. Хотя формально парабола аппроксимирует лучше всех, но ее поведение, особенно перевал в отдаленных точках, представляется не очень правдоподобным. Тогда можно взять аппроксимацию прямой, но мы найдем компромисс: среднее арифметическое между параболой и прямой.
Рис. 10. Тренд Mt и его прогноз. По оси X — номер периода.
Результат прогноза тренда Mt — на рисунке 10. Итак, мы получили прогноз тренда.
Прогноз показателя
Прогноз тренда у нас есть. Теперь можно сделать прогноз самого показателя. Формула очевидна:
Ln(Yt+1) = 12 × Mt+1 – Ln(Yt) – Ln(Yt-1) – ... – Ln(Yt-10)
Yt+1 = exp(Ln(Yt+1))
До периода t = 19 у нас есть фактические данные. Для t = 20..31 у нас есть спрогнозированный тренд Mt, а значения показателя мы будем считать последовательно, сначала для t = 20, потом для t = 21 и т.д.
Результаты прогноза — на рисунке 11 и в таблице 2.
Рис. 11. Прогноз показателя. По оси X — номер периода.
Сравнение прогноза и реальных данных
На рисунке 12 — графики прогноза и фактических данных.
В таблице 3 приведено сравнение реальных данных и спрогнозированных. Посчитаны ошибки прогноза, абсолютные: Прогноз-Факт; и относительные: 100%*(Прогноз-Факт)/Факт.
Обратите внимание, что ошибки прогноза смещены в положительную сторону. Причина этого может быть как в несовершенстве метода, так и в каких-то объективных обстоятельствах, например, в изменении ситуации на рынке в прогнозируемом периоде.
Точность прогноза
Какую точность прогноза можно считать хорошей? Это во многом зависит от исходных данных и применяемой для прогноза модели.
Рис. 12. Фактические данные и спрогнозированные. По оси X — номер периода.
Даже если модель очень хорошо описывает динамику реальных данных, что в общем-то большая редкость, то остаются еще шумы, которые вносят свою ошибку. Например, если уровень шума составляет 10% от значения показателя, то и ошибка прогноза будет не меньше 10%. Плюс, как минимум, еще несколько процентов ошибки добавятся из-за несоответствия модели и динамики реальных данных.
А вообще, лучший способ определить точность — это многократно делать прогнозы для одного и того же процесса и на основании такого опыта определять точность эмпирически.
Заключение и список литературы
В этой статье мы рассмотрели сильно упрощенный метод прогнозирования. Тем не менее, при отсутствии резких изменений на рынке и внутри компании, даже такой простой метод дает удовлетворительную точность прогноза месяцев на 10 вперед.
Литература
1. Крамер Г. «Математические методы статистики».— М.: «Мир», 1975.
2. Кендэл М. «Временные ряды».— М.: «Финансы и статистика», 1981.
3. Андерсон Т. «Статистический анализ временных рядов».— М.: «Мир», 1976.
4. Бокс Дж., Дженкис Г. «Анализ временных рядов. Прогноз и управление».— М.: «Мир», 1976
5. Губанов В.А., Ковальджи А.К. «Выделение сезонных колебаний на основе вариационных принципов. Экономика и математические методы». 2001. т. 37. № 1. С. 91-102.
Автор - Александр Коренев
Данная публикация размещена в «Энциклопедии менеджера E-xecutive.ru» в рамках сотрудничества с проектом www.cfin.ru
На портале www.cfin.ru она расположена здесь