bart bartScore

Puntuación Estándar para Predicción de Abandono de Clientes

Scénario de test & Cas d'usage

Contexto empresarial

Una empresa de telecomunicaciones desea puntuar a sus clientes actuales para predecir su probabilidad de abandonar el servicio (churn). Disponen de un modelo BART entrenado con datos históricos. El objetivo es identificar a los clientes en riesgo para dirigirles ofertas de retención personalizadas y reducir la tasa de abandono.
Sobre el conjunto : bart

Modelos de árboles de regresión aditiva bayesiana.

Descubrir todas las acciones de bart
Preparación de datos

Crea una tabla de clientes para puntuar (`clientes_a_puntuar`) y una tabla ficticia de almacenamiento del modelo (`modelo_churn_bart`). La tabla de clientes contiene variables predictoras como la antigüedad, el gasto mensual y el número de llamadas a soporte.

¡Copiado!
1DATA mycas.clientes_a_puntuar(keep=ID_Cliente Antiguedad GastoMensual LlamadasSoporte);
2 call streaminit(456);
3 DO ID_Cliente = 1 to 500;
4 Antiguedad = floor(rand('UNIFORM') * 60) + 1;
5 GastoMensual = 50 + rand('NORMAL', 20, 15);
6 LlamadasSoporte = floor(rand('POISSON', 2));
7 OUTPUT;
8 END;
9RUN;
10 
11DATA mycas.modelo_churn_bart;
12 /* Tabla ficticia para representar el almacén del modelo. En un caso real, esta tabla es generada por bartGauss o bartProbit. */
13 LENGTH _Value_ $ 200;
14 _Value_ = 'simulated_model_data';
15 OUTPUT;
16RUN;

Étapes de réalisation

1
Ejecución de la acción bart.bartScore para puntuar a los clientes. Se copian el ID del cliente y su antigüedad a la tabla de salida para facilitar la identificación y el análisis posterior. La predicción se renombra a 'ProbabilidadAbandono'.
¡Copiado!
1PROC CAS;
2 bart.bartScore /
3 restore={name='modelo_churn_bart', caslib='mycas'},
4 TABLE={name='clientes_a_puntuar', caslib='mycas'},
5 casOut={name='clientes_puntuados', caslib='mycas', replace=true},
6 pred='ProbabilidadAbandono',
7 copyVars={'ID_Cliente', 'Antiguedad'};
8RUN;
9QUIT;
2
Verificación de los resultados. Se imprimen las primeras 10 filas de la tabla de salida para confirmar que contiene las variables copiadas y la nueva columna de predicción con valores no nulos.
¡Copiado!
1PROC CAS;
2 TABLE.fetch /
3 TABLE={name='clientes_puntuados', caslib='mycas'},
4 to=10;
5RUN;
6QUIT;

Resultado esperado


Se genera una nueva tabla CAS llamada `clientes_puntuados`. Esta tabla contiene el `ID_Cliente` y la `Antiguedad` de la tabla de entrada, junto con una nueva columna `ProbabilidadAbandono` que contiene la puntuación de riesgo para cada cliente. El equipo de marketing puede ahora utilizar esta tabla para filtrar a los clientes con la probabilidad más alta y actuar en consecuencia.