Я занимаюсь онлайн-бизнесом уже два года подряд, поэтому у меня есть данные о ежемесячных продажах за два года. На мой бизнес каждый месяц, безусловно, влияют сезонные колебания (лучше на Рождество и т. Д.) И, возможно, некоторые другие факторы, о которых я не знаю.
Чтобы лучше прогнозировать будущие продажи и оценить эффективность моей кампании по продажам или влияние новых конкурентов, я хочу иметь возможность разработать подходящую модель временных рядов для экстраполяции моих текущих данных о продажах в будущее. Это связано с тем, что когда я сравниваю результат своего прогноза с фактическим результатом, я могу количественно проверить эффективность моей кампании по продажам или влияние конкурентов.
Мой вопрос заключается в том, что, учитывая, что у меня есть данные о продажах за 2 года, могу ли я сформулировать для этого прогнозную модель временных рядов?
Примечание: меня больше интересуют фоновые концепции и теории, а не инструменты черного ящика. Говоря об инструментах, у меня есть Mathematica, Matlab, R, Excel, Google Spreadsheet .... вы называете это.
источник
Ответы:
Да, есть способы сделать это. Люди зарабатывают себе на жизнь, делая такие вещи ;-)
Вы ищете причинное прогнозирование . Посмотрите этот бесплатный онлайн-учебник по прогнозированию, чтобы узнать о методологии прогнозирования.
У вас есть две ключевые проблемы, с которыми вам нужно иметь дело: сезонность (или, в более общем смысле, структура временных рядов, возможно, с авторегрессией), с одной стороны, и причинные эффекты, такие как повышение по службе с другой стороны. Глава 8 в учебнике выше посвящена материалам временных рядов в контексте ARIMA, а глава 5 - причинно-следственным эффектам.
К счастью, можно решить обе проблемы, рассчитав либо так называемые модели ARIMAX (X обозначает «внешние эффекты», т. Е. ARIMA с внешними эффектами), либо регрессии с ошибками ARIMA. См. Сообщение в блоге Роба Хайндмана на тему "Модель путаницы ARIMAX" .
auto.arima()
Функция вforecast
пакете R будет соответствовать регрессии с ошибками ARIMA. Давайте рассмотрим пример, где я беру стандартный набор данных с сильным трендом и сезонностью и добавляю «промо-акции».Красные точки - рекламные акции. По умолчанию интервалы прогнозирования отображаются серым цветом. Вы можете ввести несколько регрессоров в вашу модель через
xreg
параметр, что вам следует делать, если у вас есть различные типы рекламных акций с разными эффектами. Эксперимент немного.Я бы рекомендовал смотреть на более детальные данные, чем ежемесячные, если они у вас есть, например, еженедельно. Особенно если вы не продвигаетесь в течение полных месяцев. Вы можете сделать это отдельно по продуктам, особенно если вы продвигаете определенные продукты или целые категории.
В качестве альтернативы, учитывая, что вас больше интересуют концепции, а не код, посмотреть на экспоненциальное сглаживание и изменить его в соответствии со своими потребностями, добавив рекламные компоненты в стандартные трехуровневые, сезонные и трендовые компоненты. С помощью экспоненциального сглаживания вы можете сделать намного больше, чем пытаясь максимально оценить вероятность модели ARIMAX, но сглаживание может превратиться в кошмар для бухгалтерского учета, если у вас несколько типов продвижения.
источник
Во-первых, у вас нет большого количества данных для игры, только 24 наблюдения. В вашем случае это означает, что у вас едва ли есть пара параметров для надежной оценки. наиболее систематический способ прогнозирования - это процесс генерирования данных (DGP). Вы делаете предположение о том, каков истинный процесс для ваших продаж, затем пытаетесь оценить его параметры.
в Matlab эта модель указана как
arima('ARLags',1,'SARLags',12)
это предполагает, что ваши продажи стабильны, то есть, как правило, не растут.
если вы думаете, что ваши продажи растут, у вас есть два варианта: случайный ход (RW) и временной тренд.
в Matlab RW указан с
arima('D',1,'SARLags',12)
очевидно, это только примеры разных DGP. Что бы вы ни делали, имейте в виду количество параметров для оценки. с 24 наблюдениями ваша модель должна быть очень простой, максимум 4 параметра (включая отклонения).
источник
Вот что вы должны сделать. Сделать два графика:
Посмотри на них. Аннотируйте даты любых специальных акций или известной конкурентной деятельности. «Декабрь» обычно довольно очевиден, но добавьте примечание, если это поможет.
Идем дальше и подберем модель временного ряда - любую модель (их сотни). Модель может дать вам немного лучший прогноз на следующий период (t + 1), чем вы считаете. По крайней мере, это оспорит ваше мнение. За пределами следующего периода (t + n, n> 1) любая модель временных рядов является дерьмом. † Так что забудьте о количественной оценке эффективности кампаний продаж или эффектов конкурентов. Если вы сравните фактические продажи с прогнозами, вы обнаружите, что прогнозы не соответствуют действительности. Прогнозировать будущее сложно, и ни один метод не меняет этот базовый факт.
Вы найдете ваши два графика более полезными. Изучите их некоторое время, а затем проведите оставшуюся часть времени, придумывая идеи о том, как увеличить продажи - это будет гораздо более выгодным использованием вашего времени, чем попытка соответствовать модели временного ряда.
† У вас больше надежды, если вы сможете создать прогностическую модель на основе опережающих индикаторов, т. Е. Продажи жилья за предыдущий месяц могут быть полезны для прогнозирования продаж оконных штор в текущем месяце.
источник