L'action `marketAttribution` effectue une analyse d'attribution marketing en utilisant des modèles d'attribution. Ces modèles aident à comprendre comment les différents canaux marketing contribuent aux conversions des clients, en analysant les séquences d'interactions (chemins de conversion) des utilisateurs.
| Paramètre | Description |
|---|---|
| table | Spécifie la table de données d'entrée contenant les chemins de conversion des clients. |
| time | Identifie la variable qui définit l'ordre temporel ou séquentiel de chaque observation dans les chemins. |
| section | Identifie la variable qui regroupe les observations en sections ou sessions distinctes pour chaque utilisateur. |
| channel | Spécifie la variable qui contient les noms des canaux marketing (par exemple, 'email', 'social', 'paid search'). |
| nchannel | Spécifie le nombre total de canaux marketing uniques à prendre en compte dans le modèle. |
| halflife | Spécifie le paramètre de demi-vie pour le modèle de décroissance temporelle (time-decay). Une valeur plus faible donne plus de poids aux interactions récentes. |
| outContribution | Spécifie la table de sortie pour stocker les résultats de la contribution de chaque canal. |
| outRemoval | Spécifie la table de sortie pour stocker les résultats de l'effet de suppression (removal effect) de chaque canal. |
| outTpm | Spécifie la table de sortie pour stocker la matrice de probabilités de transition entre les canaux. |
Ce bloc de code crée un jeu de données `customer_journey` qui simule les interactions de plusieurs clients sur différents canaux marketing avant une conversion. Chaque ligne représente un point de contact.
| 1 | DATA mycas.customer_journey; |
| 2 | INPUT customer_id $ time channel $ section conversion; |
| 3 | DATALINES; |
| 4 | C1 1 Organic_Search 1 0 |
| 5 | C1 2 Social_Media 1 0 |
| 6 | C1 3 Email 1 1 |
| 7 | C2 1 Paid_Search 1 0 |
| 8 | C2 2 Display_Ad 1 1 |
| 9 | C3 1 Direct 1 1 |
| 10 | C4 1 Social_Media 1 0 |
| 11 | C4 2 Social_Media 1 0 |
| 12 | C4 3 Email 1 0 |
| 13 | C4 4 Paid_Search 1 1 |
| 14 | C5 1 Email 1 1 |
| 15 | ; |
| 16 | RUN; |
Cet exemple exécute une analyse d'attribution de base en utilisant le modèle de Markov pour évaluer la contribution de chaque canal.
| 1 | PROC CAS; |
| 2 | marketattribution.marketattribution / |
| 3 | TABLE={name='customer_journey'}, |
| 4 | time='time', |
| 5 | section='section', |
| 6 | channel='channel', |
| 7 | outContribution={name='mycas.contribution_results', replace=true}; |
| 8 | RUN; |
Cet exemple utilise un modèle de décroissance temporelle avec une demi-vie de 2 jours pour donner plus de poids aux interactions les plus récentes. Il génère également la matrice de probabilités de transition et les scores d'effet de suppression.
| 1 | PROC CAS; |
| 2 | marketattribution.marketattribution / |
| 3 | TABLE={name='customer_journey', groupBy={'customer_id'}}, |
| 4 | time='time', |
| 5 | section='section', |
| 6 | channel='channel', |
| 7 | nchannel=5, |
| 8 | halflife=2, |
| 9 | outContribution={name='mycas.contribution_decay', replace=true}, |
| 10 | outRemoval={name='mycas.removal_effect', replace=true}, |
| 11 | outTpm={name='mycas.transition_matrix', replace=true}; |
| 12 | RUN; |