Orientados a Dados de Crescimento com Python
Rotatividade de Previsão com XGBoost de Classificação Binária
Esta série de artigos foi concebido para explicar como usar Python em uma forma simplista de combustível o crescimento da empresa, aplicando-se a introdução assistida de abordagem para todas as suas ações. Será uma combinação de Programação, Análise de dados e aprendizado de máquina.
eu vou cobrir todos os tópicos a seguir nove artigos:
1 – Conheça O Seu Métricas
2 – Segmentação De Clientes
3 – Vida Do Cliente Valor De Predição
4 – Rotatividade De Predição
5 – Prevendo Próxima Compra Dia
6 – Previsão De Vendas
7 – A Resposta Do Mercado, Modelos De
8 – Elevar A Modelagem
9 – Um/B Testes de Design e Execução
Artigos terão seus próprios trechos de código para fazer com que você facilmente aplicá-los. Se você é super novo na programação, você pode ter uma boa introdução para Python e Pandas (uma famosa biblioteca que vamos usar em tudo) aqui. Mas ainda sem uma codificação de introdução, você pode aprender os conceitos, como o uso dos seus dados e começar a gerar valor fora dele:
às Vezes, você tem que correr antes que você possa andar — Tony Stark
Como um pré-requisito, certifique-se de Jupyter Notebook e o Python está instalado em seu computador. Os trechos de código só funcionarão no caderno de Jupyter.Muito bem, vamos começar.
nas três últimas seções da série de crescimento impulsionado por dados, descobrimos rastreamento de métricas essenciais, segmentação de clientes, e predizendo o valor ao longo da vida programaticamente. Uma vez que conhecemos nossos melhores clientes por segmentação e previsão de valor ao longo da vida, também devemos trabalhar duro para retê-los. É isso que faz da taxa de retenção uma das métricas mais críticas.
taxa de retenção é uma indicação de quão boa é a sua capacidade no mercado do produto (PMF). Se seu PMF não é satisfatório, você deve ver seus clientes batendo muito em breve. Uma das ferramentas poderosas para melhorar a taxa de retenção (daí o PMF) é a previsão do Churn. Usando esta técnica, você pode facilmente descobrir quem é susceptível de churn no período dado. Neste artigo, vamos usar um Telco conjunto de dados e passar pelas seguintes etapas para desenvolver um modelo de Previsão de Rotatividade:
- Análise exploratória de dados
- Recurso engenharia
- Investigar como as características que afetam a Retenção utilizando Regressão Logística
- Construção de um modelo de classificação com XGBoost
Análise Exploratória de Dados
Vamos começar com o de verificar como os nossos dados parece e visualizar a forma como ele interage com o nosso rótulo (agitado ou não?). Vamos começar por importar os nossos dados e imprimir as primeiras dez linhas:
df_data = pd.read_csv('churn_data.csv')
df_data.head(10)
Saída:
A melhor maneira para ver todas as colunas e o tipo de dados está a utilizar .info() método:
parece Que o nosso dados de cair em duas categorias:
- Categórica características: sexo, transmissão de tv, o método de pagamento &, etc.Características numéricas: tenure, monthly charges, total charges
agora a partir dos categóricos, nós lançamos luz sobre todas as características e ver o quão útil eles são para identificar se um cliente vai churn.
como nota lateral, no conjunto de dados que temos, a coluna de Churn é uma cadeia com valores Sim/Não. Convertemo-lo em inteiro para tornar mais fácil de usar na nossa análise.
df_data.loc = 0
df_data.loc = 1
género
usando o bloco de código abaixo, visualizamos facilmente como a taxa de Churn (1-taxa de retenção) se parece para cada valor:
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)
resultado:
Gênero repartição para a taxa de churn:
clientes do sexo Feminino são mais propensos a se agitar vs. clientes do sexo masculino, mas a diferença é mínima (~0.8%).
vamos replicar isto para todas as colunas categóricas. Para não repetir o que fizemos para o gênero, você pode encontrar o código necessário para todos abaixo:
Agora vamos mais funcionalidades que mostram a diferença mais significativa entre seus valores:
Serviços de Internet
Este gráfico revela clientes que tenham Fibra óptica, Serviço de Internet são mais propensos a se agitar. Eu normalmente espero que os clientes de fibra óptica para churn menos, devido a eles usam um serviço mais premium. Mas isso pode acontecer devido a preços elevados, concorrência, serviço ao cliente, e muitas outras razões.
Contrato
Como previsto, o contrato mais curto significa maior taxa de churn.
Suporte técnico
os Clientes não usar Suporte técnico são mais gosta de churn (~25% de diferença).
forma de Pagamento
Automatizar o pagamento faz com que a cliente mais propensos a reter em sua plataforma (~30% de diferença).
outros