Взгляд науки о данных на клиентов самых известных кофеен.

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

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

Проблема

Раз в несколько дней Starbucks рассылает предложение пользователям мобильного приложения. Предложение может быть просто рекламой напитка или реальным предложением, таким как скидка или BOGO (купите один, получите второй бесплатно). Некоторые пользователи могут не получать никаких предложений в течение определенных недель.

Имейте также в виду, что кто-то, использующий приложение, может совершить покупку через приложение, не получив предложение или не увидев предложение. Например, пользователь может получить предложение о скидке: купи 10 долларов и получи 2 в понедельник. Предложение действительно в течение 10 дней с момента получения. Если клиент накопит покупок на сумму не менее 10 долларов в течение срока действия, клиент завершает предложение.

Наборы данных

  • Portugal.json — содержит идентификаторы предложений и метаданные о каждом предложении (длительность, тип и т. д.).

  • profile.json — демографические данные по каждому клиенту

  • расшифровка.json — записи транзакций, полученных предложений, просмотренных предложений и завершенных предложений.

Вот схема и объяснение каждого столбца в файлах:

  • портфолио.json
    * id (string) — идентификатор предложения
    * offer_type (string) — тип предложения, т. е. BOGO, скидка, информационное
    *сложность (int) — минимальная сумма, необходимая для завершения предложение
    * вознаграждение (int) — вознаграждение за выполнение предложения
    * продолжительность (int) — время открытия предложения, в днях
    * каналы (список строк)
  • profile.json
    * age (int) — возраст клиента
    * made_member_on (int) — дата создания клиентом аккаунта в приложении
    * gender (str) — пол клиента (примечание некоторые записи содержат 'O' вместо M или F)
    * id (str) — идентификатор клиента
    * profit (float) — доход клиента
  • расшифровка.json
    * event (str) — описание записи (т. е. транзакция, полученное предложение, просмотренное предложение и т. д.)
    * person (str) — идентификатор клиента
    * time (int) — время в часах с начала теста. Данные начинаются в момент времени t=0
    * value — (dict of strings) — либо идентификатор предложения, либо сумма транзакции в зависимости от записи

Используя данные, у меня есть цель:

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

Чистые данные

1.- Набор данных портфолио

  • Значения горячего кодирования для двух столбцов channels и offer_type
  • Добавьте соответствующие имена столбцов

2- Набор данных расшифровки

  • Горячее кодирование различных событий
  • Создайте два фрейма данных: транзакции и предложения

3- Набор данных профиля

  • Рассмотрим людей моложе 80 лет
  • Рассмотрим только мужчину и женщину
  • Удалить нулевые значения

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

Анализ данных

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

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

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

Это также показывает, что заработная плата для обеих групп достигла пика в 2016 году, и это по-прежнему подтверждает, что женщины имеют более высокие зарплаты, чем мужчины в этом регионе. (Я действительно обратился к исходному набору данных, чтобы проверить, не неправильно ли я кодировал значения, это кажется верным. Я лично рад этому, но мне очень любопытно, какие Starbucks и города участвуют в этом наборе данных)

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

Становится ясно, что женщины большие транжиры, даже если больше мужчин покупают, как мы видели на предыдущем графике, женщины, как правило, тратят больше денег на Starbucks.

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

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

Кажется, что предложения в основном основаны на скидках и BOGO и менее информационных предложениях.

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

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

Из соображений анализа и в пользу большего количества показателей, указывающих на доход Starbucks. Я намеренно скрываю информационные предложения, которые на данный момент не представляют никакой ценности и сравниваю BOGO и Discount для мужчин и женщин.

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

В соответствии с той же тенденцией мужчины, как правило, просматривают больше предложений, чем женщины.

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

Изучая данные, мы обнаружили некоторые инсайты, которые я перечислю по пунктам:

  • Во время сбора наборов данных среди клиентов больше мужчин, чем женщин.
  • Женщины в среднем зарабатывают больше мужчин и тратят больше денег на Starbucks.
  • Зарплаты мужчин и женщин значительно различаются после 45 лет.
  • Предложения от Starbucks ориентированы в основном на клиентов в возрасте от 38 до 60 лет.
  • Членство растет между мужчинами и женщинами, как правило, растет с каждым годом. Однако мужчины в 2017 и 2018 годах доминируют.
  • В настоящее время мужчины получают больше предложений или рекламных акций, чем женщины.
  • Мужчины, как правило, просматривают больше предложений, чем женщины.
  • Кажется, что предложения заполнены мужчинами и женщинами, и разрыв невелик, особенно для вознаграждений 5 и 10.
  • Женщины тратят больше денег, чем мужчины, получают меньше предложений, потому что просматривают меньше предложений.

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

Выбор функции

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

Модели

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

Линейная регрессия (LR)

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

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

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

Хотя модель недостаточно точна на основе r2_score 0,130 в тестовом наборе, она дает некоторое представление о наиболее важных функциях, которые содержат большую часть информации о суммах, потраченных клиентом.

  • На первых 3-х местах мы видим полученное, просмотренное и завершенное предложение функции с горячим кодированием. В соответствии с этой моделью, сам факт отправки предложений независимо от того, выполнил клиент или нет, является основным фактором увеличения доходов клиентов.
  • Заработная плата (доход) является основной движущей силой потраченных денег, и имеет смысл, что чем выше доход, тем выше сумма, потраченная на продукты Starbucks.
  • По-видимому, сложность и скидки типа предложения не имеют отношения к модели, чтобы предсказать сумму, потраченную на продукты.

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

Поскольку завершенное предложение столбца было закодировано в [0,1], я бы предложил использовать логистическую регрессию, чтобы предсказать это значение

Логистическая регрессия (LoR)

Глядя на результаты логистической регрессии, можно классифицировать с высоким уровнем точности около 0,773. Однако матрица оценки f1 и путаницы говорит о другом, поскольку классификатор имеет высокую точность и низкую полноту, поэтому он пропускает значительное количество случаев, которые трудно классифицировать.

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

Повышение XG (xgb)

Среднеквадратическая ошибка очень мала, учитывая, что она должна классифицировать двоичный класс предложения как завершенный или незавершенный. Это означает, что у нас высокая точность. Однако для построения более надежной модели важно выполнить k-кратную перекрестную проверку.

k-кратная перекрестная проверка с использованием XGBoost

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

Этот результат означает, что в раунде 49 RMSE 0,077445 ниже, чем в исходном измеренном RMSE для тестового набора данных 0,396987, что означает, что ошибка действительно мала, а точность классификации очень высока.

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

Вывод

Во время исследования данных мы обнаружили несколько фактов и элементов, которые помогли выявить важные особенности, влияющие на влияние предложения или нет. Вот некоторые из обнаруженных фактов:

  • Во время сбора наборов данных среди клиентов больше мужчин, чем женщин.
  • Женщины в среднем зарабатывают больше мужчин и тратят больше денег на Starbucks.
  • Заработная плата женщин и мужчин существенно различается после 45 лет.
  • Предложения от Starbucks ориентированы в основном на клиентов в возрасте от 38 до 60 лет.
  • Членство растет между мужчинами и женщинами, как правило, растет с каждым годом. Однако мужчины в 2017 и 2018 годах доминируют.
  • В настоящее время мужчины получают больше предложений или рекламных акций, чем женщины.
  • Мужчины, как правило, просматривают больше предложений, чем женщины.
  • Кажется, что предложения заполнены мужчинами и женщинами, и разрыв невелик, особенно для вознаграждений 5 и 10.
  • Женщины тратят больше денег, чем мужчины, получают меньше предложений, потому что просматривают меньше предложений.

Кроме того, для расширения анализа были добавлены три модели:

  • Линейная регрессия: используется для прогнозирования суммы, потраченной на продукты Starbucks, независимо от завершения предложения и на основе различных функций. Стало ясно, что основные функции для прогнозирования суммы зависят от «получения предложения» и уровень «дохода».
  • Логистическая регрессия: используется для классификации пользователей, которые выполнили предложения или нет. У этого была высокая точность, но низкий отзыв, и главные функции, которые влияют на пользователя, — это получение предложения и возраст.
  • XG Boost: используется для улучшения классификации с очень низким RMSE 0,077445 после 49 раундов оптимизации. Это дерево рассматривает «доход», «возраст», «пол» как главные характеристики, которые убеждают пользователя завершить предложение.

Улучшения

Во время реализации кейса исследования я обнаружил различные потенциальные улучшения, которые могут помочь повысить качество этого анализа:

  • Демография данных, есть некоторые фрагменты информации, которые могли бы быть полезны для анализа, такие как город, местоположение, уровень образования и т. д. Это, возможно, позволило бы разработать лучшую стратегию для очистки и, возможно, разделения данных на разные подкатегории. .
  • Основываясь на данных, кажется, что стоит разделить набор данных между мужчинами и женщинами и выполнить модели в каждом из этих наборов данных, чтобы получить более глубокое понимание. В текущем анализе обе категории были вместе, и это могут быть случаи, когда отзыв был очень низким, что означает, что были случаи, которые трудно классифицировать.
  • Тонкая настройка параметров алгоритмов по-прежнему требует доработок. В то время были добавлены только базовая и стандартная конфигурации. Тем не менее, дополнительные эксперименты с гиперпараметрами могли бы помочь лучше понять пользователей и их реакцию на предложения.
  • Сделайте некоторое уменьшение размерности с точки зрения признаков. Было бы неплохо применить некоторые методы, такие как анализ основных компонентов (PCA) для функций, чтобы выполнить лучшую классификацию. Иногда принимая все признаки, иногда просто искажая классификации.
  • Если найден хороший алгоритм или модель, изучение того, сколько строк данных необходимо для достижения определенной точности или предсказания, является обязательным для точной настройки производительности. С точки зрения вычислительной эффективности важно обучать наши модели с достаточным объемом информации без добавления дополнительной информации, которая не улучшает алгоритм.

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

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