Практический пример: отчет о сегментации клиентов Arvato Financial Services

Обзор проекта

Arvato — это компания, которая предоставляет финансовые услуги, услуги в области информационных технологий (ИТ) и решения для управления цепочками поставок (SCM) для бизнес-клиентов в глобальном масштабе. Компания разрабатывает и внедряет инновационные решения с упором на автоматизацию и анализ данных.

В этом проекте демографические данные населения Германии и данные о клиентах были проанализированы для выполнения сегментации клиентов и привлечения клиентов.

"Цель этого проекта состояла в том, чтобы охарактеризовать клиентский сегмент населения и построить модель, которая сможет прогнозировать клиентов Arvato Financial Solutions"

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

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

Решение

Решение было разделено на следующие разделы:

  1. Неконтролируемое обучение — для выявления сегментов населения Германии, которые соответствуют существующим сегментам клиентов.
  2. Обучение с учителем – для определения вероятности конверсии клиентов из общей популяции.

Неконтролируемая модель попытается классифицировать генеральную совокупность с использованием алгоритма кластеризации K-средних, и мы надеемся, что клиенты отчетливо попадут в некоторые из кластеров. После этого контролируемые модели будут соответствовать данным, где переменная ответа равна «1» для тех, кто является клиентами, и «0» для тех, кто ими не является.

Показатели

Прогнозы модели будут определять оценку AUC-ROC. Простого определения точности модели будет недостаточно, потому что большинство переменных отклика были равны 0.

Потребуется оценка AUC-ROC, которая учитывает ложноположительные и ложноотрицательные результаты. Оценка AUC-ROC, равная 0, означает, что модель выполняет прямо противоположную классификацию (все истинные отрицательные значения классифицируются как положительные и наоборот), тогда как оценка, близкая к 1, означает лучшую производительность модели.

Наборы данных

Данные предоставлены Bertelsmann Arvato Analytics.

  1. AZDIAS — демографические данные по населению Германии в целом; 891 211 лиц (строк) x 366 черт (столбцов).
  2. CUSTOMERS — демографические данные о клиентах компании, занимающейся доставкой по почте; 191 652 лица (строки) х 369 признаков (столбцы).
  3. TRAIN – демографические данные о лицах, ставших мишенями маркетинговой кампании; 42 982 лиц (строки) х 367 (столбцы).
  4. ТЕСТ — демографические данные о лицах, ставших мишенями маркетинговой кампании; 42 833 лиц (строки) х 366 (столбцы).

Дополнительно было еще 2 файла для описания атрибутов:

  1. Значения атрибутов DIAS — объясняет кодировку значений.
  2. Информационные атрибуты DIAS — поясняет значения названий столбцов.

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

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

  1. В наборах данных AZDIAS и CUSTOMERS уже было много отсутствующих данных. Столбцы, в которых отсутствовало более 30 % значений, были удалены из обоих наборов данных.

2. Столбцы 18 и 19 содержали смешанные типы данных и значения «X», «XX», которые были преобразованы в NaN.

3. В наборе данных CUSTOMERS было 3 дополнительных столбца. Их удалили, чтобы сохранить целостность набора данных AZDIAS.

4. Все неизвестные значения были заменены значениями NaN в наборе данных DIAS Attribute Values.

5. Количество пропущенных значений в строке наблюдалось в наборах данных AZDIAS и CUSTOMERS. Все наблюдения с более чем 50 отсутствующими функциями были удалены.

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

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

  1. CAMEO_INTL_2015 в CAMEO_INTL_2015_wealth_type и CAMEO_INTL_2015_family_type.
  2. LP_LEBENSPHASE_FEIN в LP_LEBENSPHASE_FEIN_family_type, LP_LEBENSPHASE_FEIN_earner_type, LP_LEBENSPHASE_FEIN_age_group.
  3. PRAEGENDE_JUGENDJAHRE по типу движения (авангард или мейнстрим) и десятилетию.
  4. EINGEFUT_AMв дату и время, и единственный год был извлечен как признак.

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

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

Неконтролируемое обучение: сегментация клиентов

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

Уменьшение размерности — PCA используется для уменьшения размерности данных с минимальной потерей информации. Поскольку в наборе данных было 353 столбца, необходимо было понять, какие функции необходимы для объяснения дисперсии в наборе данных.

На приведенном выше рисунке показано, что 80% дисперсии данных можно объяснить с помощью 123 компонентов PCA.

Анализ основных компонентов

  1. Компонент 1 с объясненным_вариантным_отношением 5,18%

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

2. Компонент 2 с объясненным_отношением_вариации 4,96 %.

Это определялось несколькими автомобилями и количеством долей автомобилей малого и высшего класса.

Более высокий компонент связан с более высокой вероятностью того, что люди будут владеть автомобилями высшего класса (например, BMW, MERCEDES). Таким образом, люди, у которых больше денег и которые принадлежат к высшему и среднему классу, скорее всего, станут клиентами компаний, занимающихся доставкой по почте.

3.Компонент 3 с объясненным_отношением_вариации 3,88%

Это определялось финансовой топологией, возрастом человека и его сбережениями.

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

К-средние

Этот алгоритм использовался для разделения населения в целом и населения клиентов на разные сегменты.

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

Сравнение данных AZDIAS и CUSTOMERS

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

Также я заметил следующие характеристики таких людей:

  1. Финансово способный или хороший
  2. Владеет большим количеством акций
  3. Более высокая активность в Интернете/транзакциях или сумасшедший покупатель
  4. Старший по возрасту
  5. Экономия денег

Контролируемое обучение: привлечение клиентов

Этот раздел проекта был направлен на то, чтобы предсказать, будет ли человек клиентом или нет, на основе демографических данных.

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

Модели обучались с гиперпараметрами по умолчанию. В приведенной выше таблице показано, что производительность логистической регрессии была наихудшей, а классификатор случайного леса был снижен. Классификатор Gradient Boosting Classifier получил самый высокий балл, но самый медленный в обучении. Классификатор Ada Boost Classifier получил следующий наивысший балл, а также потребовал меньше времени для обучения. Итак, я выбрал 2 лучших алгоритма для настройки гиперпараметров.

После тонкой настройки классификаторов с использованием AUC-ROC в качестве метрики оценки я заметил, что производительность Gradient Boost улучшилась, и итоговая оценка AUC-ROC составила 0,90.

Заключение

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

1. В первой части были выполнены оценка и предварительная обработка данных.

2. В неконтролируемой части было выполнено уменьшение размерности с помощью PCA до 123 скрытых признаков, которые описывают 80% объясненной дисперсии.

3. Алгоритм кластеризации K-средних выбрал 10 кластеров и определил кластер, который должен быть целевыми клиентами компании.

4. Наконец, Gradient Boost Classifier был выбран и параметризован для построения контролируемой модели и прогнозирования тестового набора данных. Достигнутое значение AUC-ROC составило 0,9074.

Дальнейшие улучшения

  1. Обработка дисбаланса наборов данных с использованием методов выборки.
  2. Углубленный анализ характеристик для дальнейшей доработки.
  3. Настраивайте компоненты PCA и больше используйте результаты неконтролируемого обучения.