Análisis Exploratorio de Datos

EDA completo · Punto 1 del reto técnico

Resumen del Dataset

Total transacciones

50.000

Casos de fraude

750

Tasa de fraude

1.5%

Nulos imputados

1.172

Tratamiento de Valores Nulos

Imputación estratificada

1.172 valores faltantes en score_dispositivo (2.3%)

🧩

Estrategia: Mediana Estratificada

Se imputó con la mediana por grupo (país_coincide × categoría_comercio). La mediana es robusta a outliers — crítico en fraude donde los valores extremos son la señal, no el ruido.

⚠️

Por qué No Imputación Global

Los nulos no son aleatorios (MAR). Un dispositivo no identificado en Electrónica internacional tiene un perfil de riesgo diferente a uno en Retail doméstico. La imputación global mezclaría estas distribuciones.

📊

Variables Usadas para Estratificar

Grupos: pais_coincide × categoria_comercio. Con 10 combinaciones únicas de grupos, cada celda tiene su propia mediana representativa.

Distribución de Montos

Comparación entre total de transacciones y casos de fraude por rango de monto

Tasa de Fraude por Categoría

Electrónica y Viajes lideran en proporción de fraude

Feature Engineering

4 nuevas variables

Variables creadas a partir de timestamp y transformaciones

🌙

es_hora_riesgo

Booleano: True si la hora está entre las 23:00 y las 05:00. Captura el patrón de fraude nocturno — el 2do predictor más importante según SHAP.

Formula: hora >= 23 OR hora <= 5

hora

Extracción del componente hora del timestamp. Permite al modelo capturar ciclos intradiarios de comportamiento fraudulento.

Formula: timestamp.dt.hour

📅

dia_semana

Día de la semana (0=Lunes, 6=Domingo). Los fines de semana tienen patrones de transacción diferentes y menor monitoreo humano.

Formula: timestamp.dt.dayofweek

📈

monto_log

Transformación log1p del monto. La distribución del monto está muy sesgada a la derecha. log1p normaliza la escala y mejora el entrenamiento de los árboles.

Formula: log(1 + monto)

Correlación con Target (Fraude)

Correlación de Pearson entre cada feature y la variable objetivo

score_dispositivo
-0.525
intentos_fallidos_24h
0.469
pais_coincide
-0.330
monto_log
0.219
es_hora_riesgo
0.188
hora
-0.115

Rojo = correlación positiva con fraude · Azul = correlación negativa

Distribución: Intentos Fallidos en 24h

La mayoría tiene 0 intentos; múltiples reintentos son señal de alerta

0

intentos

41.840

83.7%

1

intentos

5.022

10.0%

2

intentos

2.216

4.4%

3

intentos

777

1.6%

4

intentos

145

0.3%

⚠ Los registros con 3+ intentos (922) son señal crítica de credential stuffing