Как специалист по данным, я пытался изучить новые методы, которые я мог бы использовать для решения различных бизнес-задач, которые существуют. «Отток» — один из ключевых KPI, который многие компании пытаются минимизировать, в то же время привлечение новых клиентов и удержание клиентов остается приоритетом. Таким образом, эта конкретная проблема «оттока» становится важной для любого бизнеса.

Существует множество методов для решения этой проблемы, 2 из наиболее распространенных и популярных из них — это анализ выживания и методы, основанные на машинном обучении. Оба эти метода различны и различаются по своим методологиям моделирования оттока. Методы машинного обучения работают лучше и могут справляться со сложными данными, чего не может анализ выживания. Анализ выживаемости, с другой стороны, легко реализовать и решить конкретные вопросы, такие как время оттока клиентов. При этом я не говорю, что один метод лучше другого. Не существует методологии серебряной пули для прогнозирования оттока клиентов. Это зависит от типа бизнеса, типа услуги и т. д., а также от вопросов, которые пытается решить Data Scientist.

Я буду изучать как анализ выживания, так и методы машинного обучения с использованием Python и буду использовать набор данных IBM Watson Telco, который был так щедро предоставлен.

Анализ выживания

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

Преимущества анализа выживания заключаются в том, что он:

• Моделирует время до отказа или события.

• Может учитывать цензуру (справа, слева или между)

Сравнивает выживаемость между двумя и более группами, сегментами или ахетипами.

  • Оцените взаимосвязь между ковариатами и временем выживания

Метод Каплана-Мейера

Это хорошо работает для небольших наборов данных. Поскольку мы используем Python, для начала мы можем воспользоваться библиотекой Cam Davidson-Pilon lifelines. Это поможет нам оценить Функция выживания, S(t), которая определяет вероятность выживания дольше, чем время t.

Мы можем наблюдать, что около 25% клиентов, использующих одну телефонную линию, уходят к 23 неделям, в то время как для клиентов с несколькими телефонными линиями требуется 43 недели. Это в значительной степени разница в доходах за 18 недель. Сюжет, по сути, обеспечивает функцию выживания на временной шкале / сроке пребывания. Проверьте код на моей ссылке на github.

Для тщательного тестирования различий Lifelines поставляется с библиотекой статистики. Функция logrank_test сравнивает, равен ли процесс генерации «смерти» двух популяций. Я рассчитал коэффициент риска, и мы можем понять, что риск оттока для клиентов с одной линией в 3,14 раза выше, чем для клиентов с несколькими линиями.

Примечание. Если вы используете, скажем, другой инструмент, например SAS, вы можете использовать «PROC LIFETEST» для небольших наборов данных или «PROC LIFETABLE» для больших наборов данных. Это поможет нам оценить «функцию выживания»

Часть 2 → работа в процессе!! В нем будут рассмотрены методы машинного обучения для моделирования оттока.