Resumen

Comprender cómo se comportan los clientes antes de que cancelen un servicio es fundamental para cualquier modelo predictivo. A través del análisis exploratorio de datos (EDA), es posible identificar patrones ocultos en variables categóricas y numéricas que revelan qué factores impulsan el churn o abandono de clientes. Aquí se desglosa paso a paso cómo visualizar y analizar esas relaciones usando Python.

¿Cómo visualizar variables categóricas con Seaborn?

El punto de partida es trabajar con los datos originales, no con datos preprocesados [01:05]. Esto permite observar las distribuciones reales antes de cualquier transformación. Se utiliza la librería Seaborn (import seaborn as sns) junto con Matplotlib para generar gráficos claros y segmentados.

El primer gráfico que se construye es un countplot de la variable género (gender), separado por la variable objetivo: el churn [01:25]. El resultado muestra que:

  • Hay casi la misma cantidad de hombres y mujeres.
  • Ambos grupos se comportan de forma idéntica respecto al churn.
  • El género no es una variable determinante para predecir la cancelación.

¿Cómo automatizar la exploración de todas las variables categóricas?

Para evitar repetir código, se crea una función reutilizable llamada plot_categorical [02:22] que recibe el nombre de una columna y genera automáticamente el gráfico con sns.countplot, segmentado siempre por churn y con un tamaño de figura de 10x10.

Luego se extraen todas las columnas categóricas del dataframe usando df_data.select_dtypes(include='object').columns [03:20]. Estas columnas se almacenan en una variable llamada column_cat y se itera sobre ellas con un loop for, ejecutando la función para cada una.

¿Qué patrones revelan las variables categóricas?

Al analizar los gráficos generados, se identifican hallazgos relevantes [04:00]:

  • Partners: quienes no tienen pareja muestran mayor tendencia al churn.
  • Dependientes: la ausencia de dependientes se correlaciona con mayor abandono.
  • Servicio telefónico: hay más usuarios con servicio, pero el churn también es más alto entre ellos.
  • Servicio de Internet: quienes no tienen Internet cancelan mucho menos que quienes sí lo tienen.
  • Facturación paperless: los clientes con facturación electrónica presentan mayor churn [04:52].
  • Método de pago: los usuarios que pagan con cheque electrónico tienen un rate de churn más alto que quienes usan transferencia bancaria, correo o tarjeta de crédito [05:05].
  • Tipo de contrato: el contrato mes a mes es mucho más propenso al churn que los contratos a largo plazo [05:25].

¿Qué información aportan las variables numéricas con un pairplot?

Para las variables no categóricas se utiliza sns.pairplot [05:40], que genera automáticamente diagramas de dispersión cruzados entre todas las variables numéricas, segmentados por churn. Las variables numéricas del dataset incluyen:

  • Total de pagos (total charges).
  • Pagos mensuales (monthly charges).
  • Tiempo en la compañía (tenure).
  • Ciudadano senior (senior citizen).

Cada variable consigo misma produce un diagrama de KDE (Kernel Density Estimation), que muestra la distribución de probabilidad. El resto de combinaciones genera diagramas de dispersión correlacionados [06:28].

¿Qué relación existe entre cargos mensuales y tiempo en la compañía?

El patrón más destacado aparece en la esquina inferior derecha de los gráficos de dispersión [06:40]: la mayoría de personas que hacen churn tienen cargos mensuales altos y llevan poco tiempo en la compañía. Esto se traduce en una regla clara:

  • Pago mensual elevado + poco tenure = alta probabilidad de churn.
  • Cargos totales bajos refuerzan esta lectura, ya que el cliente no ha acumulado tiempo suficiente.

Este hallazgo es consistente con lo observado en las variables categóricas, donde el contrato mes a mes también correlaciona con mayor abandono.

Con toda esta información exploratoria, el siguiente paso natural es aplicar un modelo de regresión logística para resolver este problema de clasificación binomial [07:25], aprovechando las variables que han demostrado mayor poder predictivo. ¿Qué otras variables crees que podrían influir en la decisión de un cliente de cancelar?