Data Driven Growth with Python
Churn Prediction with XGBoost Binary Classification
Questa serie di articoli è stata progettata per spiegare come utilizzare Python in modo semplicistico per alimentare la crescita della tua azienda applicando l’approccio predittivo a tutte le tue azioni. Sarà una combinazione di programmazione, analisi dei dati e apprendimento automatico.
Tratterò tutti gli argomenti nei seguenti nove articoli:
1 – Conosci Il Tuo Metriche
2 – Segmentazione Della Clientela
3 – Customer Lifetime Value La Stima
4 – La Varianza Di Stima
5 – Previsione Di Un Acquisto Successivo Giorno
6 – Previsione Di Vendita
7 – Mercato Modelli Di Risposta
8 – Sollevamento Di Modellazione
9 – A/B Testing di Progettazione e di Esecuzione
Articoli avranno i loro frammenti di codice per consentire un facile applicarle. Se sei super nuovo alla programmazione, puoi avere una buona introduzione per Python e Panda (una famosa libreria che useremo su tutto) qui. Ma ancora senza un’introduzione di codifica, puoi imparare i concetti, come utilizzare i tuoi dati e iniziare a generare valore da esso:
A volte devi correre prima di poter camminare — Tony Stark
Come pre-requisito, assicurati che Jupyter Notebook e Python siano installati sul tuo computer. I frammenti di codice verranno eseguiti solo su Jupyter Notebook.
Va bene, iniziamo.
Nelle ultime tre sezioni di Data Driven Growth series, abbiamo scoperto il monitoraggio delle metriche essenziali, la segmentazione dei clienti e la previsione del lifetime value a livello di programmazione. Poiché conosciamo i nostri migliori clienti per segmentazione e previsione del valore a vita, dovremmo anche lavorare sodo per mantenerli. Questo è ciò che rende Retention Rate è una delle metriche più critiche.
Il tasso di ritenzione è un’indicazione di quanto è buono il tuo product Market fit (PMF). Se il tuo PMF non è soddisfacente, dovresti vedere i tuoi clienti sfornare molto presto. Uno dei potenti strumenti per migliorare il tasso di ritenzione (da qui il PMF) è Churn Prediction. Usando questa tecnica, puoi facilmente scoprire chi rischia di sfornare nel periodo dato. In questo articolo, usiamo una Telco set di dati e di andare oltre la seguente procedura per lo sviluppo di un modello di Stima della Varianza:
- Analisi esplorativa dei dati
- Funzione ingegneria
- Indagare come le caratteristiche che influenzano la Ritenzione utilizzando la Regressione Logistica
- la Costruzione di un modello di classificazione con XGBoost
Analisi Esplorativa dei Dati
iniziamo con il controllo dei nostri dati e di visualizzare il modo in cui interagisce con la nostra etichetta (zangolato di creme o no?). Iniziamo con l’importazione dei nostri dati e stampiamo le prime dieci righe:
df_data = pd.read_csv('churn_data.csv')
df_data.head(10)
Output:
Un modo migliore per vedere tutte le colonne e il loro tipo di dati che si sta utilizzando .info() metodo:
sembra Che i nostri dati ricadono in due categorie:
- Categorico caratteristiche: il sesso, la tv in streaming, metodo di pagamento &, etc.
- Caratteristiche numeriche: possesso, spese mensili, spese totali
Ora, partendo da quelli categorici, facciamo luce su tutte le funzionalità e vediamo quanto sono utili per identificare se un cliente sta per sfornare.
Come nota a margine, nel set di dati che abbiamo, la colonna Churn è una stringa con valori Sì/No. Lo convertiamo in intero per renderlo più facile da usare nella nostra analisi.
df_data.loc = 0
df_data.loc = 1
Genere
Utilizzando il blocco di codice qui sotto, visualizziamo facilmente l’aspetto del tasso di abbandono (1-Retention Rate) per ogni valore:
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)
Uscita:
ripartizione per Sesso per il tasso di abbandono:
clienti di sesso Femminile sono più propensi a sfornare vs. clienti di sesso maschile, ma la differenza è minima (~0.8%).
Replichiamo questo per tutte le colonne categoriali. Per non ripetere ciò che abbiamo fatto per il genere, puoi trovare il codice necessario per tutti qui sotto:
Ora si va oltre la funzionalità che mostra la differenza più significativa tra i loro valori:
Servizio Internet
Questo grafico rivela i clienti che hanno la Fibra ottica di servizi Internet sono più probabilità di fidelizzazione della clientela. Normalmente mi aspetto che i clienti in fibra ottica a sfornare meno a causa di utilizzare un servizio più premium. Ma questo può accadere a causa di prezzi elevati, concorrenza, servizio clienti e molti altri motivi.
Contratto
Come previsto, il contratto più breve significa un tasso di abbandono più elevato.
Supporto tecnico
I clienti non utilizzano il supporto tecnico sono più simili a churn (~25% di differenza).
Metodo di pagamento
L’automazione del pagamento rende il cliente più propenso a mantenere nella tua piattaforma (~30% di differenza).
Altri