Введение в сегментацию клиентов с помощью Python

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

Что такое сегментация клиентов?

Сегментация клиентов — это процесс разделения клиентов на группы или кластеры на основе общих характеристик.

В модели Business to Business компания может сегментировать клиентов на основе различных факторов, таких как

1) Демографические (возраст, пол, род занятий, семейное положение)

2) Географический (местоположение, регион, город/село)

3) Поведенческие (расходы, потребление, использование)

4) Психографический (образ жизни, социальный статус, личность)

Необходимость сегментации клиентов

Выявить наиболее потенциальных клиентов

Легко общаться с целевой группой аудитории

Для улучшения качества обслуживания, лояльности и удержания

Лучшее понимание потребностей клиента в каждом сегменте

Для повышения продаж и перекрестных продаж продуктов

Определить новые продукты, которые могут заинтересовать клиентов

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

Анализ RFM (Recency, Frequency, Monetary) — это подход, основанный на поведении, который группирует клиентов в сегменты. Он группирует клиентов на основе их предыдущих транзакций покупки с учетом таких факторов, как

· Как недавно

· Как часто

· Сколько клиент купил

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

Есть сегмент клиентов, которые тратят больше всего, но что, если они купили только один раз или как недавно? Часто ли они покупают наш продукт?

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

· Недавность (R): Кто недавно купил? Количество дней с момента последней покупки (наименее давность)

· Частота (F): Кто часто покупал? Имеется в виду общее количество покупок. (высокая частота)

Денежная стоимость (M): У кого большая сумма покупки? Это означает, что общая сумма потраченных клиентом денег (высокая денежная стоимость)

Шаги в Python

1) Загрузить данные

Источник данных: https://www.kaggle.com/jihyeseo/online-retail-data-set-from-uci-ml-repo?

2) Исследование данных

а) Уникальные ценности

б) Группировка по странам

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

а) Удаление строк с отрицательными значениями количества

б) Проверка повторяющихся значений

c) Проверка пропущенных значений и их удаление

4) Предварительная обработка данных

а) Расчет общей цены и добавление ее в качестве новой функции

б) Расчет даты снимка с использованием даты последнего счета

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

I. Расчет значений RFM

Давность

i) Группировать клиентов на основе их идентификатора

ii) Найдите разницу между датой выставления счета и датой моментального снимка, чтобы узнать их актуальность.

Частота

i) Группировать клиентов на основе их идентификатора

ii) Подсчитайте нет. из. счет для каждого клиента, чтобы узнать их частоту

Денежный

i) Группировать клиентов на основе их идентификатора

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

II. Постройте распределения RFM

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

III. Создайте группы R, F и M на основе квартилей

IV. Вычислите оценку RFM — добавьте новый столбец, чтобы объединить оценку RFM

V. Добавление клиентов в корзину каждого сегмента на основе оценки RFM

VI. Вычисление среднего значения в ячейках каждого сегмента для лучшей статистики сегмента

VII. Построение карты на основе статистики сегмента для лучшего понимания

Заключение

В этом руководстве мы подробно рассмотрели сегментацию клиентов, анализ RFM и реализацию RFM в python. Кроме того, мы изучили некоторые основные понятия панд, такие как обработка дубликатов, группировка, qcut() и squarifyplot для ячеек на основе выборочных квантилей.

Надеюсь, это поможет проанализировать ваши собственные наборы данных.

Удачного обучения!

Шиваранджани