«Если бы не кофе, во мне вообще не было бы узнаваемой личности», — Дэвид Леттерман

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

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

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

Общий обзор

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

Описание входных данных:

  1. портфолио.json — этот файл содержит информацию о предложениях, предоставляемых Starbucks. Каждое предложение идентифицируется уникальным идентификатором предложения и включает такие метаданные, как тип предложения (BOGO, дисконтное, информационное), минимальные расходы, необходимые для завершения предложения, вознаграждение за выполнение предложения, продолжительность предложения в днях, и каналы, по которым было распространено предложение.
  2. profile.json — этот файл содержит демографические данные для каждого клиента. Данные включают возраст, пол, доход и дату начала членства каждого клиента.
  3. расшифровка.json — этот файл содержит записи о транзакциях, полученных предложениях, просмотренных предложениях и выполненных предложениях. Каждая запись включает описание события (транзакция, полученное предложение, просмотренное предложение или завершенное предложение), идентификатор клиента, связанный с записью, время в часах с момента начала теста и словарь значений, содержащий либо идентификатор предложения, либо сумма сделки в зависимости от записи.

Стратегия решения проблемы:

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

Раздел I: EDA

без лишних слов, сделайте глоток кофе ☕️,
и приступим к нашему осмотру.

Часть I. Как возраст влияет на вероятность выполнения предложения?

Давайте посмотрим на распределение по возрасту после замены отсутствующих значений в столбце возраста, помеченных как 118, средним значением.

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

Часть II. Как пол определяет сумму, потраченную на транзакции?

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

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

Часть III. Существуют ли возрастные различия в предпочтительных каналах получения предложений (например, Интернет, электронная почта, мобильные устройства, социальные сети)?

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

Согласно анализу набора данных Starbucks, клиенты в возрасте от 45 до 75 лет предпочитают получать предложения по электронной почте. Однако предпочтительный канал получения предложений существенно не различался в разных возрастных группах. Это говорит о том, что, хотя электронная почта является предпочтительным каналом для пожилых клиентов, другие каналы, такие как Интернет, мобильные устройства и социальные сети, также эффективны для охвата клиентов разных возрастных групп.

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

Часть четвертая. Какое предложение получает самый высокий процент выполнения?

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

Ничего удивительного! Кто бы не хотел побаловать себя утренним кофе :)

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

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

Часть V. Какое предложение получает самый высокий процент выполнения?

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

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

Раздел II. Прогнозирование завершения предложения: подход машинного обучения с использованием набора данных Starbucks

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

Часть I. Предварительная обработка данных

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

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

Часть II. Реализация

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

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

Часть III. Уточнение

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

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

Раздел III: Результаты

Показатели :
некоторые факторы, которые я принял во внимание при выборе показателей для этой проблемы

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

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

  1. Точность. Этот показатель измеряет общую правильность прогнозов модели. Хотя точность является широко используемой метрикой, она может быть неприемлемой, если классы в наборе данных несбалансированы.
  2. Точность. Этот показатель измеряет долю истинно положительных результатов среди всех положительных прогнозов. Это полезно, когда стоимость ложных срабатываний высока, например, предложение рекламной акции клиенту, который вряд ли ее завершит.
  3. Отзыв. Этот показатель измеряет долю истинно положительных результатов среди всех фактических положительных случаев. Это полезно, когда стоимость ложноотрицательных результатов высока, например, когда вы упускаете потенциального клиента, который завершил бы предложение.
  4. Оценка F1. Этот показатель является гармоническим средним значением точности и полноты и обеспечивает баланс между ними. Это полезно, когда мы хотим найти баланс между минимизацией ложных положительных и ложных отрицательных результатов.

КНН

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

Показатель точности при тестировании 3 лучших функций в данных: 87,44 %

Оценка точности при тестировании всех функций в данных: 88,55%
Поскольку при тестировании KNN разница между тремя лучшими функциями и всеми функциями составляла всего 1,11%, поэтому я буду использовать три лучшие функции.

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

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

Логистическая регрессия и байесовский классификатор получили одинаковую оценку
показатель точности при тестировании трех лучших данных: 88,9 %.

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

Раздел III: Заключение

Улучшения:

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

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

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

Отражение

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

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

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

Чтобы узнать больше об этом анализе, перейдите по ссылке на мой доступный Github:
https://github.com/shereenwalid/Starbucks-Capstone/tree/main

Благодарность:
Проект стал возможен благодаря платформе Udacity и наборам данных Starbucks.