bart bartScoreMargin

Analyse de l'impact d'une campagne publicitaire sur la valeur d'achat client

Scénario de test & Cas d'usage

Contexte Métier

Une entreprise de e-commerce souhaite mesurer l'efficacité d'une nouvelle campagne publicitaire ciblée. L'objectif est de quantifier l'augmentation (uplift) de la valeur d'achat moyenne pour les clients exposés à la publicité par rapport à ceux qui ne l'ont pas été, tout en contrôlant pour l'âge du client.
À propos du Set : bart

Modèles d'arbres de régression additive bayésienne.

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

Création d'une table de clients avec des informations démographiques, l'exposition à la publicité et la valeur d'achat. La valeur d'achat est influencée par l'âge et l'exposition à la pub.

Copié !
1DATA casuser.marketing_data;
2 call streaminit(456);
3 DO client_id = 1 to 5000;
4 age = 20 + floor(rand('UNIFORM') * 50);
5 a_vu_pub = ifn(rand('UNIFORM') < 0.4, 1, 0);
6 valeur_achat = 50 + (age / 10) + (a_vu_pub * 25) + rand('NORMAL', 0, 15);
7 IF valeur_achat < 10 THEN valeur_achat = 10;
8 OUTPUT;
9 END;
10RUN;

Étapes de réalisation

1
Chargement de la table des clients en mémoire CAS.
Copié !
1 
2PROC CAS;
3TABLE.loadTable / caslib='CASUSER' path='marketing_data.sashdat' casout={name='marketing_data', replace=true};
4RUN;
5 
2
Entraînement d'un modèle BART pour prédire la valeur d'achat.
Copié !
1PROC CAS;
2 LOADACTIONSET 'bart';
3 bart.bartGauss TABLE='marketing_data',
4 model={depvar='valeur_achat', effects={'age', 'a_vu_pub'}},
5 store={name='model_marketing', replace=true};
6RUN;
3
Calcul des marges prédictives pour les deux groupes (exposés et non-exposés) et calcul de la différence (uplift).
Copié !
1PROC CAS;
2 bart.bartScoreMargin TABLE='marketing_data',
3 model='model_marketing',
4 margins={
5 {name='margin_pub', label='Exposé à la pub', at={{var='a_vu_pub', value=1}}},
6 {name='margin_nopub', label='Non exposé à la pub', at={{var='a_vu_pub', value=0}}}
7 },
8 differences={
9 {name='uplift_pub', label='Uplift Pub vs Non-Pub', evtMargin='margin_pub', refMargin='margin_nopub'}
10 },
11 casOut={name='marketing_margins_output', replace=true},
12 marginInfo=true;
13RUN;
14QUIT;

Résultat Attendu


L'action doit produire trois tables de résultats : 'MarginInfo' décrivant les deux scénarios, 'PredMargins' avec les valeurs d'achat prédites pour chaque groupe, et 'Diffs' qui quantifie l'augmentation moyenne de la valeur d'achat due à la publicité. La table de sortie 'marketing_margins_output' doit contenir ces résultats pour une analyse ultérieure.