Подход на основе данных с использованием смоделированных данных о предложениях Starbucks.

Определение проекта

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

Постановка задачи

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

Показатели

Поскольку я намеревался использовать неконтролируемую модель: K-means Clustering, трудно количественно оценить, насколько хорошо работает моя модель. Выбор К — самый важный фактор в моем процессе. Увеличение прибыли может доказать, если моя модель работает.

Часть I: Исследование данных, очистка, преобразование и объединение

Всего есть 3 разных набора данных:

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

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

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

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

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

ЧАСТЬ II: Выявляйте нецелевых людей

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

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

Чем меньше индекс взаимодействия между предложениями, тем меньше взаимодействие между предоставленными предложениями и клиентами. Чтобы отсечь игноратора, я выбрал только тех пользователей, чей индекс больше (среднее — 1*std).

ЧАСТЬ III: Создана модель кластеризации K-средних для получения целевой группы пользователей

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

Основываясь на моей цели, мои переменные в обучающих данных включают показатель выполненных предложений, просмотр предложений, показатель полученных предложений (без просмотра и использования) для 3 различных типов предложений, предоставляемых Starbucks. Затем я использовал метод локтя, чтобы получить лучший K, как показано ниже:

Хотя тренд не очень очевиден, я выбрал K=8, так как тренд все еще немного медленнее по сравнению с K‹8.

Код показан ниже:

Наконец, я использовал пакет Sklearn для создания и подбора модели K-средних и в результате получил 8 групп.

В результате Группа 1 лучше всего реагирует на предложения Bogo и Discount, а Группа 4 идет следующей. Кроме того, я записал каждый шаг в функцию данных. Чтобы получить лучшую группу, я могу просто ввести K и предложить тип, чтобы получить наиболее мотивированные профили клиентов.

Вывод

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

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

Чтобы узнать больше об этом анализе, см. ссылку на мой Github, доступную здесь.

Следовательно, вы когда-нибудь находили своих целевых пользователей?