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

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

У данных есть ответы! Используя Python, pandas и scikit-learn, я изучил набор данных, чтобы извлечь содержательную информацию. Раскрывая закономерности и тенденции, я получил бесценные знания, которые могут помочь компаниям сохранить лояльных клиентов и оптимизировать стратегии.

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

# Data packages
import pandas as pd
import numpy as np

# Machine Learning / Classification packages
from sklearn.metrics import roc_auc_score
from sklearn.model_selection import train_test_split
from sklearn.dummy import DummyClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import LabelEncoder
from sklearn.ensemble import RandomForestClassifier
from sklearn.preprocessing import MinMaxScaler

Как и в любом путешествии с данными, в этом были свои проблемы. Но преодоление их только углубило мое понимание анализа данных. От обработкии масштабирования несбалансированных данных до кодирования данных с помощью Twist — One-Hot Encoding — я понял, что настойчивость в погоне за данными окупается. - управляемые инсайты.

Подготовив данные и настроив функции, пришло время заглянуть в будущее — прогнозировать отток клиентов!

# Separate the target variable from the features in the train data
X_train = train_df.drop(columns=['Churn'])
y_train = train_df['Churn']

# Initialize and train the logistic regression model
model = LogisticRegression()
model.fit(X_train, y_train)

# Predict the probability of churn for test data
X_test = test_df
predicted_probabilities = model.predict_proba(X_test)[:, 1]

Мы сохраняем предсказанные_вероятности в предсказании_дф

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

# Filter the DataFrame where predicted_probability is greater than 0.7
filtered_df = prediction_df[prediction_df['predicted_probability'] > 0.7]
filtered_df = filtered_df.reset_index(drop=True)
print(filtered_df.head(10))

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

   CustomerID            predicted_probability
0  Z45HXXJ17K                   0.72
1  LX4YJTT86C                   0.72
2  GGNUT9R1FX                   0.76
3  TI3AOS6QXT                   0.72
4  FX130CPZSB                   0.74
5  JSL54FCFF0                   0.74
6  H1HEI1HILR                   0.73
7  U3YE72ZPLP                   0.73
8  FU5AO3A0OJ                   0.74
9  UYYN4Q0EE9                   0.74

Оценка ROC AUC была рассчитана как: 0,7509.

(кривая AUC (площадь под кривой) ROC (рабочие характеристики приемника))

Это обертка! В рамках этого проекта прогнозирования оттока я успешно управлял кодированием данных, нормализацией и прогнозированием моделей. Имея эти методы в нашем арсенале, мы теперь можем реализовывать мощные бизнес-стратегии для поддержания вовлеченности аудитории в индустрии потокового видео. Давайте встряхнем вещи! 🚀🎬

Я приглашаю вас изучить мой репозиторий GitHub

Ссылка на GitHub: Проект прогнозирования оттока