Создавайте и анализируйте клиентские сегменты с помощью кластеризации k-средних

«Может быть необходимо встать снаружи человека, чтобы ясно видеть вещи».

- Питер Хёг, Сказки ночи

Вступление

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

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

Сегментация клиентов

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

Зачем нам нужна сегментация клиентов?

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

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

Данные

Я использую общедоступный набор данных из репозитория машинного обучения UCI о транзакциях, происходящих с 01/12/2010 по 09/12/2011 для зарегистрированной онлайн-торговли в Великобритании и вне магазинов. Набор данных можно найти здесь. В основном компания продает уникальные подарки на все случаи жизни. Многие клиенты компании являются оптовиками.

Возможности:

  • InvoiceNo: номер счета-фактуры. Номинальное, 6-значное целое число, однозначно присваиваемое каждой транзакции. Если этот код начинается с буквы «c», это означает отмену бронирования.
  • StockCode: код продукта (позиции). Номинальное, 5-значное целое число, однозначно присваиваемое каждому отдельному продукту.
  • Описание: название продукта (предмета). Номинальный
  • Количество: количество каждого продукта (позиции) за транзакцию. Числовой
  • InvoiceDate: Дата и время счета-фактуры. Числовой, день и время, когда была сгенерирована каждая транзакция.
  • UnitPrice: цена за единицу. Числовой, Цена продукта за единицу в фунтах стерлингов
  • CustomerID: номер клиента. Номинальное, 5-значное целое число, однозначно присваиваемое каждому покупателю.
  • Страна: название страны. Номинал, название страны, в которой проживает каждый покупатель.

Обработка данных

Очистка данных

Что касается очистки данных, я проделал следующие операции:

  • CustomerID содержит пустые записи. Давайте отбросим строки, содержащие нулевые значения.
  • Столбец Количество содержит отрицательные значения, что может быть связано с возвратом товаров после покупки. Отбросим строки с отрицательной величиной
  • Столбец UnitPrice также содержит отрицательные записи. Решил сбросить и записи с отрицательной ценой
  • Срок регистрации покупок с 01.12.2010 по 09.12.2011. данные за последний месяц неполные. Не будем обращать внимания на записи за неполный месяц.

Преобразование данных

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

k-означает кластеризацию

Кластеризация k-средних - один из самых простых и часто используемых алгоритмов. Он пытается найти центры кластеров, которые представляют определенные регионы данных. Алгоритм состоит из двух шагов:

  1. Назначение каждой точки данных ближайшему центру кластера
  2. Установка каждого центра кластера как среднего значения точек данных, которые ему назначены.

Кластеризация k-означает завершение вычислений после того, как назначение экземпляров кластерам больше не изменяется.

Когда мы применяем кластеризацию k-средних, мы должны помнить, что

  • каждый кластер определяется своим центром, что означает, что кластер имеет выпуклую форму. Таким образом, k-means фиксирует относительно простые формы с одинаковым «диаметром».
  • k-means предполагает, что все направления одинаково важны для каждого кластера
  • алгоритм проводит границу между кластерами посередине между центрами кластеров [3].

Определение оптимального количества кластеров

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

  • Коэффициент силуэта
  • Локтевой метод

Коэффициент силуэта

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

Формула коэффициента силуэта:

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

По сути, коэффициент Silhouette измеряет насколько близки точки данных к своим кластерам по сравнению с другими кластерами [2].

Метод локтя

Метод локтя используется для проверки количества кластеров в кластеризации k-средних. Идея метода локтя состоит в том, чтобы выполнить кластеризацию k-средних для набора данных для диапазона значений k (скажем, k от 1 до 10), и для каждого значение k вычислить:

  • Искажение, которое представляет собой средний квадрат расстояний от центров кластеров соответствующих кластеров (используется метрика евклидова расстояния).
  • Инерция, которая представляет собой сумму квадратов расстояний от выборок до их ближайшего центра кластера [4, 5].

Сегментация клиентов с помощью кластеризации k-средних

Глядя на кривые локтя и коэффициенты силуэта, я выбрал количество кластеров = 4, потому что коэффициент силуэта относительно высок, а инерция и искажение существенно не меняются с увеличением количества кластеров.

Теперь, когда мы знаем количество кластеров, давайте построим модель кластеризации k-средних.

Рассмотрим подробнее центры кластеров. Кластер №1 имеет самые низкие числа для всех трех атрибутов. Это означает, что кластер №1 содержит клиентов с наименьшим объемом продаж, наименьшим количеством заказов и наименьшей средней стоимостью заказа. Эта группа клиентов относится к малоценным клиентам. С другой стороны, кластер № 0 имеет наибольшее количество всех атрибутов. Таким образом, клиенты в кластере №0 приобретают дорогие продукты и приносят бизнесу наибольшую прибыль. Обычно вы хотите сосредоточить свои маркетинговые усилия на этом сегменте ценных клиентов, потому что это даст самый высокий доход.

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

Визуализируем сегменты

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

Рассмотрим самые популярные покупки в дорогостоящем сегменте.

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

Резюме

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

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

Блокнот Jupyter можно найти на моем GitHub.

Ссылки

[1] Определение сегментации клиентов - что такое сегментация клиентов. (нет данных). Получено 10 февраля 2021 г. с сайта https://www.shopify.com/encyclopedia/customer-segmentation.

[2] Хван, Ю. Х. (2019). Практика анализа данных в маркетинге: улучшите свои маркетинговые стратегии с помощью машинного обучения с использованием Python и Р. Бирмингема, Великобритания: Packt Publishing.

[3] Мюллер, А.С., Гвидо, С. (2018). Введение в машинное обучение с Python: руководство для специалистов по данным. Севастополь, Калифорния: O’Reilly Media.

[4] Использование метода локтя для определения оптимального количества кластеров для кластеризации k-средних. (нет данных). Получено 11 февраля 2021 г. с сайта https://bl.ocks.org/rpgove/0060ff3b656618e9136b.

[5] Метод локтя для оптимального значения k в KMeans. (2021, 09 февраля). Получено 11 февраля 2021 г. с сайта https://www.geeksforgeeks.org/elbow-method-for-optimal-value-of-k-in-kmeans/.