Прогнозирование оттока клиентов python

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Прогнозирование оттока клиентов банка

Stuksus/Churn-prediction

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Прогнозирование оттока клиентов банка

Из «Бета-Банка» стали уходить клиенты. Каждый месяц. Немного, но заметно. Банковские маркетологи посчитали: сохранять текущих клиентов дешевле, чем привлекать новых. Нужно спрогнозировать, уйдёт клиент из банка в ближайшее время или нет. Мне предоставлены исторические данные о поведении клиентов и расторжении договоров с банком.

  • RowNumber — индекс строки в данных
  • CustomerId — уникальный идентификатор клиента
  • Surname — фамилия
  • CreditScore — кредитный рейтинг
  • Geography — страна проживания
  • Gender — пол
  • Age — возраст
  • Tenure — количество недвижимости у клиента
  • Balance — баланс на счёте
  • NumOfProducts — количество продуктов банка, используемых клиентом
  • HasCrCard — наличие кредитной карты
  • IsActiveMember — активность клиента
  • EstimatedSalary — предполагаемая зарплата
  • Exited — Целевой признак, факт ухода клиента
  • Лучшая модель основана на алгоритме RandomForest
  • Лучший индекс: 7 (он означает, что лучше всего показала себя выборка, где пропуски были заполнены 0)
  • Лучший показатель F1 метрики: 0.6150409530900968
  • Лучший показатель ROC-AUC: 0.86
  • Параметры, дающие лучший результат:
  • Лучше всего выравнивать через class_weight=»balanced»

About

Прогнозирование оттока клиентов банка

Источник

Расчет оттока клиентов банка (решение задачи с помощью Python)

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

Выборка данных

Выборка данных содержит порядка 10000 строк и 15 столбцов.Вот некоторые из параметров:

Задача

  1. Найти параметры максимально влияющие на отток клиентов.
  2. Создание гипотезы, предсказывающей отток клиентов банка.

Инструментарий

Импорт библиотек

import pandas as pd from sklearn.cross_validation import train_test_split from sklearn import svm import seaborn as sns import matplotlib.pyplot as plt from sklearn.metrics import mean_squared_error import numpy as np from sklearn.naive_bayes import GaussianNB

Загрузка и просмотр данных

dataframe = pd.read_csv("../input/Churn_Modelling.csv") dataframe.head()

Преобразование данных

Для правильной работы классификатора необходимо преобразование категориального признака в числовой.На представленных выше данных в глаза сразу бросается два столбца: «Пол» и «Географическое положение». Проведем преобразования:

dataframe['Geography'].replace("France",1,inplace= True) dataframe['Geography'].replace("Spain",2,inplace = True) dataframe['Geography'].replace("Germany",3,inplace=True) dataframe['Gender'].replace("Female",0,inplace = True) dataframe['Gender'].replace("Male",1,inplace=True)

Создание корреляционной матрицы

correlation = dataframe.corr() plt.figure(figsize=(15,15)) sns.heatmap(correlation, vmax=1, square=True,annot=True,cmap='cubehelix') plt.title('Correlation between different fearures') plt.show()

Корреляционная показывает, какие параметры будут влиять на результат. Сразу можно выделить 3 положительные корреляции: «Баланс счета», «Возраст», «Географическое положение».

Кросс валидация

Для избежания проблем с переобучением разделим наш набор данных:

X_train, X_test, y_train, y_test = train_test_split( X, Y, test_size=0.4, random_state=0) 

Прогноз

clf = GaussianNB() clf = clf.fit(X_train ,y_train) clf.score(X_test, y_test)

Источник

Создание модели прогнозирования оттока с использованием Python

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

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

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

Глядя на отписку таким образом, мы можем, например, узнать, что 25% наших клиентов из майской когорты 2018 года ушли через год. Но что делать с этой информацией? Даже сгруппировав общие причины отказа от подписки для всех ушедших клиентов, очень сложно определить действия, которые необходимо предпринять для решения проблемы.

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

ПОЧЕМУ ТАК ВАЖНО ЗАБОТИТЬСЯ О ВЗБИВАНИИ?

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

1) Увеличение затрат

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

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

2) Потеря дохода и оценка компании

Увеличение коэффициента текучести всего на 5% может снизить прибыль на 25–95% и повлиять на оценку компании.

3) Проблема дырявого ведра

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

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

4) Неудовлетворенность клиентов

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

КАК ПРИМЕНЯТЬ МАШИННОЕ ОБУЧЕНИЕ ДЛЯ ПРОГНОЗИРОВАНИЯ ОТТОКА?

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

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

Адаптируя статистическую модель в соответствии с этими предикторами, вы можете получить вероятность оттока существующих клиентов.

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

ПРОГНОЗИРОВАНИЕ ОТТОКА С ИСПОЛЬЗОВАНИЕМ PYTHON

Была проведена аналитическая работа в базе данных оттока, доступной в Kaggle, и на ее основе была построена модель с использованием python для классификации вероятности возникновения оттока некоторым клиентом.

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

Источник

Читайте также:  textBoxes.html
Оцените статью