Datengetriebenes Wachstum mit Python
Churn Prediction mit XGBoost Binary Classification
Diese Artikelserie wurde entwickelt, um zu erklären, wie Sie Python auf vereinfachte Weise verwenden, um das Wachstum Ihres Unternehmens zu fördern, indem Sie den prädiktiven Ansatz auf alle Ihre Aktionen anwenden. Es wird eine Kombination aus Programmierung, Datenanalyse und maschinellem Lernen sein.
Ich werde alle Themen in den folgenden neun Artikeln behandeln:
1- Kennen Sie Ihre Metriken
2- Kundensegmentierung
3- Vorhersage des Customer Lifetime Value
4- Abwanderungsvorhersage
5- Vorhersage des nächsten Einkaufstages
6- Vorhersage des Umsatzes
7- Marktreaktionsmodelle
8- Uplift-Modellierung
9- A / B-Testdesign und -ausführung
Artikel haben ihre eigenen Code-Snippets, damit Sie sie einfach anwenden können. Wenn Sie super neu in der Programmierung sind, können Sie hier eine gute Einführung in Python und Pandas (eine berühmte Bibliothek, die wir für alles verwenden werden) erhalten. Aber ohne eine Einführung in die Codierung können Sie die Konzepte lernen, wie Sie Ihre Daten verwenden und daraus Wert generieren:
Manchmal musst du rennen, bevor du laufen kannst — Tony Stark
Stellen Sie als Voraussetzung sicher, dass Jupyter Notebook und Python auf Ihrem Computer installiert sind. Die Code-Snippets werden nur auf Jupyter Notebook ausgeführt.
Okay, fangen wir an.
In den letzten drei Abschnitten der Data Driven Growth-Serie haben wir die Verfolgung wesentlicher Metriken, die Kundensegmentierung und die programmgesteuerte Vorhersage des Lifetime Value entdeckt. Da wir unsere besten Kunden durch Segmentierung und Lifetime Value Prediction kennen, sollten wir auch hart daran arbeiten, sie zu halten. Das macht die Retentionsrate zu einer der kritischsten Metriken.
Die Retentionsrate ist ein Indikator dafür, wie gut Ihr Product Market Fit (PMF) ist. Wenn Ihr PMF nicht zufriedenstellend ist, sollten Sie sehen, dass Ihre Kunden sehr bald abwandern. Eines der leistungsfähigsten Tools zur Verbesserung der Bindungsrate (daher der PMF) ist die Abwanderungsvorhersage. Mit dieser Technik können Sie leicht herausfinden, wer in einem bestimmten Zeitraum wahrscheinlich abwandert. In diesem Artikel verwenden wir einen Telco-Datensatz und gehen die folgenden Schritte durch, um ein Churn-Vorhersagemodell zu entwickeln:
- Explorative Datenanalyse
- Feature Engineering
- Untersuchung der Auswirkungen der Features auf die Retention mithilfe der logistischen Regression
- Erstellen eines Klassifikationsmodells mit XGBoost
Explorative Datenanalyse
Wir beginnen damit, herauszufinden, wie unsere Daten aussehen, und visualisieren, wie sie mit unserem Label interagieren (aufgewühlt oder nicht?). Beginnen wir mit dem Import unserer Daten und drucken die ersten zehn Zeilen:
df_data = pd.read_csv('churn_data.csv')
df_data.head(10)
Ausgabe:
Eine bessere Möglichkeit, alle Spalten und ihren Datentyp anzuzeigen, ist die Verwendung der .info () -Methode:
Es scheint, dass unsere Daten in zwei Kategorien fallen:
- Kategoriale Merkmale: Geschlecht, Streaming-TV, Zahlungsmethode & usw.
- Numerische Merkmale: amtszeit, monatliche Gebühren, Gesamtkosten
Ausgehend von den kategorialen Funktionen beleuchten wir nun alle Funktionen und sehen, wie hilfreich sie sind, um festzustellen, ob ein Kunde abwandert.
Als Randnotiz ist die Churn-Spalte in dem Datensatz, den wir haben, eine Zeichenfolge mit Ja / Nein-Werten. Wir konvertieren es in Integer, um die Verwendung in unserer Analyse zu vereinfachen.
df_data.loc = 0
df_data.loc = 1
Gender
Mithilfe des folgenden Codeblocks können wir leicht visualisieren, wie die Abwanderungsrate (1-Retentionsrate) für jeden Wert aussieht:
df_plot = df_data.groupby('gender').Churn.mean().reset_index()
plot_data = ,
y=df_plot,
width = ,
marker=dict(
color=)
)
]plot_layout = go.Layout(
xaxis={"type": "category"},
yaxis={"title": "Churn Rate"},
title='Gender',
plot_bgcolor = 'rgb(243,243,243)',
paper_bgcolor = 'rgb(243,243,243)',
)
fig = go.Figure(data=plot_data, layout=plot_layout)
pyoff.iplot(fig)
Ausgang:
Aufschlüsselung nach Geschlecht für die Abwanderungsrate:
Weibliche Kunden sind eher Churn vs. männliche Kunden, aber der Unterschied ist minimal (~ 0,8%).
Replizieren wir dies für alle kategorialen Spalten. Um nicht zu wiederholen, was wir für das Geschlecht getan haben, finden Sie den Code, der für alle unten benötigt wird:
Jetzt gehen wir über die Funktionen, die den signifikantesten Unterschied über ihre Werte zeigen:
Internet Service
Diese Tabelle zeigt, dass Kunden mit Glasfaser als Internetdienst eher abwandern. Normalerweise erwarte ich, dass Glasfaserkunden weniger abwandern, da sie einen Premium-Service nutzen. Dies kann jedoch aufgrund hoher Preise, Wettbewerb, Kundenservice und vieler anderer Gründe geschehen.
Vertrag
Wie erwartet bedeutet der kürzere Vertrag eine höhere Abwanderungsrate.
Technischer Support
Kunden, die keinen technischen Support nutzen, wechseln eher (~ 25% Unterschied).
Zahlungsmethode
Die Automatisierung der Zahlung erhöht die Wahrscheinlichkeit, dass der Kunde an Ihrer Plattform festhält (~ 30% Unterschied).
Andere