Фон

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

Процесс

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

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

Разработка функций

  1. Вторая половина месяца. С того дня и месяца, когда с клиентом последний раз связались, я обнаружил, что во второй половине месяца произошло больше подписок.
  2. Новые клиенты. По продолжительности взаимодействия я могу определить, был ли клиент существующим или новым (т. е. 0 секунд взаимодействия).
  3. Тип кластера. Сегментация клиентов может расширить возможности компаний по нацеливанию на клиентов и проведению более эффективных кампаний, что, в свою очередь, улучшает отношения с клиентами, что может быть отражено в прибыльности бизнеса. Таким образом, перед построением модели классификации я применил кластеризацию k-режимов, чтобы сегментировать популяцию клиентов по различным профилям, и использовал их соответствующие метки в качестве дополнительных входных данных для модели.

Выбор функции

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

Построение модели

Набор данных был разделен на 20% тестовых и 80% наборов данных перекрестной проверки. Я использовал стратифицированную 5-кратную перекрестную проверку, чтобы в каждой кратности был одинаковый процент выборок для каждого класса. Используя 5 групп обучения и проверки, данные были подогнаны к трем алгоритмам обучения с учителем:

  1. LightGBM
  2. Catboost
  3. Случайный лес

Я попытался подогнать данные, используя более простую модель, такую ​​как логистическая регрессия, но производительность модели была не так хороша, как вышеупомянутые алгоритмы повышения градиента и алгоритмов упаковки. Это могло произойти из-за категоричности моих функций, которые требуют их преобразования в значения с быстрой кодировкой. Однако это приводит к разреженному набору данных, что снижает производительность модели. С другой стороны, модели повышения градиента имеют встроенную поддержку категориального кодирования, которая может обрабатывать категориальные функции без применения однократного кодирования, тем самым улучшая производительность моделей. LightGBM был в конечном итоге выбран вместо Catboost из-за его более низкой потери журнала и более высокого балла F1. Но показатель запоминания относительно низкий для трех моделей - около 0,4. Это означает, что из 10 подписавшихся клиентов мы привлекли только 4.

Можем ли мы улучшить показатель запоминания? Да! После уравновешивания нашего набора данных путем передискретизации количества подписанных людей показатель отзыва увеличился на 40%. В этом контексте, между точностью и отзывчивостью, показатель отзыва - это показатель, вызывающий беспокойство, потому что я хочу свести к минимуму ложноотрицательные результаты (т. Е. Людей, которые подписались бы, но мы их не задействовали). Тем не менее, оценка точности приличная (т. Е. Из 10 человек, которых мы привлекли, подписались 4).

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

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

Заключение

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

Создание приложения Flask и его развертывание на Heroku

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

Маркетинговые команды могут вводить атрибуты клиента в этом приложении. Нажатие на кнопку «отправить» увеличивает вероятность того, что клиент действительно подпишется на срочный депозит. Предполагая, что внутренний порог маркетинговой команды составляет 60%, с данными входными данными, показанными в видео, модель сгенерировала прогноз 80% -ной вероятности подписки этого клиента. Поскольку вероятность превышает пороговое значение, они, возможно, решат потратить больше времени на то, чтобы поделиться с клиентом преимуществами этого срочного депозита и т. Д.

Будущая работа

Помимо демографических характеристик и характеристик кампании, я мог

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

[Этот проект был выполнен в рамках иммерсивной программы обработки и анализа данных Metis. Вы можете найти файлы этого проекта на моем GitHub, а слайды - здесь.]

Не стесняйтесь обращаться с любыми вопросами :)