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

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

Алгоритмы кластеризации включают алгоритм K-средних, иерархическую кластеризацию, DBSCAN [4]. В этом проекте для сегментации клиентов был применен алгоритм кластеризации k-средних. K-means — это алгоритм кластеризации, основанный на принципе разделения [5]. Буква k представляет количество выбранных кластеров. Это наиболее распространенный алгоритм на основе центроида.

Этапы кластеризации K-средних [5]:

1. Определите количество кластеров (k).
2. Выберите начальные центроиды.
3. Сопоставьте каждую точку данных с ближайшим кластером (наиболее похожим на центроид).
4. Обновите среднее значение (центроид) каждого кластера.
5. Повторяйте шаги 3–4, пока все центроиды не изменятся.

Давайте прыгать прямо в!

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

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

О наборе данных

Набор данных можно загрузить с веб-сайта kaggle, который можно найти здесь.

Данные включают в себя следующие функции:

1. Идентификатор клиента
2. Пол клиента
3. Возраст клиента
4. Годовой доход клиента (в тысячах долларов)
5. Оценка расходов клиента (на основе поведение клиентов и характер расходов)

Импортировать библиотеки

Читать набор данных

Исследовательский анализ данных (EDA)

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

— переименование столбца в наборе данных
— проверка типов данных
— Описательная статистика
— Поиск нулевых или отсутствующих значений
— Поиск повторяющихся значений

Переименование столбца в наборе данных

Функция rename() используется для столбцов в кадре данных. мы переименовали второй столбец с «Жанр» на «Пол».

Проверка типов данных и формы

Функция dtypes используется для проверки всех типов данных в кадре данных.

Функция формы используется для проверки количества строк и столбцов.

В нашем наборе данных 200 строк (точки данных) и 4 столбца.

Описательная статистика

Функция description() используется для получения сводки описательной статистики данного фрейма данных. Это включает в себя среднее значение, количество, стандартное отклонение, процентили и минимальные и максимальные значения всех функций.

Поиск пустых или отсутствующих значений

Функция isnull() используется для обнаружения пропущенных значений.

Ищем повторяющиеся значения

Функция Duplicated() используется для поиска повторяющихся строк в фрейме данных. Он возвращает серию со значениями True и False, которые описывают, какие строки в кадре данных дублируются, а какие нет.

Двумерный анализ — диаграмма рассеяния

Нас интересует определение взаимосвязи между годовым доходом (k$) и показателем расходов (1–100), для чего мы будем использовать диаграмму рассеяния.

Выбор функций (выбор интересующих столбцов для кластеризации)

Нас интересуют только годовой доход (k$) и показатель расходов (1–100). Итак, давайте извлечем эти столбцы из нашего набора данных с помощью функции .loc().

Нормализация функций

Нормализация признаков помогает привести все элементы данных к общему масштабу, чтобы повысить производительность алгоритма кластеризации. Например, в нашем наборе данных годовой доход имеет значения в тысячах, а показатель расходов — всего две цифры. Поскольку данные в этих переменных имеют разный масштаб, сравнивать эти переменные сложно. Каждая точка данных преобразуется в диапазон от 0 до +1. Методы нормализации включают Min-max, десятичное масштабирование и z-оценку. Метод нормализации MinMaxScaler использовался для нормализации функций перед запуском алгоритма k-Means в наборе данных.

Выходные данные показывают преобразованные числа наших переменных Годовой доход (k$) и Оценка расходов (1–100). Все значения находятся в диапазоне от 0 до 1. Нет отрицательных значений и нет чисел больше 1.

Выбор оптимального количества кластеров

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

WCSS определяется как сумма квадратов расстояний между каждым членом кластера и его центром тяжести. Мы создаем цикл for, чтобы найти значение wcss, когда мы рассматриваем один кластер, а затем два кластера до 10. А затем находим минимальное значение wcss.

Аргумент «init» — это метод инициализации центроида.

б) Постройте график локтя

Коленчатый график используется для определения количества кластеров в наборе данных.

Из приведенного выше графика видно, что между числом кластеров = 4 и числом кластеров = 6 произошло существенное уменьшение (локоть), поэтому мы выбрали значение K для нашего набора данных равным 5.

Обучение модели кластеризации K-средних

Теперь давайте обучим модель на наборе данных с количеством кластеров 5.

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

Проверка центров кластеров (также известных как центроиды)

Визуализация всех кластеров

Бизнес-аналитика

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

Кластер 1 (зеленый): это люди со средним доходом и средним уровнем расходов. Они осторожны со своими тратами в магазине.

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

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

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

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

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

1. Саузен К., Томчак Т. и Херрманн А. (2005). Разработка таксономии стратегической сегментации рынка: основа для преодоления разрыва в реализации между нормативной сегментацией и деловой практикой. Journal of Strategic Marketing, 13(3), 151–173.

2. Кашван, К.Р., и Велу, К.М. (2013). Сегментация клиентов с использованием методов кластеризации и интеллектуального анализа данных. Международный журнал компьютерной теории и инженерии, 5(6), 856.

3. Рай П. и Сингх С. (2010). Обзор методов кластеризации. Международный журнал компьютерных приложений, 7(12), 1–5.

4. Т.Нельсон Гнанарадж, д-р К.Рамеш Кумар Н.Моника. «Обзор кластеров майнинга с использованием нового алгоритма k-mean из структурированных и неструктурированных данных». Международный журнал достижений в области компьютерных наук и технологий. 2007. Том 3, №2.

5. Хан Дж., Пей Дж. и Камбер М. (2011). Интеллектуальный анализ данных: концепции и методы. Эльзевир.