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

Помещение КОРЗИНЫ в Instacart

Этот блог написали Ники (Никола) Корнблут, Даниэль Московиц, Санчья Сахай и Метика Сикка для курса бизнес-аналитики в Колумбийском университете в рамках магистерской программы магистратуры им. Программа бизнес-аналитики.

Когда мы начали этот проект в январе 2020 года, продуктовые онлайн-магазины казались интересной отраслью для изучения. Бакалейная промышленность демонстрирует ежегодный рост на протяжении десятилетий (даже во время рецессий), а продуктовые онлайн-магазины занимают растущую долю рынка. Кроме того, данные о продуктовых онлайн-магазинах казались отличным кандидатом для прогнозной аналитики из-за привычного поведения потребителей и непревзойденного доступа к данным.

Мало ли мы знали, что отрасль скоро увидит беспрецедентные изменения:

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

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

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

Мы подошли к проблеме с точки зрения одного из крупнейших игроков отрасли - Instacart. Во всех описанных ниже анализах использовался Набор данных Instacart о покупках онлайн-продуктов за 2017 год.

Первый взгляд на данные подтвердил наши подозрения: многие клиенты сделали всего несколько заказов, но есть длинный хвост лоялистов. Мы надеялись помочь отрастить этот хвост.

Мы сосредоточили свои усилия в двух местах:

  • Сокращение времени между заказами. За счет того, что мы заставляем клиентов совершать покупки чаще, мы надеемся увеличить количество их заказов и стать их постоянным местом для покупок.
  • Понимание и продвижение поведения при изменении порядка. Изменение порядка - ключевой признак привычки, поэтому мы хотим воспитывать такое поведение.

Сокращение времени между заказами

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

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

Модель

Мы создали ряд функций, чтобы лучше понимать модели покупок пользователей. Они делятся на три категории: самый последний заказ, «флажки» покупательского типа и совокупное поведение.

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

Что еще более важно, мы узнали кое-что интересное. Например, пользователи, которые покупают кладовые, как правило, имеют больше времени между своими заказами, в то время как пользователи, которые делают заказы утром или в будние дни, как правило, делают заказы быстрее.

Рекомендации

Основываясь на этих выводах, мы рекомендуем Instacart сделать следующее, чтобы увеличить частоту заказов:

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

Прогнозирование поведения при изменении порядка

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

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

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

Модель

Для этой модели мы создали матрицу уровня пользователь-продукт с ~ 8,5 миллионами строк. Мы также разработали новый набор из 27 функций, которые представляли собой сочетание уровня продукта, уровня пользователя и уровня продукта-пользователя. Из-за большого размера набора данных мы обратились к Google Cloud, чтобы запустить R на виртуальных машинах для повышения эффективности.

Мы попробовали несколько разных техник для построения этой модели. Поскольку наш набор данных был несбалансированным, мы сравнили производительность с оценкой F1. Исходя из этого, нашими лучшими моделями были Random Forest с поправкой на несбалансированные классы и деревья XGBoost.

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

Приложения

Instacart может использовать прогнозы этой модели для:

  • Подписки на продукты. Ориентируйтесь на пользователей, которые с наибольшей вероятностью изменят заказ на продукт, и предложите подписку по сниженной цене, гарантируя удержание.
  • Управление запасами. Предоставление прогнозов спроса для магазинов-партнеров на основе поведения при повторном заказе.
  • Целевой маркетинг. Используйте эти прогнозы для маркетинга, рассылая рекламные акции пользователям с умеренной или высокой вероятностью повторного заказа продукта. Добавьте в маркетинг и дополнительные продукты.
  • Повышение маржи. Рекомендуйте и продвигайте заменители с высокой маржой для людей с высокой вероятностью повторного заказа.

TL;DR

Удержание клиентов всегда было ключевым моментом для бакалейных онлайн-магазинов, но после пандемии оно поможет или сломает их бизнес. Мы использовали несколько инструментов машинного обучения, чтобы помочь Instacart привлечь и удержать клиентов, сосредоточив внимание на сокращении времени между заказами и стимулировании повторного заказа. (Или, как наша крылатая фраза стала во время этого проекта: «Сбивать масло, а не клиенты».)

Вы можете увидеть код и презентацию этого проекта в нашем репозитории GitHub: https://github.com/dsm2173/instaCART