Predicción de abandono

Crecimiento basado en datos con Python

Predicción de abandono con Clasificación Binaria XGBoost

Esta serie de artículos se diseñó para explicar cómo usar Python de manera simplista para impulsar el crecimiento de su empresa aplicando el enfoque predictivo a todas sus acciones. Será una combinación de programación, análisis de datos y aprendizaje automático.

Cubriré todos los temas en los siguientes nueve artículos:

1 – Conozca sus Métricas

2 – Segmentación de Clientes

3 – Predicción del Valor de Por Vida del Cliente

4 – Predicción de Abandono

5 – Predicción del Próximo Día de Compra

6 – Predicción de Ventas

7 – Modelos de Respuesta del Mercado

8 – Modelado ascendente

9 – Diseño y ejecución de pruebas A/B

Los artículos tendrán sus propios fragmentos de código para que pueda aplicarlos fácilmente. Si eres súper nuevo en la programación, puedes tener una buena introducción para Python y Pandas (una famosa biblioteca que usaremos en todo) aquí. Pero aún sin una introducción a la codificación, puede aprender los conceptos, cómo usar sus datos y comenzar a generar valor a partir de ellos:

A veces tienes que correr antes de poder caminar: Tony Stark

Como requisito previo, asegúrate de que Jupyter Notebook y Python estén instalados en tu computadora. Los fragmentos de código se ejecutarán solo en Jupyter Notebook.

Muy bien, empecemos.

En las últimas tres secciones de la serie de Crecimiento Impulsado por datos, hemos descubierto el seguimiento de métricas esenciales, la segmentación de clientes y la predicción del valor de vida mediante programación. Dado que conocemos a nuestros mejores clientes por segmentación y predicción de valor de por vida, también debemos trabajar duro para retenerlos. Eso es lo que hace que la tasa de retención sea una de las métricas más críticas.

La tasa de retención es una indicación de lo bueno que es su ajuste al mercado de productos (PMF). Si su PMF no es satisfactorio, debería ver a sus clientes batiendo muy pronto. Una de las herramientas poderosas para mejorar la Tasa de Retención (de ahí el PMF) es la Predicción de la pérdida de activos. Al usar esta técnica, puede averiguar fácilmente quién es probable que abandone en un período determinado. En este artículo, usaremos un conjunto de datos de Telecomunicaciones y repasaremos los siguientes pasos para desarrollar un modelo de Predicción de abandono:

  • Análisis de datos exploratorios
  • Ingeniería de características
  • Investigar cómo afectan las características a la Retención mediante Regresión Logística
  • Construir un modelo de clasificación con XGBoost

Análisis de datos Exploratorios

Comenzamos comprobando cómo se ven nuestros datos y visualizamos cómo interactúan con nuestra etiqueta (¿batida o no?). Comencemos con la importación de nuestros datos e imprimamos las primeras diez filas:

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

Salida:

Una mejor manera de ver todas las columnas y su tipo de datos que se está usando .info() método:

parece Que nuestros datos se dividen en dos categorías:

  • Categórica características: el género, la transmisión de televisión, método de pago &, etc.
  • características Numéricas: tenure, cargos mensuales, cargos totales

Ahora, comenzando por los categóricos, arrojamos luz sobre todas las características y vemos lo útiles que son para identificar si un cliente va a abandonar.

Como nota al margen, en el conjunto de datos que tenemos, la columna de rotación es una cadena con valores Sí / No. Lo convertimos en entero para que sea más fácil de usar en nuestro análisis.

df_data.loc = 0 
df_data.loc = 1

Género

Al usar el bloque de código a continuación, visualizamos fácilmente cómo se ve la Tasa de abandono (Tasa de retención de 1) 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)

Producto:

Tasa de cancelación de clientes por Género

el desglose por sexos de la tasa de desconexión:

los clientes Femeninos son más propensos a producir en relación a los hombres a los clientes, pero la diferencia es mínima (~0.8%).

Replicemos esto para todas las columnas categóricas. Para no repetir lo que hicimos para el género, puede encontrar el código necesario para todos a continuación:

Ahora repasamos las características que muestran la diferencia más significativa entre sus valores:

Servicio de Internet

Tasa de abandono por Servicio de Internet

Este gráfico revela que los clientes que tienen Fibra óptica como Servicio de Internet tienen más probabilidades de abandono. Normalmente espero que los clientes de fibra óptica se muevan menos debido a que usan un servicio más premium. Pero esto puede suceder debido a los altos precios, la competencia, el servicio al cliente y muchas otras razones.

Contrato

Tasa por Contrato

Como era de esperar, el contrato más corto significa una mayor tasa de desconexión.

Soporte técnico

Tasa por Tech Support

Clientes no uso de Tecnología de Apoyo se parecen más a churn (~25% de diferencia).

Método de Pago

Automatizar el pago que hace el cliente más probabilidades de retener en su plataforma (~30% de diferencia).

Otros

Deja una respuesta

Tu dirección de correo electrónico no será publicada.