percentile assess

Scénario Standard : Évaluation d'un modèle de propension marketing

Scénario de test & Cas d'usage

Contexte Métier

Une entreprise de vente au détail a développé un modèle prédictif pour identifier les clients les plus susceptibles de répondre à une nouvelle campagne promotionnelle. L'objectif est d'évaluer la performance de ce modèle de classification binaire pour s'assurer qu'il discrimine efficacement les répondeurs des non-répondeurs, afin d'optimiser le budget de la campagne en ne ciblant que les clients à forte probabilité de conversion.
À propos du Set : percentile

Calcul précis des percentiles et quantiles.

Découvrir toutes les actions de percentile
Préparation des Données

Création d'une table de clients avec la réponse réelle à la campagne ('a_repondu') et la probabilité prédite par le modèle ('score_propension'). La table contient des informations démographiques de base.

Copié !
1DATA casuser.marketing_scores (promote=yes);
2 call streaminit(123);
3 DO client_id = 1 to 5000;
4 a_repondu = rand('BERNOULLI', 0.15);
5 IF a_repondu = 1 THEN score_propension = rand('UNIFORM')*0.5 + 0.45; /* Higher scores for responders */
6 ELSE score_propension = rand('UNIFORM')*0.6; /* Lower scores for non-responders */
7 IF score_propension > 1 THEN score_propension = 1;
8 IF score_propension < 0 THEN score_propension = 0;
9 OUTPUT;
10 END;
11RUN;

Étapes de réalisation

1
Exécution de l'évaluation de base pour le modèle de classification. On spécifie la table, la variable de réponse ('a_repondu'), l'événement d'intérêt ('1') et la variable contenant la probabilité prédite ('score_propension').
Copié !
1PROC CAS;
2 percentile.assess
3 TABLE='marketing_scores',
4 response='a_repondu',
5 event='1',
6 pVar={'score_propension'};
7RUN;
8QUIT;
2
Exécution d'une évaluation avancée en générant des tables de sortie dédiées pour les statistiques d'ajustement (`fit_stats_marketing`) et les données de la courbe ROC (`roc_data_marketing`) pour une analyse plus approfondie.
Copié !
1PROC CAS;
2 percentile.assess
3 TABLE='marketing_scores',
4 response='a_repondu',
5 event='1',
6 pVar={'score_propension'},
7 fitStatOut={name='fit_stats_marketing', replace=true},
8 rocOut={name='roc_data_marketing', replace=true};
9RUN;
10QUIT;

Résultat Attendu


L'action doit produire des statistiques d'évaluation (KS, Gini, AUC) indiquant une bonne performance du modèle. Les tables `fit_stats_marketing` et `roc_data_marketing` doivent être créées dans la caslib `casuser` et contenir les données nécessaires pour visualiser la courbe ROC et analyser les métriques d'ajustement du modèle.