Используйте K-means, и пусть AI сообщит вам, сколько там сегментов (на самом деле).

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

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

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

Так что K-означает?

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

Позвольте мне объяснить вам каждый термин:

  • Кластеризация: метод машинного обучения для выявления и группировки похожих точек данных (например, клиентов) вместе.
  • Машинное обучение без учителя: вам не нужно предоставлять алгоритму помеченные данные о том, как группировать клиентов. Он просканирует всю информацию, связанную с каждым клиентом, и узнает, как лучше всего сгруппировать их.
  • Заранее определенное количество групп: вам нужно указать K-means, сколько групп нужно сформировать. Это единственное, что нужно от вас.

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

Хорошо ... так как же работают K-means?

Предположим, вы думаете, что есть 3 потенциальных сегмента клиентов.

K-средство будет случайным образом инициировать 3 точки (т. Е. Центроиды) в случайных местах и ​​медленно приближать каждую точку данных к ближайшему центроиду. Каждая точка данных представляет одного клиента, и клиент, ближайший к тому же центроиду, будет в той же группе.

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

Какие? Это выглядит просто. Визуально группировать я умел сам!

Вышеупомянутое двумерное представление клиентов - это упрощенная форма визуализации данных.

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

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

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

В этом вся прелесть!

Но как мне узнать, какое оптимальное количество групп нужно сформировать?

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

  1. Клиенты в одном кластере должны быть близко друг к другу (небольшое внутрикластерное расстояние)
  2. Каждый отдельный кластер клиентов должен быть далеко друг от друга (большое расстояние между кластерами)

Вот еще один способ интерпретации вышеуказанных принципов:

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

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

Один из самых сложных аспектов использования K-среднего - это решить, сколько кластеров сформировать. Это можно определить математически с помощью Silhouette Score.

Большой. Не могли бы вы проиллюстрировать использование K-средних для сегментации набора данных о реальных клиентах?

Я проиллюстрирую использование K-средних для выполнения сегментации клиентов RFM (недавняя, частотная и денежная). Источник данных - от реального интернет-магазина в Великобритании.

Я уже предварительно обработал данные, выполнив следующий шаг:

  1. Извлеките самые последние данные о сделках за 1 год.
  2. Рассчитайте время с давности каждого клиента по дате их последней транзакции.
  3. Вычислите частоту каждого клиента, суммируя количество счетов-фактур, привязанных к каждому клиенту.
  4. Рассчитайте денежную стоимость каждого клиента, суммируя их соответствующие общие расходы.

Ниже приведен снимок значений RFM каждого созданного мной клиента:

Что еще мне нужно сделать перед внедрением K-means?

K-means дает лучший результат при следующих условиях:

  1. Распределение данных не искажено (т.е. распределение длинных хвостов)
  2. Данные стандартизированы (т.е. среднее значение 0 и стандартное отклонение 1).

Почему? Напомним, что K-средние группируют похожих клиентов вместе в зависимости от их расстояния от центроидов.

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

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

Вот точные шаги для подготовки данных перед использованием K-среднего:

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

Сначала я проверяю асимметрию данных, построив график распределения Recency, Frequency и MonetaryValue:

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

Как только асимметрия уменьшилась, я стандартизировал данные путем центрирования и масштабирования. Обратите внимание, что все переменные теперь имеют среднее значение 0 и стандартное отклонение 1.

Как насчет поиска оптимального количества групп?

После подготовки данных следующим шагом является выполнение итераций K-средних (обычно до 10 кластеров) для расчета баллов силуэта для каждого кластера.

Более низкий показатель силуэта означает формирование более качественных и значимых кластеров; приведенный ниже результат показывает, что оптимальное количество кластеров - четыре.

Тем не менее, это обычная практика для реализации кластеризации K-средних на +/- 1 идентифицированного оптимального кластера; здесь 3, 4 и 5 кластеров.

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

Возможно, есть некоторые особенности рынка, и ваши заинтересованные стороны могут решить реализовать свои маркетинговые стратегии на 5 кластерах вместо выбранных оптимальных 4 кластеров.

Как выглядит конечный результат сегментации K-средних?

Теперь мы готовы пропускать данные через K-means 3, 4 и 5 кластеров для сегментации наших клиентов.

Ниже представлен результат сегментации клиентов:

Напомним, что каждая информация, связанная с клиентом, создает дополнительное измерение. Приведенное выше изображение получено путем сглаживания трехмерных графиков (созданных из Recency, Frequency и MonetaryValue) в двумерные графики для простоты визуализации.

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

Если вам интересно, метод сглаживания многомерного графа и его визуализации в двумерном формате известен как t-распределенное стохастическое соседнее вложение (t-SNE). Вы можете прочитать об этом подробнее, если вам интересно; объяснение этого выходит за рамки данной статьи.

Как использовать результаты сегментации в своем маркетинге?

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

Ниже приведен пример использования Змеиный график и Диаграмма относительной важности атрибутов для построения персонажей каждого кластера сегментации. Оба обычно используются в маркетинговой индустрии для сегментации клиентов.

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

Хорошая практика - провести глубокое погружение и понять, почему K-means думает, что клиенты определенной группы принадлежат друг другу (да, к сожалению, K-means пока не может написать нам маркетинговый отчет о своем решении о сегментации).

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

Все соответствующие коды для этой статьи можно найти в моем репо.

Заключение

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

Эта статья была впервые опубликована на сайте AI Singapore’s Makerspace.