1.0 Введение (Что такое отток клиентов?)

Отток клиентов — это когда клиенты или подписчики прекращают сотрудничество с фирмой или услугами.

Проще говоря, это когда клиенты перестают быть вашими клиентами.

Данные об оттоке телекоммуникационных компаний включают информацию о вымышленной телекоммуникационной компании, которая в третьем квартале предоставляла услуги домашнего телефона и Интернета 7043 клиентам в Калифорнии. Какие клиенты ушли, остались или подписались на их сервисные шоу?

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

1.1 Данные

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

Пол — является ли клиент мужчиной или женщиной.

SeniorCitizen — является ли клиент пожилым гражданином или нет.

Партнер — есть ли у клиента партнер или нет (да, нет).

Иждивенцы — есть ли у клиента иждивенцы или нет (да, нет).

Tenure – количество месяцев, в течение которых клиент оставался в компании.

Телефонная служба – есть ли у клиента телефонная служба или нет (да, нет).

Несколько строк — есть ли у клиента несколько строк или нет.

InternetService — интернет-провайдер клиента (DSL, оптоволокно, нет)

Онлайн-безопасность — есть ли у клиента онлайн-безопасность или нет (да, нет, нет Интернета).

OnlineBackup — есть ли у клиента онлайн-резервное копирование или нет (да, нет, нет Интернета).

DeviceProtection — есть ли у клиента защита устройства или нет (да, нет, нет интернет-сервиса).

Техническая поддержка — есть ли у клиента техническая поддержка или нет (да, нет, нет Интернета).

Потоковое ТВ — есть ли у клиента потоковое телевидение или нет (да, нет, нет интернет-сервиса).

StreamingMovies — есть ли у клиента потоковое воспроизведение фильмов или нет (да, нет, нет интернет-сервиса).

Контракт – срок действия контракта с клиентом (ежемесячно, один год, два года).

Безбумажное выставление счетов — есть ли у клиента безбумажный биллинг или нет (да, нет).

Способ оплаты — способ оплаты клиента (электронный чек, чек по почте, банковский перевод (автоматически), кредитная карта (автоматически))

Ежемесячные платежи — сумма, взимаемая с клиента ежемесячно.

TotalCharges — общая сумма, списанная с клиента.

Отток – отток клиентов или нет (да или нет).

2.0 Стадия вопросов

Здесь мы записываем вопросы, на которые намерены ответить в конце процесса анализа. Была сформулирована следующая гипотеза и заданы вопросы для проведения анализа.

2.1 Гипотеза

Нулевая гипотеза (H0): выборка имеет гауссово распределение числовых признаков.

Альтернативная гипотеза (H1): Выборка не имеет гауссовского распределения числовых признаков.

Статистические тесты на нормальность:

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

Распределение Гаусса — это непрерывное распределение вероятностей с симметричными сторонами вокруг центра. Его среднее значение, медиана и мода равны.

Популярные тесты на нормальность — К² Д’Агостино, Андерсона-Дарлинга.

В этом наборе данных есть три числовых признака — MonthlyCharges, Tenure и TotalCharges.

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

2.2 Вопросы

Для нашего исследовательского анализа данных (EDA) мы должны задать правильные вопросы:

  1. Увеличивает ли отток клиентов более длительный срок пребывания в должности?
  2. Есть ли какая-то закономерность в оттоке клиентов в зависимости от пола?
  3. Какой тип контракта удерживает больше клиентов?
  4. Какой вид интернет-услуг самый прибыльный?

2.3. Двумерный анализ

Наблюдения:

Пол не влияет на отток.

Клиенты, которые с большей вероятностью уйдут:

1. у кого нет партнера

2. у кого нет иждивенцев

3. у кого есть телефонная связь

4. кто использует оптоволокно в качестве интернет-услуги

5. кто не подписался на какие-либо дополнительные услуги (онлайн-резервное копирование, онлайн-безопасность и т. д.)

6. кто имеет контракт на ежемесячной основе

7. кто выбрал безбумажный биллинг

8. кто использует электронный чек

2.4. Многомерный анализ

Стаж сильно коррелирует с TotalCharges, но не с MonthlyCharges.

Однако MonthlyCharges и TotalCharges каким-то образом коррелируют друг с другом, но значение корреляции меньше 0,8.

Наблюдения:

Клиент, который имеет более короткое время подписки на услугу (меньший срок пребывания), скорее всего, уйдет.

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

Интересно, что клиенты с более низким TotalCharges, скорее всего, уйдут.

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

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

3.0 Подготовка и обработка данных

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

3.1 Проблемы с данными

1. Некоторые столбцы неактуальны.

2. некоторые столбцы не относятся к соответствующим типам данных.

3. Значения данных в столбце «Платежный метод» неудобны для чтения.

4. В данных отсутствуют значения

3.2 Очистка данных

Учитывая, что эта статья представляет собой сводку, я сосредоточусь на основных действиях, выполняемых с DataFrames. Подробные функции вы найдете в блокноте, ссылка на который будет прикреплена в конце статьи.

1. Удалите ненужные столбцы

2. Замените правильные типы данных в соответствующих столбцах.

3. Переименуйте значения данных для удобства чтения.

4.0 Ответы на вопросы

Здесь я объединяю этапы «Анализ» и «Поделиться» процесса анализа данных с помощью кода и визуализаций.

4.1. Увеличивает ли отток клиентов более длительный срок пребывания в должности?

Нет, у клиентов с более длительным сроком оттока меньше.

4.2. Есть ли какая-то закономерность в оттоке клиентов в зависимости от пола?

График ниже показывает, что отток клиентов обоих полов очень похож.

4.3. Какой тип контракта удерживает больше клиентов?

Скорость оттока для ежемесячных контрактов намного выше, чем для контрактов с другой продолжительностью.

4.4. Какой самый прибыльный вид интернет-услуг

FiberOptic InternetService удерживает больше клиентов

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

Вот раздел для очистки, обработки набора данных и создания новых функций.

5.1 Удаление дубликатов

5.2 Создание новых функций

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

После этого мы удалим исходные столбцы, так как они нам больше не нужны.

5.3. Вмените пропущенные значения

5.4 Проверка дисбаланса данных

Теперь наши данные сбалансированы

5.5 Разделение набора данных

Я разделил свои данные о поездах на поезд и оценочный/тестовый набор.

5.6 Особенности Кодирование и масштабирование

Я использовал LabelEncoder, чтобы превратить наш целевой столбец в числа, понятные моделям мл.

Сделайте ту же кодировку для своего тестового набора.

6.0 Моделирование машинного обучения

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

В этом проекте мы сравниваем 6 разных алгоритмов, все они уже реализованы в Scikit-Learn.

  1. Логистическая регрессия
  2. Классификатор RandomForest
  3. Классификатор XGBoost
  4. K Ближайшие соседи
  5. Опорные векторные машины
  6. Дерево решенийКлассификатор

6.1. Сравнение моделей

Очень важно, чтобы мы обучили все алгоритмы с использованием гиперпараметров по умолчанию. Оценка F1 многих алгоритмов машинного обучения очень чувствительна к гиперпараметрам, выбранным для обучения модели. Более глубокий анализ будет включать оценку более широкого диапазона гиперпараметров (не только значений по умолчанию) перед выбором модели (или моделей) для настройки гиперпараметров. Тем не менее, это выходит за рамки данной статьи. В этом примере мы будем только дальше оценивать модель, которая дает более высокий балл F1, используя гиперпараметры по умолчанию. Как показано выше, это соответствует классификатору RandomForest, который показывает показатель F1, равный 90 %.

6.2. Оценка выбранной Модели

k-кратная перекрестная проверка

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

Процедура имеет единственный параметр, называемый k, который относится к количеству групп, на которые должна быть разбита данная выборка данных. Таким образом, эту процедуру часто называют k-кратной перекрестной проверкой. Когда выбрано конкретное значение k, его можно использовать вместо k в ссылке на модель, например, k=5 становится 5-кратной перекрестной проверкой.

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

Это популярный метод, потому что он прост для понимания и обычно приводит к менее предвзятой или менее оптимистичной оценке навыков модели, чем другие методы, такие как простое разделение обучения/тестирования.

Как видно из графика, Randomforest — лучший средний показатель перекрестной проверки, а также самая эффективная модель.

6.3. Настройка гиперпараметров

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

а. Классификатор RandomForest

б. Опорные векторные машины

в. Классификатор дерева решений

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

Для настройки гиперпараметров нам нужно снова разделить обучающие данные на набор для обучения и набор для тестирования гиперпараметров (часто называемый проверочным набором). Очень часто используется k-fold перекрестная проверка для настройки гиперпараметров. Обучающий набор снова делится на k выборок одинакового размера, 1 выборка используется для тестирования, а оставшиеся k-1 выборки используются для обучения модели, повторяя процесс k раз. Затем k показателей оценки (в данном случае точность) усредняются, чтобы получить единую оценку.

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

а. Классификатор RandomForest

Нет большой разницы в производительности модели после настройки гиперпараметров.

б. Машины опорных векторов

Нет большой разницы в производительности модели после настройки гиперпараметров.

в. Классификатор дерева решений

Существует разница в производительности модели после настройки гиперпараметров. Оценка модели F1 увеличилась после настройки

6.4. Прогнозы на будущее

Проверьте производительность модели (лучшие гиперпараметры ) с помощью матрицы путаницы и некоторых показателей оценки.

Классификатор RandomForest

На основе матрицы путаницы:

  1. Мы успешно предсказали 869 клиентов, которые не уходят, и 976 клиентов, которые уходят.
  2. Прогнозируется, что 167 клиентов уйдут, хотя на самом деле этого не произойдет.
  3. Есть 50 клиентов, которые, по прогнозам, не уйдут, когда они действительно уйдут.

Опорные векторные машины

На основе матрицы путаницы:

  1. Мы успешно предсказали 881 клиента, который не уходит, и 947 клиентов, которые уходят.
  2. Прогнозируется, что 155 клиентов уйдут, хотя на самом деле этого не произойдет.
  3. Есть 79 клиентов, которые, по прогнозам, не уйдут, когда они действительно уйдут.

Классификатор дерева решений

На основе матрицы путаницы:

  1. Мы успешно предсказали, что 801 клиент не уйдет, а 962 уйдут.
  2. Прогнозируется, что 235 клиентов уйдут, хотя на самом деле этого не произойдет.
  3. Есть 64 клиента, которые, по прогнозам, не уйдут, когда они действительно уйдут.

6.5. Важность функции модели

Классификатор RandomForest

Классификатор дерева решений

7.0. Выводы и Рекомендации.

мы прошли полный комплексный проект машинного обучения с использованием набора данных Telco client Churn. Мы начали с очистки данных и их анализа с визуализацией. Затем, чтобы иметь возможность построить модель машинного обучения, мы преобразовали категориальные данные в числовые переменные (разработка признаков). После преобразования данных мы попробовали 6 различных алгоритмов машинного обучения с параметрами по умолчанию.

Глядя на результаты модели, наилучшая точность в тестовом наборе достигается классификатором RandomForest с 0,89.

Учитывая высокий дисбаланс данных в сторону тех, кто не сдает клиентов, имеет смысл сравнить оценки F1, чтобы получить модель с лучшими показателями.

оценка по совместной точности и отзыву. Это также будет классификатор RandomForest с оценкой F1 0,90.

Учитывая оценки лучших моделей, можно заметить, что оценки F1 ненамного превышают 90%.

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

ценность бизнеса.

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

клиенты.

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

Какие корректировки можно внести в ежемесячные контракты, которые были бы более выгодными для клиентов, не отнимая

обжалование однолетнего или двухлетнего контракта?

Для классификатора RandomForest вы можете видеть, что TotalCharges оказывает положительное влияние на данные и некоторые функции, такие как

InternetService_fibreoptic, contract_one year и т. д. следует рассматривать критически, так как это оказывает негативное влияние на целевую колонку.

Рекомендация и запрос

Мы должны уделять больше внимания клиентам, которые соответствуют критериям ниже

  1. Контракт: ежемесячно
  2. Срок пребывания в должности: короткий срок пребывания в должности
  3. Интернет-сервис: оптоволокно
  4. Способ оплаты: Электронный чек7.0 Заключение

Найдите ниже ссылку на весь код на github.