Churn Prediction

datadriven tillväxt med Python

Churn Prediction med Xgboost binär klassificering

denna serie artiklar har utformats för att förklara hur du använder Python på ett förenklat sätt för att driva ditt företags tillväxt genom att tillämpa det prediktiva tillvägagångssättet för alla dina handlingar. Det kommer att vara en kombination av programmering, dataanalys och maskininlärning.

jag kommer att täcka alla ämnen i följande nio artiklar:

1 – Känn dina mätvärden

2 – kundsegmentering

3 – förutsägelse av kundens livstidsvärde

4 – Churn – förutsägelse

5 – förutsäga nästa Köpdag

6 – förutsäga försäljning

7 – Marknadssvarsmodeller

8 – uplift modeling

9-A/B testning design och utförande

artiklar kommer att ha sina egna kodavsnitt så att du enkelt kan tillämpa dem. Om du är super ny på programmering, Du kan ha en bra introduktion för Python och pandor (en berömd bibliotek som vi kommer att använda på allt) här. Men fortfarande utan en kodningsintroduktion kan du lära dig begreppen, hur du använder dina data och börja generera värde ur det:

ibland måste du springa innan du kan gå — Tony Stark

som en förutsättning, se till att Jupyter Notebook och Python är installerade på din dator. Kodavsnitten körs endast på Jupyter Notebook.

Okej, låt oss börja.

i de tre sista avsnitten i Data Driven Growth-serien har vi upptäckt att spåra viktiga mätvärden, kundsegmentering och förutsäga livstidsvärdet programmatiskt. Eftersom vi känner våra bästa kunder genom segmentering och livstidsvärdesprognos, bör vi också arbeta hårt för att behålla dem. Det är det som gör Retentionsgraden är en av de mest kritiska mätvärdena.

Retention Rate är en indikation på hur bra är din produktmarknad fit (PMF). Om din PMF inte är tillfredsställande, bör du se dina kunder spottar mycket snart. Ett av de kraftfulla verktygen för att förbättra Retentionshastigheten (därav PMF) är Churn Prediction. Genom att använda den här tekniken kan du enkelt ta reda på vem som sannolikt kommer att churn under den angivna perioden. I den här artikeln, Vi kommer att använda en Telco dataset och gå igenom följande steg för att utveckla en Churn förutsägelse modell:

  • Exploratory data analysis
  • Feature engineering
  • Undersök hur funktionerna påverkar Retention genom att använda logistisk Regression
  • bygga en klassificeringsmodell med XGBoost

Exploratory data Analysis

vi börjar med att kolla hur våra data ser ut och visualisera hur det interagerar med vår etikett (churned eller inte?). Låt oss börja med att importera våra data och skriva ut de första tio raderna:

df_data = pd.read_csv('churn_data.csv')
df_data.head(10)

utgång:

ett bättre sätt att se alla kolumner och deras datatyp använder. info () metod:

det verkar som om våra data faller under två kategorier:

  • kategoriska funktioner: kön, strömmande tv, betalningsmetod &, etc.
  • numeriska funktioner: tenure, månadsavgifter, totala avgifter

nu börjar vi från de kategoriska, vi belyser alla funktioner och ser hur användbara de är för att identifiera om en kund kommer att churn.

som en sidoanteckning, i den dataset vi har, är Churn-kolumnen sträng med ja/nej-värden. Vi konverterar det till heltal för att göra det lättare att använda i vår analys.

df_data.loc = 0 
df_data.loc = 1

kön

genom att använda kodblocket nedan visualiserar vi enkelt hur Churn Rate (1-retentionshastighet) ser ut för varje värde:

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)

utgång:

Churn Rate efter kön

könsfördelning för churn rate:

kvinnliga kunder är mer benägna att churn vs manliga kunder, men skillnaden är minimal (~0.8%).

låt oss replikera detta för alla kategoriska kolumner. För att inte upprepa vad vi gjorde för kön kan du hitta koden som behövs för alla nedan:

nu går vi igenom de funktioner som visar den mest signifikanta skillnaden mellan deras värden:

Internet Service

Churn Rate by Internet Service

detta diagram visar att kunder som har fiberoptik som Internettjänst är mer benägna att churn. Jag förväntar mig normalt Fiberoptiska kunder att churn mindre på grund av att de använder en mer premiumtjänst. Men detta kan hända på grund av höga priser, konkurrens, kundservice och många andra skäl.

kontrakt

Churn Rate per kontrakt

som förväntat betyder det kortare kontraktet högre churn rate.

teknisk Support

Churn Rate av teknisk Support

kunder använder inte teknisk Support är mer som att churn (~25% skillnad).

betalningsmetod

automatisera betalningen gör kunden mer benägna att behålla i din plattform (~30% skillnad).

Övriga

Lämna ett svar

Din e-postadress kommer inte publiceras.