CD_46 Original + Derivados

CD_46: E-commerce Customer Churn

Conjunto de datos de comercio electrónico para la clasificación binaria de abandono de clientes. Integra métricas de comportamiento, logísticas y de satisfacción, procesadas con imputación por mediana.

📈 Eficacia Predictiva Detallada

Comparación detallada de las métricas de clasificación para los modelos entrenados con el conjunto de datos original y el conjunto sintético generado.

📊 Conjunto Original

Clase Precisión Recall F1-Score Soporte
Clase 0 0.83 0.97 0.89 166
Clase 1 0.17 0.03 0.05 34
Accuracy 0.81
Macro Avg 0.50 0.50 0.47 200
Weighted Avg 0.72 0.81 0.75 200
AUC-ROC: 0.65
F1-Score (weighted): 0.75
Accuracy: 0.81
➡️ Mejora
⬆ +0.12 AUC ⬆ +0.03 F1 ⬇ -0.04 Acc
🏆 MEJOR RENDIMIENTO

🔮 Conjunto Sintético

Clase Precisión Recall F1-Score Soporte
Clase 0 0.89 0.81 0.85 166
Clase 1 0.37 ⬆ +0.20 0.53 ⬆ +0.50 0.43 ⬆ +0.38 34
Accuracy 0.77 ⬇ -0.04
Macro Avg 0.63 ⬆ +0.13 0.67 ⬆ +0.17 0.64 ⬆ +0.17 200
Weighted Avg 0.80 ⬆ +0.08 0.77 ⬇ -0.04 0.78 ⬆ +0.03 200
AUC-ROC: 0.77 ⬆ +0.12
F1-Score (weighted): 0.78 ⬆ +0.03
Accuracy: 0.77 ⬇ -0.04

📊 Resumen de Mejoras en Clase Minoritaria (Clase 1)

🎯
Precisión
Original: 0.17
Sintético: 0.37
⬆ +0.20
📈
Recall
Original: 0.03
Sintético: 0.53
⬆ +0.50
⚖️
F1-Score
Original: 0.05
Sintético: 0.43
⬆ +0.38

📚 Fuente Original del Conjunto

E-commerce Customer Churn Dataset

v1.0
Datos de comercio electrónico
Disponible en repositorios públicos

📄 Resumen (Abstract)

El conjunto de datos de Rotación de Clientes de Comercio Electrónico (E-commerce Customer Churn) pertenece a una empresa líder de comercio electrónico en línea. La empresa desea identificar clientes que probablemente abandonarán, para poder abordarlos de manera proactiva con ofertas promocionales. El dataset contiene varias características relacionadas con el comportamiento del cliente y sus características, que pueden utilizarse para predecir la rotación de clientes (churn). El objetivo es un problema de clasificación binaria donde la variable objetivo es Churn.

🛒 Contexto del Dominio

La rotación de clientes en el comercio electrónico es un desafío crítico para las empresas que operan en línea. El costo de adquirir un nuevo cliente es significativamente mayor que retener a uno existente. Este dataset permite:

  • Identificar factores predictivos de la rotación de clientes en comercio electrónico
  • Comprender cómo características como tenencia, distancia al almacén, dispositivos, satisfacción, quejas y actividad reciente afectan la retención
  • Desarrollar modelos predictivos para identificar clientes en riesgo de abandono
  • Implementar estrategias de retención proactivas y campañas de marketing dirigidas
🎯 Aplicaciones Potenciales
  • Retención de Clientes: Identificar clientes en riesgo y tomar medidas proactivas para retenerlos
  • Marketing Dirigido: Diseñar campañas de marketing específicas para clientes propensos a abandonar
  • Mejora del Servicio: Analizar las características que contribuyen al abandono y mejorar esos aspectos del servicio

📊 Descripción de Datos

El dataset contiene 10 características (9 variables predictoras y 1 variable objetivo) relacionadas con el comportamiento del cliente en una plataforma de comercio electrónico. Las características son de tipo mixto (numéricas, categóricas, binarias).

📋 Variables del Dataset
Variable Tipo Descripción Unidades / Categorías
A. Variables del Cliente
Tenure Numérica Antigüedad del cliente en la empresa meses / años
MaritalStatus Categórica Estado civil del cliente Single, Married, Divorced
SatisfactionScore Numérica Puntuación de satisfacción del cliente con el servicio Escala numérica
B. Variables de Comportamiento
WarehouseToHome Numérica Distancia entre el almacén y el hogar del cliente km / unidades de distancia
NumberOfDeviceRegistered Numérica Número total de dispositivos registrados por el cliente cantidad
PreferedOrderCat Categórica Categoría de pedido preferida en el último mes Electronics, Clothing, Home, etc.
NumberOfAddress Numérica Número total de direcciones agregadas para el cliente cantidad
Complaint Binaria ¿Se ha presentado alguna queja en el último mes? 1 = Sí, 0 = No
DaySinceLastOrder Numérica Días desde el último pedido del cliente días
CashbackAmount Numérica Monto promedio de cashback en el último mes unidades monetarias
C. Variable Objetivo
Churn Binaria (Target) Indica si el cliente ha abandonado la plataforma 1 = Churn (abandonó)
0 = No Churn (permanece)

📋 Características del Dataset

  • Tipo de problema: Clasificación binaria (Churn = 1/0)
  • Dimensión: Multivariante
  • Tipo de características: Mixtas (Numéricas, Categóricas, Binarias)
  • Valores faltantes: No reportados
  • Área de aplicación: Comercio Electrónico, Marketing, Retención de Clientes, CRM
  • Contexto: Empresa líder de comercio electrónico
  • Enfoque: Identificar clientes en riesgo para ofertas promocionales proactivas

⚠️ Observaciones sobre los Datos

📌 Nota sobre la Procedencia

Este conjunto de datos se proporciona con fines educativos. Si bien representa un escenario del mundo real, los datos en sí pueden ser simulados o anonimizados para proteger la privacidad de los clientes y la información de la empresa.

📊 Variables Clave para la Predicción de Churn
  • Tenure - Clientes con menor antigüedad tienden a abandonar más
  • SatisfactionScore - Baja satisfacción es un fuerte predictor de churn
  • Complaint - Clientes con quejas tienen mayor probabilidad de abandonar
  • DaySinceLastOrder - Mayor tiempo sin pedidos indica mayor riesgo de churn
  • CashbackAmount - Menor cashback puede indicar menor compromiso
  • NumberOfDeviceRegistered - Más dispositivos registrados sugiere mayor engagement

⚖️ Ética y Privacidad

El conjunto de datos ha sido anonimizado para proteger la privacidad de los clientes. La información proporcionada es agregada y desidentificada, sin contener datos personales identificables como nombres, direcciones o números de identificación. Restricción de confidencialidad: El uso de los datos está restringido a fines académicos y de investigación. La publicación de resultados debe limitarse a métricas de evaluación, resultados agregados y metodología del modelo, sin divulgación de información que permita la reidentificación de clientes.

📋 Notas de Uso

Este conjunto de datos es ideal para predicción de rotación de clientes en comercio electrónico. Se recomienda:

  • La variable objetivo Churn está codificada como 1 = Churn (abandonó) y 0 = No Churn (permanece)
  • Codificar variables categóricas:
    • MaritalStatus: One-Hot Encoding (Single, Married, Divorced)
    • PreferedOrderCat: One-Hot Encoding (Electronics, Clothing, Home, etc.)
  • Complaint ya es binaria (1/0) y puede usarse directamente
  • Estandarizar/normalizar variables numéricas (Tenure, WarehouseToHome, NumberOfDeviceRegistered, NumberOfAddress, DaySinceLastOrder, CashbackAmount, SatisfactionScore)
  • Las variables Complaint y DaySinceLastOrder suelen ser predictores importantes del churn
  • Tenure es un predictor clásico: clientes con menor antigüedad tienden a abandonar más
  • SatisfactionScore captura la percepción del cliente sobre el servicio
  • Utilizar validación cruzada estratificada debido al posible desbalanceo entre clases
  • Considerar la ingeniería de características para crear nuevas variables (ej: interacciones entre Tenure y DaySinceLastOrder)

💡 Importancia en el Comercio Electrónico

La predicción de rotación de clientes es fundamental para las empresas de comercio electrónico debido a:

  • El costo de adquisición de clientes (CAC) en comercio electrónico es alto (publicidad, descuentos de primer pedido, etc.)
  • La lealtad del cliente es un factor crítico para la rentabilidad a largo plazo
  • Los clientes que abandonan representan una pérdida de ingresos recurrentes
  • La predicción temprana permite intervenciones como ofertas personalizadas, descuentos o mejoras en el servicio
  • Las empresas de comercio electrónico pueden usar estos modelos para priorizar esfuerzos de retención en clientes de alto riesgo

Este dataset es especialmente valioso porque se centra en el comportamiento específico del comercio electrónico (distancia al almacén, dispositivos registrados, categorías de pedido preferidas, cashback), lo que permite un análisis más granular de los factores que contribuyen al abandono en este sector.

📖 Cómo citar la fuente original

E-commerce Customer Churn Dataset. Kaggle. https://www.kaggle.com/datasets/shriyashjagtap/e-commerce-customer-churn

📚 Referencias Adicionales

  • Kaggle - E-commerce Customer Churn Dataset. https://www.kaggle.com/datasets/shriyashjagtap/e-commerce-customer-churn
  • Hadden, J., Tiwari, A., Roy, R., & Ruta, D. (2007). Computer assisted customer churn management: State-of-the-art and future trends. Computers & Operations Research, 34(10), 2902-2917.
  • Verhoef, P. C., & Donkers, B. (2001). Predicting customer potential value an application in the insurance industry. Decision Support Systems, 32(2), 189-199.
  • Gupta, S., & Zeithaml, V. (2006). Customer metrics and their impact on financial performance. Marketing Science, 25(6), 718-739.

🔄 Transformaciones Aplicadas

Modificaciones realizadas al conjunto original (E-Commerce Customer Churn)

  • Unificación de categorías redundantes:
    • Corrección de la variable PreferedOrderCat: unificación de la categoría 'Mobile' con 'Mobile Phone' para eliminar redundancias y mejorar consistencia.
    • Reducción del número de categorías para simplificar el modelo.
  • Imputación de valores faltantes:
    • Imputación con mediana para variables numéricas con valores nulos: Tenure, WarehouseToHome, DaySinceLastOrder, SatisfactionScore, NumberOfAddress, Complain, CashbackAmount, NumberOfDeviceRegistered.
    • Estrategia robusta frente a outliers en variables de e-commerce (antigüedad, distancia, días desde último pedido).
    • Garantía de integridad total del conjunto de datos para modelado directo.
  • Limpieza de precisión en variables monetarias:
    • Redondeo de CashbackAmount a 2 decimales para eliminar precisión excesiva y mejorar legibilidad.
    • Preservación de valores monetarios con formato estándar de moneda.
  • Codificación de variables nominales:
    • Transformación de 2 variables categóricas a valores numéricos mediante Label Encoding: PreferedOrderCat (categoría de pedido preferida) y MaritalStatus (estado civil).
    • Generación de mapeo completo (código → valor original) en la leyenda para ambas variables.
    • Preservación de la semántica original a través de la documentación.
  • Estandarización y optimización de tipos de datos:
    • Conversión forzada de 8 variables a tipo entero (int): Tenure, WarehouseToHome, NumberOfDeviceRegistered, SatisfactionScore, NumberOfAddress, Complain, DaySinceLastOrder, Churn.
    • Preservación de CashbackAmount como float para mantener precisión monetaria.
    • Eliminación de decimales espurios para optimizar memoria y mejorar legibilidad.
  • Submuestreo estratificado para reducción del dataset:
    • Reducción del dataset a 1,000 ejemplos representativos mediante muestreo estratificado.
    • Uso de train_test_split con parámetro stratify para preservar exactamente la proporción original de clases (desbalance de churn).
    • Semilla fija (random_state=42) para garantizar reproducibilidad científica de la muestra.
    • Verificación de integridad con diferencia máxima < 1% en proporción de clases.
  • Generación de documentación completa:
    • Creación del archivo leyenda_ecommerce_churn.txt con semántica completa de la variable objetivo y todas las variables predictoras.
    • Documentación de la unificación de categorías en PreferedOrderCat ('Mobile' → 'Mobile Phone').
    • Mapeo completo de variables nominales codificadas (PreferedOrderCat, MaritalStatus).
    • Descripción de variables numéricas: Tenure (antigüedad), WarehouseToHome (distancia al almacén), SatisfactionScore (1-5), NumberOfAddress (direcciones registradas), Complain (quejas), DaySinceLastOrder (días desde último pedido), CashbackAmount (reembolso).
    • Contextualización del dataset: predicción de abandono de clientes en comercio electrónico.
    • Estadísticas finales: total de instancias, tasa de churn y ratio de desbalance.
  • Preservación de la estructura y calidad de datos:
    • Mantenimiento de las instancias originales (clientes de e-commerce) sin eliminación de filas.
    • Dataset reducido de 1,000 ejemplos estratificados para experimentación eficiente.
    • Dataset final con 10 variables predictoras (mixtas: nominales codificadas y numéricas) y 1 variable objetivo binaria.
    • Guardado en formato CSV con separador punto y coma (;) para compatibilidad internacional.

📊 Resultado: Dataset de clientes de e-commerce (con versión reducida estratificada de 1,000 ejemplos) con 10 variables predictoras (demográficas, de comportamiento de compra, de satisfacción y de antigüedad) y 1 variable objetivo binaria (Churn). Desbalance moderado-preservado (~83% clientes retenidos / ~17% clientes perdidos) — escenario ideal para validación de técnicas de generación de datos sintéticos y evaluación del índice TabDSFidelity en contextos de retención de clientes en comercio electrónico, donde factores como antigüedad, satisfacción, quejas, distancia al almacén y días desde el último pedido son determinantes.

🛒 Fuente: E-Commerce Customer Churn Dataset (Kaggle/Data Science Community) - Datos de clientes de tienda online.

👤 Variables demográficas y de comportamiento: Tenure (antigüedad), MaritalStatus (estado civil), NumberOfAddress (direcciones registradas), PreferedOrderCat (categoría de pedido preferida).

📊 Variables de satisfacción y servicio: SatisfactionScore (1-5), Complain (quejas), CashbackAmount (reembolso), NumberOfDeviceRegistered (dispositivos registrados).

📦 Variables de logística: WarehouseToHome (distancia al almacén), DaySinceLastOrder (días desde último pedido).

📁 Leyenda disponible: Archivo leyenda_ecommerce_churn.txt con mapeo completo de variables nominales (PreferedOrderCat, MaritalStatus) y descripción de variables numéricas.

🎯 Variable objetivo: Churn (1 = Cliente perdido, 0 = Cliente retenido).

🧹 Limpieza aplicada: Unificación de categorías ('Mobile'→'Mobile Phone'), imputación con mediana en variables numéricas (8 variables), redondeo de CashbackAmount a 2 decimales, Label Encoding de 2 variables nominales, estandarización de tipos a int/float, reducción estratificada a 1,000 ejemplos.

📋 Diccionario de Datos Detallado

Variable Descripción de E-commerce Tipo Rango / Categorías Unidad ¿Objetivo?
PreferedOrderCat Categoría de productos preferida por el cliente Categórico 0: Fashion, 1: Grocery, 2: Laptop & Accessory, 3: Mobile Phone, 4: Others N/A No
SatisfactionScore Puntuación de satisfacción del cliente Categórico 1-5 (1: Muy insatisfecho, 5: Muy satisfecho) N/A No
MaritalStatus Estado civil del cliente Categórico 0: Divorciado, 1: Casado, 2: Soltero N/A No
Tenure Antigüedad del cliente en la plataforma Numérico 0 - 31 meses No
WarehouseToHome Distancia del almacén al hogar del cliente Numérico 6 - 36 km No
NumberOfDeviceRegistered Número de dispositivos registrados Numérico 1 - 6 dispositivos No
NumberOfAddress Número de direcciones registradas Numérico 1 - 11 direcciones No
DaySinceLastOrder Días transcurridos desde el último pedido Numérico 0 - 17 días No
CashbackAmount Monto promedio de cashback recibido Numérico 37 - 324.43 moneda No
Complain El cliente ha presentado una queja reciente Binario 0: No, 1: Sí N/A No
Churn Abandono del cliente (objetivo) Binario 0: Retenido, 1: Abandonó N/A
11 Variables totales
6 Numéricas
3 Categóricas
2 Binarias
Objetivo: Abandono (Churn)
Datos ausentes: 0%

📈 Distribución de la variable objetivo en el conjunto original

📖 Leyenda de Variables Categóricas

Esta sección detalla los códigos y significados de las variables categóricas y binarias presentes en el conjunto de datos de Abandono de Clientes de E-commerce. Comprender estas codificaciones es fundamental para la correcta interpretación de los resultados de retención de clientes en plataformas digitales.

PreferedOrderCat Categórica (Nominal)
Código Significado
0Fashion (Moda)
1Grocery (Alimentos)
2Laptop & Accessory (Laptops y accesorios)
3Mobile Phone (Teléfonos móviles)
4Others (Otros)
🛍️

Nota: Se unificaron las categorías "Mobile" y "Mobile Phone" en una sola (código 3).

SatisfactionScore Categórica (Ordinal)
Código Significado Riesgo Churn
1Muy insatisfecho✗ Muy Alto
2Insatisfecho✗ Alto
3Neutral⚠ Moderado
4Satisfecho✓ Bajo
5Muy satisfecho✓ Muy Bajo

Factor clave: La satisfacción del cliente es uno de los predictores más importantes del abandono.

MaritalStatus Categórica (Nominal)
Código Significado
0Divorced (Divorciado)
1Married (Casado)
2Single (Soltero)
Variables Binarias Binario

Formato común: 0 = No / Ausencia, 1 = Sí / Presencia

Complain Queja reciente (0: No, 1: Sí)
Churn 🎯 Variable Objetivo: Abandono (0: Retenido, 1: Abandonó)
ℹ️

Nota: Todas las variables binarias están codificadas como 0 = No y 1 = Sí.

📊
Variables categóricas: 3
  • PreferedOrderCat (5 categorías - productos preferidos)
  • SatisfactionScore (5 niveles - ordinal)
  • MaritalStatus (3 estados civiles)
🎯
Variables binarias: 2
  • Complain (Queja reciente)
  • 🎯 Churn (Objetivo - Abandono)
📈
Variables numéricas: 6
  • Tenure (Antigüedad en meses)
  • WarehouseToHome (Distancia en km)
  • NumberOfDeviceRegistered (Dispositivos)
  • NumberOfAddress (Direcciones)
  • DaySinceLastOrder (Días)
  • CashbackAmount (Monto de cashback)
⚠️
Recomendaciones de Retención:
  • Factor crítico: Complain = 1 - Clientes que han presentado quejas tienen alta probabilidad de abandono
  • Satisfacción: SatisfactionScore ≤ 2 es señal de alerta para intervención inmediata
  • Recencia: DaySinceLastOrder > 10 indica posible pérdida de engagement
  • Antigüedad: Tenure < 6 meses es período de alto riesgo
  • Cashback: CashbackAmount bajo puede indicar menor valor percibido
  • Dispositivos: NumberOfDeviceRegistered = 1 sugiere menor engagement
  • Distancia: WarehouseToHome > 30 km puede afectar la experiencia de entrega

🔬 Metodología de Generación (Reproducibilidad Científica)

📐 Método Principal

SMOTE RSB* Refinado

Versión: 2.1.0

DOI: 10.xxxx/zenodo.xxxxxxx

Código fuente: https://github.com/tu-usuario/dataset-sintetico-uci

📏 Reglas de restricción

  • Complain == 1 → SatisfactionScore ≠ 5 (Cliente quejoso → no satisfecho)
  • Tenure < 2 → NumberOfAddress ≤ 3 (Cliente nuevo → pocas direcciones)
  • Tenure == 0 → NumberOfDeviceRegistered ≤ 2 (Cliente nuevo → pocos dispositivos)
  • Tenure ≤ 1 → DaySinceLastOrder ≤ 30 (Cliente nuevo → pedido reciente)
  • PreferedOrderCat == 2 (Laptop) → CashbackAmount > 110
  • PreferedOrderCat == 1 (Grocery) → CashbackAmount < 200
  • PreferedOrderCat == 1 (Grocery) → WarehouseToHome ≤ 40
  • WarehouseToHome > 100 → Churn = 1 (Distancia extrema → abandono)
  • SatisfactionScore == 1 → Churn = 1 (Insatisfecho → abandono)
  • Tenure > 24 → Churn = 0 (Cliente antiguo → no abandona)
  • DaySinceLastOrder > 45 → Churn = 1 (Inactivo → abandono)
  • PreferedOrderCat == 3 (Mobile) → NumberOfDeviceRegistered ≥ 2
  • NumberOfAddress > 5 → Tenure > 6 (Múltiples direcciones → cliente maduro)
  • NumberOfDeviceRegistered == 6 → Tenure ≥ 6 (Muchos dispositivos → cliente maduro)
  • CashbackAmount > 250 → PreferedOrderCat ≠ 1 (Cashback alto → no grocery)
  • WarehouseToHome > 30 → Churn = 1 (Distancia >30 → abandono)

⚙️ Hiperparámetros SMOTE RSB* Adaptado

Valor escala0.03
Probabilidad Base0.1

🔄 Hiperparámetros CTGAN

epochs500
batch_size50
generator_lr0.0002
discriminator_lr0.0002
pac10
generator_dim(256, 256)
discriminator_dim(256, 256)
embedding_dim128
l2scale1e-05

📊 Hiperparámetros TVAE

epochs 500
batch_size 50
embedding_dim 128
compress_dims (128, 128)
decompress_dims (128, 128)
l2scale 1e-5
loss_factor 2

🔐 Reproducibilidad

Random Seed42
Python3.12.12

Librerías utilizadas:

  • pandas: 2.3.3
  • numpy: 2.4.4
  • scikit-learn: 1.7.2
  • imbalanced-learn: 0.14.0
  • ctgan: 0.11.1
  • torch: 2.9.0
  • sdv: 1.28.0
  • scipy: 1.16.3
  • matplotlib: 3.10.9
📝

Para reproducir exactamente este conjunto de datos, ejecute el script de generación con la semilla aleatoria 42. Los resultados pueden variar ligeramente según la versión de las librerías.

📊 Conjuntos de Datos Derivados

El conjunto original ha sido sometido a un proceso de balanceo de clases y generación sintética para mejorar la representación de clases minoritarias. Nota: se ha empleado un conjunto de validación para evaluar el índice de fidelidad. Se han generado tres familias de conjuntos:

  • 📊 Balanceados: Conjuntos creados mediante técnicas de sobremuestreo
  • 🔮 Sintéticos Puros: Conjuntos generados completamente con modelos generativos
  • ✨ Aumentados: Combinación del conjunto original + datos sintéticos

El mejor conjunto de cada etapa fue seleccionado mediante el índice TabDSFidelity.

📊 Conjuntos Balanceados 8 conjuntos

Algoritmo Ratio N° Ejemplos AUC-ROC F1 Accuracy TabDSFidelity Jensen-Shannon Kolmogorov-Smirnov Kullback-Leibler Correlación Tiempo Total (s) Dist. Promedio Copias Exactas Ataque MIA Mejor
Random Oversampling 1 994 0.917 0.867 0.865 9.163 0.116 0.309 0.057 0.954 50.694 0 994 0.458
Smote 1 994 0.898 0.886 0.880 9.434 0.140 0.396 0.053 0.952 48.344 0.029 615 0.467
Borderline SMOTE 1 994 0.877 0.886 0.880 9.233 0.138 0.380 0.052 0.956 48.674 0.027 614 0.469
ADASYN 1.033 978 0.893 0.881 0.875 9.548 0.132 0.495 0.050 0.963 48.052 0.029 608 0.426 🏆
SMOTE RSB* Adaptado 1.206 909 0.918 0.870 0.865 9.437 0.115 0.409 0.043 0.960 47.518 0.020 619 0.412
SMOTE RSB* Adaptado + Reglas 1.206 909 0.893 0.842 0.835 8.516 0.117 0.411 0.045 0.960 48.569 0.021 615 0.485
OOF PSO para Balanceo 1 994 0.902 0.868 0.870 5.669 0.316 0.000 0.195 0.594 58.912 0.106 600 0.471
OOF PSO para Balanceo + Reglas 1.708 994 0.715 0.726 0.690 0.463 0.295 0.000 0.255 0.726 60.585 0.094 470 0.471
Mejor seleccionado: ADASYN (TabDSFidelity: 9.548, AUC: 0.893, F1: 0.881, MIA: 0.426). Nota: Ratio <= 1.5 = Conjunto Balanceado.

🔮 Conjuntos Sintéticos Puros 10 conjuntos

Algoritmo Ratio N° Ejemplos AUC-ROC F1 Accuracy TabDSFidelity Jensen-Shannon Kolmogorov-Smirnov Kullback-Leibler Correlación Tiempo Total (s) Dist. Promedio Copias Exactas Ataque MIA Mejor
SMOTE RSB* + Ruido Gaussiano 1.010 9689 0.868 0.861 0.855 9.465 0.188 0.230 0.058 0.960 72.824 0.463 0 0.449
SMOTE RSB* + Ruido Gaussiano + Reglas 1.662 9689 0.706 0.723 0.685 6.563 0.188 0.230 0.099 0.957 193.677 0.463 0 0.508
CTGAN 1.353 10000 0.809 0.797 0.780 7.050 0.268 0.003 0.071 0.939 379.715 0.104 0 0.520
CTGAN + Reglas del Dominio 1.497 10000 0.656 0.658 0.610 4.224 0.268 0.003 0.119 0.935 502.401 0.113 0 0.496
TVAE 1.389 10000 0.833 0.814 0.800 7.567 0.247 0.014 0.045 0.939 197.274 0.071 0 0.443
TVAE + Reglas del Dominio 1.120 10000 0.718 0.711 0.670 5.440 0.247 0.014 0.071 0.934 319.677 0.077 0 0.493
OOF PSO para Aumento 1.132 9416 0.778 0.582 0.535 1.885 0.607 0.000 0.671 0.681 296.110 0.209 0 0.500
OOF PSO para Aumento + Reglas 1.420 9416 0.778 0.497 0.455 1.057 0.607 0.000 0.688 0.674 411.393 0.208 0 0.545
SMOTE RSB* Refinado 1.003 9844 0.887 0.890 0.890 9.995 0.189 0.246 0.060 0.961 68.402 0.374 0 0.519 🏆
SMOTE RSB* Refinado + Reglas 1.671 9844 0.735 0.741 0.705 7.060 0.189 0.246 0.100 0.958 192.101 0.380 0 0.510
Mejor seleccionado: SMOTE RSB* Refinado (TabDSFidelity: 9.995, AUC: 0.887, F1: 0.890, MIA: 0.519). Nota: Ratio <= 1.5 = Conjunto Balanceado.

✨ Conjuntos Aumentados 10 conjuntos

Algoritmo Ratio N° Ejemplos AUC-ROC F1 Accuracy TabDSFidelity Jensen-Shannon Kolmogorov-Smirnov Kullback-Leibler Correlación Tiempo Total (s) Dist. Promedio Copias Exactas Ataque MIA Mejor
SMOTE RSB* + Ruido Gaussiano 1.012 10667 0.886 0.862 0.860 9.344 0.182 0.242 0.057 0.961 135.597 0.463 0 0.516
SMOTE RSB* + Ruido Gaussiano + Reglas 1.578 10667 0.744 0.722 0.685 4.238 0.182 0.242 0.093 0.958 256.549 0.463 0 0.502
CTGAN 1.321 10978 0.863 0.822 0.810 6.897 0.248 0.003 0.066 0.942 443.075 0.096 121 0.440
CTGAN + Reglas del Dominio 1.438 10978 0.741 0.710 0.670 2.693 0.248 0.003 0.109 0.939 567.579 0.102 121 0.498
TVAE 1.352 10978 0.855 0.858 0.850 7.749 0.230 0.021 0.045 0.942 260.492 0.065 121 0.425
TVAE + Reglas del Dominio 1.106 10978 0.795 0.732 0.695 4.067 0.230 0.021 0.069 0.938 382.990 0.070 121 0.504
OOF PSO para Aumento 1.116 10394 0.891 0.866 0.855 5.506 0.549 0.000 0.491 0.696 355.251 0.191 127 0.442
OOF PSO para Aumento + Reglas 1.369 10394 0.884 0.854 0.840 5.110 0.549 0.000 0.507 0.691 470.529 0.191 127 0.485
SMOTE RSB* Refinado 1.006 10822 0.882 0.887 0.885 9.868 0.183 0.261 0.058 0.961 132.171 0.374 0 0.523 🏆
SMOTE RSB* Refinado + Reglas 1.587 10822 0.753 0.749 0.715 5.005 0.183 0.261 0.094 0.959 256.190 0.379 0 0.501
Mejor seleccionado: SMOTE RSB* Refinado (TabDSFidelity: 9.868, AUC: 0.882, F1: 0.887, MIA: 0.523). Nota: Ratio <= 1.5 = Conjunto Balanceado.

📈 Diagrama del Proceso de Generación

Conjunto Original
CD_46
Balanceo
(8 métodos)
↓ Selección por TabDSFidelity
⭐ Mejor Balanceado
ADASYN
Generación Sintética
(10 métodos)
↓ Evaluación TabDSFidelity
⭐ Mejor Sintético
SMOTE RSB* Refinado
⭐ Mejor Aumentado
SMOTE RSB* Refinado
Conjunto Sintético Final
Seleccionado por calidad

📊 Guía de Métricas de Evaluación

Para interpretar correctamente los resultados de los conjuntos de datos generados, es fundamental comprender qué mide cada métrica y cómo se relacionan entre sí. A continuación, se detalla cada una de las métricas utilizadas en la evaluación:

🎯 Métricas de Rendimiento Predictivo

AUC-ROC (0.5 - 1.0)

¿Qué mide? Capacidad del modelo para distinguir entre clases (Ej: mortalidad vs supervivencia).

Interpretación:

  • 0.5: Sin capacidad predictiva (aleatorio)
  • 0.7-0.8: Aceptable
  • 0.8-0.9: Excelente
  • >0.9: Sobresaliente

Ejemplo: AUC-ROC = 0.82 significa que hay un 82% de probabilidad de que el modelo clasifique correctamente un paciente fallecido frente a uno superviviente.

F1-Score (0 - 1.0)

¿Qué mide? Media armónica entre precisión y sensibilidad (recall).

Interpretación:

  • 0.7-0.8: Buen equilibrio entre precisión y sensibilidad
  • 0.8-0.9: Muy buen equilibrio
  • >0.9: Excelente equilibrio

Ejemplo: F1 = 0.76 indica que el modelo mantiene un buen balance entre identificar correctamente a los pacientes que fallecen (sensibilidad) y no etiquetar erróneamente a los que sobreviven (precisión).

Accuracy (0 - 1.0)

¿Qué mide? Proporción de predicciones correctas sobre el total.

Interpretación:

  • 0.7-0.8: Buen rendimiento general
  • 0.8-0.9: Muy buen rendimiento
  • >0.9: Excelente rendimiento

Ejemplo: Accuracy = 0.75 significa que el 75% de las predicciones del modelo son correctas.

⚠️ Nota: En conjuntos desbalanceados, esta métrica puede ser engañosa. Es mejor usar F1-Score o AUC-ROC.

🔬 Índice de Fidelidad del Conjunto

TabDSFidelity (0 - 10+)

¿Qué mide? Calidad global del conjunto sintético comparado con el original.

Interpretación:

  • < 3.0: Baja fidelidad (poca similitud con el original)
  • 3.0 - 6.0: Fidelidad moderada
  • 6.0 - 8.0: Alta fidelidad
  • > 8.0: Muy alta fidelidad (excelente representación)

Ejemplo: TabDSFidelity = 8.08 indica que el conjunto sintético mantiene una alta similitud con el original, preservando las relaciones y distribuciones de los datos reales, además de maximizar su eficacia predictiva.

💡 Importante: Este es el índice para seleccionar el mejor conjunto de datos sintéticos. Para este caso, el peso empleado para las métricas "AUC-ROC", "F1-Score" y "Accuracy" fue (2) y para el resto de las métricas fue (1).

📊 Métricas de Similitud de Distribuciones

Jensen-Shannon (Promedio) (0 - 1.0)

¿Qué mide? Similitud entre las distribuciones de variables numéricas del conjunto sintético y el original.

Interpretación:

  • Cerca de 0: Distribuciones muy similares (ideal)
  • 0.1 - 0.3: Diferencias moderadas
  • > 0.3: Diferencias significativas

Ejemplo: JS = 0.118 indica que las distribuciones de las variables numéricas (edad, presión arterial, etc.) son bastante similares a las del conjunto original.

📌 Nota: Es el promedio de la divergencia de Jensen-Shannon calculada para todas las variables numéricas.

Kolmogorov-Smirnov (p-valor promedio) (0 - 1.0)

¿Qué mide? Probabilidad estadística de que las muestras numéricas del conjunto sintético provengan de la misma distribución continua que el original.

Interpretación:

  • Cerca de 1.0: Altísima probabilidad de que sean la misma distribución (ideal)
  • > 0.05: Similitud aceptable (no se rechaza que sean iguales)
  • < 0.05: Diferencias estadísticamente significativas

Ejemplo: KS p-valor = 0.753 indica que hay evidencia fuerte a favor de que las distribuciones acumulativas de la variable sintética y la original son equivalentes.

📌 Nota: Se reporta el promedio de los p-valores obtenidos mediante la prueba de Kolmogorov-Smirnov de dos muestras para las variables numéricas.

Kullback-Leibler (Promedio) (0 - ∞)

¿Qué mide? Divergencia entre las distribuciones de variables categóricas del conjunto sintético y el original.

Interpretación:

  • Cerca de 0: Distribuciones muy similares (ideal)
  • 0.01 - 0.1: Diferencias pequeñas
  • > 0.1: Diferencias notables

Ejemplo: KL = 0.014 indica que la distribución de las variables categóricas (género, mortalidad) es muy similar a la del conjunto original.

📌 Nota: Es el promedio de la divergencia de Kullback-Leibler para todas las variables categóricas. A diferencia de JS y KS, esta métrica se aplica solo a variables categóricas.

📊 Métricas de Estructura

Similitud de Correlación (0 - 1.0)

¿Qué mide? Preservación de las relaciones entre variables del conjunto original.

Interpretación:

  • Cerca de 1.0: Las relaciones entre variables se mantienen casi idénticas
  • > 0.9: Excelente preservación de relaciones
  • 0.7 - 0.9: Buena preservación
  • < 0.7: Pérdida significativa de relaciones

Ejemplo: Correlación = 0.976 significa que las relaciones entre variables (ej. edad y mortalidad) se mantienen en un 97.6% respecto al conjunto original.

⏱️ Métricas de Rendimiento Temporal

Tiempo Total (s) (segundos)

¿Qué mide? Tiempo total de ejecución del proceso de generación del conjunto.

Interpretación:

  • < 100s: Generación rápida
  • 100-300s: Tiempo moderado
  • > 300s: Proceso lento (puede ser aceptable para conjuntos grandes)

Ejemplo: Tiempo total = 69.45s significa que el proceso completo de generación del conjunto balanceado tomó aproximadamente 1.16 minutos.

⏱️ Nota: Incluye el tiempo de generación sintética + cálculo de métricas.

🔒 Métricas de Privacidad

Estas métricas evalúan el riesgo de exposición de información sensible y la capacidad de un atacante para inferir datos de los pacientes a partir del conjunto de datos sintéticos.

Distancia al Registro Más Cercano (≥ 0)

¿Qué mide? La distancia promedio entre cada registro sintético y su registro más cercano en el conjunto de datos original.

Interpretación:

  • Cerca de 0: Los datos sintéticos son muy similares a los originales → ⚠️ ALTO RIESGO de privacidad
  • 0.01 - 0.05: Similaridad moderada → Riesgo moderado
  • > 0.05: Buena separación de los datos originales → ✅ BAJO RIESGO de privacidad

Ejemplo: Distancia promedio = 0.015 en SMOTE indica que los registros sintéticos están relativamente cerca de los originales, lo que podría implicar un riesgo de privacidad moderado.

🔬

Metodología: Calculada utilizando la Distancia de Gower, la cual maneja internamente tipos de datos mixtos, normalizando las variables numéricas y penalizando diferencias categóricas para devolver un índice estandarizado entre 0 y 1.

💡

Recomendación: Valores < 0.01 deben ser evaluados con precaución. Idealmente, buscar valores > 0.02 para garantizar la privacidad.

Copias Exactas (≥ 0)

¿Qué mide? Número de registros sintéticos que son copias idénticas de registros en el conjunto de datos original.

Interpretación:

  • 0: Ninguna copia exacta → ✅ SEGURO
  • 1 - 10: Pocas copias → Riesgo bajo
  • 11 - 50: Copias moderadas → ⚠️ RIESGO MODERADO
  • > 50: Muchas copias → 🔴 ALTO RIESGO de reidentificación

Ejemplo: SMOTE RSB* Refinado genera 76 copias exactas de 8817 registros (0.86%), lo que representa un riesgo de privacidad que debe ser evaluado.

⚠️

Importante: La presencia de copias exactas es uno de los indicadores más críticos de fuga de datos. Idealmente, este valor debe ser 0.

Ataque de Inferencia de Membresía (MIA) (0 - 1.0)

¿Qué mide? Tasa de éxito (medida en AUC-ROC) de un atacante para determinar si un registro específico pertenece al conjunto de datos original.

Interpretación:

  • 0.5: Aleatorio (ideal) → ✅ PRIVACIDAD ÓPTIMA
  • 0.5 - 0.55: Riesgo bajo
  • 0.55 - 0.6: Riesgo moderado → ⚠️ PRIVACIDAD CUESTIONABLE
  • > 0.6: Riesgo alto → 🔴 PRIVACIDAD COMPROMETIDA

Ejemplo: MIA = 0.553 significa que el atacante tiene un éxito ligeramente superior al 50% aleatorio, lo que indica un riesgo de privacidad bajo/moderado.

🎯

Objetivo: Buscar valores lo más cercanos a 0.5. Valores > 0.6 indican que el conjunto sintético no protege adecuadamente la privacidad.

📝 Resumen Rápido para Selección

🏆
Para seleccionar el mejor conjunto:
  • Priorizar TabDSFidelity más alto
  • Buscar AUC-ROC y F1 altos
  • Valores de divergencia JS y KL cercanos a 0
  • P-valor de KS lo más cercano a 1.0 posible (>0.05)
  • Correlación > 0.9
⚖️
Balance entre calidad y tiempo:
  • Un TabDSFidelity > 8.0 indica excelente calidad
  • Tiempos de generación < 200s son aceptables
  • La Correlación > 0.95 asegura buena preservación de relaciones
🔒
Para garantizar la privacidad:
  • MIA lo más cercano a 0.5 (ideal)
  • Copias exactas = 0 (ideal) o lo más bajo posible
  • Distancia promedio > 0.02 para buena separación
  • Evaluar balance entre calidad (TabDSFidelity) y privacidad (MIA)

📥 Descargar conjuntos y código Python

Formatos incluidos: CSV.

📚 Cómo citar este conjunto

Díaz Bastida, M., Pérez Vázquez, R. A., & Bello Pérez, R. (2026). High-Fidelity Synthetic Dataset for Customer Churn Prediction in E-commerce (Version 1). figshare. https://doi.org/10.6084/m9.figshare.32946521.v1