Scénario de test & Cas d'usage
Cálculo preciso de percentiles y cuantiles.
Descubrir todas las acciones de percentileCrea una tabla de clientes con datos demográficos, el resultado histórico de una campaña similar (Target_Compra) y la puntuación del nuevo modelo (Prob_Compra).
| 1 | DATA casuser.clientes_scored; |
| 2 | call streaminit(123); |
| 3 | array regiones[4] $ E N S O; |
| 4 | array grupos_edad[3] $ Joven Adulto Senior; |
| 5 | DO id_cliente = 1 to 50000; |
| 6 | region = regiones[rand('integer', 1, 4)]; |
| 7 | grupo_edad = grupos_edad[rand('integer', 1, 3)]; |
| 8 | ingreso_anual = 20000 + rand('uniform') * 80000; |
| 9 | /* Simulación de probabilidad base con ruido */ |
| 10 | prob_base = 0.1 + (ifn(region='N', 0.1, 0)) + (ifn(grupo_edad='Senior', 0.15, 0)) - (ingreso_anual / 500000); |
| 11 | Prob_Compra = prob_base + rand('normal', 0, 0.05); |
| 12 | IF Prob_Compra < 0.01 THEN Prob_Compra = 0.01; |
| 13 | IF Prob_Compra > 0.99 THEN Prob_Compra = 0.99; |
| 14 | Target_Compra = rand('binomial', Prob_Compra, 1); |
| 15 | OUTPUT; |
| 16 | END; |
| 17 | RUN; |
| 1 | |
| 2 | PROC CASUTIL; |
| 3 | load |
| 4 | DATA=casuser.clientes_scored casout='clientes_scored' replace; |
| 5 | QUIT; |
| 6 |
| 1 | PROC CAS; |
| 2 | percentile.assess |
| 3 | TABLE={name='clientes_scored', groupBy={'region', 'grupo_edad'}}, |
| 4 | response='Target_Compra', |
| 5 | event='1', |
| 6 | inputs={'Prob_Compra'}, |
| 7 | pVar={'Prob_Compra'}, |
| 8 | pEvent={'1'}, |
| 9 | rocOut={name='roc_results_segmentos', replace=true}, |
| 10 | casOut={name='lift_results_segmentos', replace=true}, |
| 11 | fitStatOut={name='fitstat_results_segmentos', replace=true}; |
| 12 | RUN; |
| 13 | QUIT; |
| 1 | |
| 2 | PROC PRINT |
| 3 | DATA=casuser.fitstat_results_segmentos(where=(region='N' and grupo_edad='Senior')); |
| 4 | title 'Estadísticas de Ajuste para Senior en Región N'; |
| 5 | RUN; |
| 6 |
La acción debe generar tres tablas de salida (`roc_results_segmentos`, `lift_results_segmentos`, `fitstat_results_segmentos`) que contienen las métricas de evaluación para cada combinación de región y grupo de edad. El análisis de estas tablas permitirá al equipo de marketing confirmar si el modelo es consistentemente bueno en todos los segmentos o si necesita ajustes para ciertos grupos. Se espera que el área bajo la curva (AUC) sea mayor en los segmentos 'Senior' y 'N'.