datadrevet vækst med Python
Churn Prediction med binær klassifikation
denne serie af artikler er designet til at forklare, hvordan du bruger Python på en forenklet måde til at brænde din virksomheds vækst ved at anvende den forudsigelige tilgang til alle dine handlinger. Det vil være en kombination af programmering, dataanalyse og maskinindlæring.
jeg vil dække alle emnerne i de følgende ni artikler:
1 – Kend dine målinger
2 – kundesegmentering
3 – kunde levetid værdi forudsigelse
4 – Churn forudsigelse
5 – forudsigelse Næste købsdag
6 – forudsigelse af salg
7 – Markedssvarmodeller
8 – uplift modeling
9 – A/B test Design og udførelse
artikler vil have deres egne kodestykker, så du nemt kan anvende dem. Hvis du er super ny til programmering, kan du få en god introduktion til Python og Pandas (et berømt bibliotek, som vi vil bruge på alt) her. Men stadig uden en kodningsintroduktion kan du lære begreberne, hvordan du bruger dine data og begynder at generere værdi ud af det:
nogle gange skal du løbe, før du kan gå — Tony Stark
som en forudsætning skal du være sikker på, at Jupyter Notebook og Python er installeret på din computer. Kodestykkerne kører kun på Jupyter Notebook.
Okay, lad os starte.
i de sidste tre sektioner af datadrevet Vækstserie har vi opdaget sporing af vigtige målinger, kundesegmentering og forudsigelse af levetidsværdien programmatisk. Da vi kender vores bedste kunder ved segmentering og forudsigelse af levetidsværdi, bør vi også arbejde hårdt på at bevare dem. Det er det, der gør Retention Rate er en af de mest kritiske målinger.
Retention Rate er en indikation af, hvor god er din produktmarkedstilpasning (PMF). Hvis din PMF ikke er tilfredsstillende, bør du se dine kunder churning meget snart. Et af de kraftfulde værktøjer til at forbedre Fastholdelseshastigheden (dermed PMF) er Churn forudsigelse. Ved at bruge denne teknik kan du nemt finde ud af, hvem der sandsynligvis vil churn i den givne periode. I denne artikel bruger vi et Telco-datasæt og gennemgår følgende trin for at udvikle en churn-forudsigelsesmodel:
- sonderende dataanalyse
- Feature engineering
- undersøgelse af, hvordan funktionerne påvirker fastholdelse ved hjælp af logistisk Regression
- opbygning af en klassificeringsmodel med Gboost
sonderende dataanalyse
vi starter med at tjekke, hvordan vores data ser ud og visualisere, hvordan de interagerer med vores etiket (churned eller ej?). Lad os starte med at importere vores data og udskrive de første ti rækker:
df_data = pd.read_csv('churn_data.csv')
df_data.head(10)
udgang:
en bedre måde at se alle kolonnerne og deres datatype bruger .info() metode:
Det ser ud til, at vores data falder ind under to kategorier:
- kategoriske funktioner: køn, streaming tv, betalingsmetode & osv.
- numeriske funktioner: uopsigelighed, månedlige gebyrer, samlede gebyrer
nu fra de kategoriske, kaster vi lys over alle funktioner og ser, hvor nyttige de er til at identificere, om en kunde skal churn.
som en sidebemærkning er Churn-kolonnen i det datasæt, vi har, streng med ja/nej-værdier. Vi konverterer det til heltal for at gøre det lettere at bruge i vores Analyse.
df_data.loc = 0
df_data.loc = 1
køn
ved at bruge kodeblokken nedenfor visualiserer vi let, hvordan Churn Rate (1-Retention Rate) ser ud for hver værdi:
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)
Output:
kønsfordeling for churn rate:
kvindelige kunder er mere tilbøjelige til at churn vs. mandlige kunder, men forskellen er minimal (~0.8%).
lad os gentage dette for alle kategoriske kolonner. For ikke at gentage, hvad vi gjorde for køn, kan du finde den kode, der er nødvendig for alle nedenfor:
nu går vi over de funktioner, der viser den væsentligste forskel på tværs af deres værdier:
Internet Service
dette diagram afslører kunder, der har fiberoptisk som internettjeneste, er mere tilbøjelige til at churn. Jeg forventer normalt fiberoptiske kunder at churn mindre på grund af at de bruger en mere premium service. Men dette kan ske på grund af høje priser, konkurrence, kundeservice og mange andre grunde.
kontrakt
som forventet betyder den kortere kontrakt højere churn rate.
teknisk Support
kunder bruger ikke teknisk Support er mere som at churn (~25% forskel).
betalingsmetode
automatisering af betalingen gør kunden mere tilbøjelig til at beholde i din platform (~30% forskel).
andre