Тенденции количества запросов и анализ сезонности с помощью Facebook Prophet

В течение последних нескольких лет The North Face был одним из крупнейших мировых брендов как в индустрии моды, так и в индустрии активного отдыха. Популярность бренда резко возросла: начиная с небольшого бренда, нацеленного на основных энтузиастов в 1968 году, и заканчивая сотрудничеством с некоторыми из крупнейших хайповых брендов сегодня, такими как Supreme.

Этот проект по машинному обучению и прогнозному моделированию анализирует мировой поисковый трафик The North Face в Google, чтобы получить представление о том, сохранится ли недавний успех бренда и как недавние глобальные события повлияли на его цифровой след.

Данные были получены из Google Trends и охватывают пятилетний период с июля 2015 года по июль 2020 года — объемы масштабируются от 0 до 100.

Объем поиска является хорошим показателем общих финансовых показателей бренда, большая часть его продаж будет осуществляться на цифровых платформах. Это становится все более значимым в связи с недавними глобальными событиями и закрытием магазинов на неопределенный срок.

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

Поздней осенью бренд испытывает наибольший объем поискового трафика. Это будет обусловлено тем, что основной рынок ищет оборудование для зимнего сезона, а потребительский рынок покупает товары к Рождеству. Летом наблюдается наименьший объем поискового трафика, так как термо- и водонепроницаемая одежда не в сезон.

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

В реальном выражении это означает, что бренд растет в геометрической прогрессии, однако весна 2020 года могла изменить ситуацию. Из-за Covid-19 падение трафика в начале 2020 года было более резким, чем можно было бы ожидать, поскольку объемы упали до уровня лета 2018 года.

Пророк Facebook

Используя библиотеку Facebook Prophet, я разделил данные на обучающий набор и тестовый набор и построил модель для прогнозирования последнего года набора данных, чтобы мы могли анализировать производительность модели по известным значениям.

m = Prophet(seasonality_mode='multiplicative')
m.fit(train)
future = m.make_future_dataframe(periods=52,freq='W')
forecast = m.predict(future)

Модель хорошо предсказывает истинные значения, показанные на графике ниже. Прогнозы являются более гладкими представителями истинной кривой с уменьшением дисперсии.

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

from statsmodels.tools.eval_measures import rmse
predictions = forecast.iloc[-52:]['yhat']
rmse(predictions,test['y']) / test.mean()
y    0.125569 
dtype: float64

Повторное обучение на всем наборе данных

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

Построение еще одной модели прогнозирует 52 периода в будущем — данные еженедельные, поэтому прогнозы продлеваются до июля 2021 года.

m = Prophet(seasonality_mode='multiplicative')
m.fit(df)
future = m.make_future_dataframe(periods=52,freq='W')
forecast = m.predict(future)

Из-за сезонного характера информации для прогнозирования требуется как минимум год, чтобы можно было оценить как тенденцию, так и сезонность.

Это показывает, что модель полагает, что будет продолжение положительной тенденции в объеме поиска с сохранением мультипликативного характера начисления процентов.

В преддверии лета 2021 года кажется, что корыто расширилось, что позволяет предположить, что в будущем межсезонье бренда будет длиннее, чем обычно. Трудно сказать, является ли это результатом Covid-19 или просто естественной тенденцией в данных, поскольку зимний сезон становится все более важным для бренда.

Это хорошее время, чтобы взглянуть на выбросы в данных; каждый год есть неделя, когда поисковый трафик значительно выше, чем другие точки данных, это неделя Черной пятницы.

В начале весны 2020 года также есть группа выбросов, эти точки находятся ниже тренда из-за пандемии и в результате экономической неопределенности.

Удаление этих выбросов приведет к повышению точности модели, однако это ключевые события, которые объясняют эффективность объемов поиска бренда и были включены в моделирование. Точность модели была принесена в жертву более примитивному и грубому средству прогнозирования, которое мы можем интерпретировать, зная события, связанные с информацией.

Изменения тенденций

Применяя функциональные возможности точек изменения к анализу данных, можно узнать, как тенденция менялась с течением времени.

from fbprophet.plot import add_changepoints_to_plot
fig = m.plot(forecast)
a = add_changepoints_to_plot(fig.gca(),m,forecast)

С конца 2016 года по начало 2018 года у The North Face наблюдался период быстрого роста объемов поисковых запросов. С тех пор тенденция была положительной, но с уменьшающейся скоростью. Это говорит о замедлении роста бренда.

Графики ниже дают хорошее представление о тенденциях бренда и годовой сезонности. Глядя на процентное изменение тенденции за пятилетний период, бренд демонстрирует высокие темпы роста, за которыми следуют более низкие темпы роста.

Второе отличие подтверждает это: за возрастающей скоростью роста следует убывающая скорость роста.

Результаты прогнозного моделирования, проведенного на мировом поисковом трафике The North Face в Google, показывают, что бренд будет продолжать увеличивать свои цифровые объемы, но с меньшей скоростью.

Следствием этого может быть перенасыщение рынка продукцией бренда и изменение потребительского поведения, а недавние глобальные потрясения оказали существенное влияние.

Это может привести к более суровым зимам и коммерчески бесконечному лету для бренда.

Надеюсь, вам понравилось читать эту статью. Пожалуйста, не стесняйтесь связаться со мной в LinkedIn для получения дополнительной информации.

GitHub repo для кода и данных.