mbanalysis
Description
L'action mbanalysis (Market Basket AnalysisGemini said
Le Market Basket Analysis est une méthode de data mining identifiant les associations de produits. Elle révèle les habitudes d'achat pour optimiser le placement, les promotions et le cross-selling.) est votre détective privé pour les tickets de caisse ! Elle effectue une analyse des données transactionnellesDonnées enregistrant chaque événement métier au moment où il se produit (vente, stock, clic). Elles incluent horodatage, acteurs, quantités et montants pour alimenter les analyses de séries chronologiques. pour générer des règles d'association, révélant ainsi les habitudes d'achats combinés. Indispensable pour booster le cross-selling ou simplement prouver le fameux mythe selon lequel les acheteurs de couches achètent aussi de la bière. Plongez dans les algorithmes via la documentation officielle.
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| table | Spécifie les paramètres de la table d'entrée contenant vos données transactionnelles. (Paramètre requis) |
| idVariable | La variable qui sert d'identifiant pour regrouper les cibles en paniers (ex: un ID de transaction). (Paramètre requis) |
| tgtVariable | La variable cible nominale contenant les items à analyser (ex: le nom de l'article). (Paramètre requis) |
| conf | La confiance minimale (en pourcentage) pour qu'une règle soit conservée. Valeur par défaut : 50. |
| lift | Le lift (ou levier) minimum nécessaire pour qu'une règle soit considérée pertinente. Valeur par défaut : 1. |
| items | Le nombre d'éléments inclus dans une règle. Par défaut, la valeur est de 2. |
| maxItems | Taille maximale autorisée pour un panier. Les paniers plus volumineux sont ignorés. Valeur par défaut : 1000. |
| outrule | Table de sortie qui contiendra les règles d'association générées, ainsi que les mesures de support et de lift. |
| outfreq | Table de sortie optionnelle recensant les items fréquents uniques, leur compte et leur support. |
| suppct | Le support minimum d'une règle, exprimé en pourcentage du nombre total de paniers. |
| nLHS_range | Permet de spécifier le nombre minimum (lower) et maximum (upper) d'items autorisés du côté gauche (antécédent) de la règle. |
Préparation des données
Création d'un historique d'achats
Nous allons créer une table contenant des paniers factices pour tester notre algorithme. Un simple jeu de données simulant un petit supermarché.
| 1 | DATA casuser.achats; |
| 2 | LENGTH ticket_id 8 produit $20; |
| 3 | INPUT ticket_id produit $; |
| 4 | DATALINES; |
| 5 | 1 Lait |
| 6 | 1 Couches |
| 7 | 1 Biere |
| 8 | 2 Lait |
| 9 | 2 Couches |
| 10 | 3 Biere |
| 11 | 3 Couches |
| 12 | 4 Lait |
| 13 | 4 Biere |
| 14 | 4 Couches |
| 15 | 5 Pommes |
| 16 | 5 Lait |
| 17 | ; |
| 18 | RUN; |
Exemples d'utilisation
Découverte des paires d'achats de base
Lancement d'une analyse simple pour repérer quelles paires de produits sont achetées ensemble, avec un niveau de confiance fixé à 50%.
| 1 | PROC CAS; |
| 2 | ruleMining.mbanalysis / |
| 3 | TABLE={name="achats", caslib="casuser"} |
| 4 | idVariable="ticket_id" |
| 5 | tgtVariable="produit" |
| 6 | conf=50 |
| 7 | lift=1 |
| 8 | outrule={name="regles_basiques", caslib="casuser", replace=true}; |
| 9 | RUN; |
| 10 | QUIT; |
Résultat Attendu :
Market Basket avancé avec filtres et statistiques
Dans ce scénario plus poussé, nous ajustons la taille des paniers analysés, fixons des critères stricts (confiance à 60%, lift à 1.2, et un support minimal de 10%) et récupérons à la fois les règles métier et les fréquences pures des articles.
| 1 | PROC CAS; |
| 2 | ruleMining.mbanalysis / |
| 3 | TABLE={name="achats", caslib="casuser"} |
| 4 | idVariable="ticket_id" |
| 5 | tgtVariable="produit" |
| 6 | conf=60 |
| 7 | lift=1.2 |
| 8 | items=3 |
| 9 | minItems=2 |
| 10 | maxItems=10 |
| 11 | suppct=10 |
| 12 | outfreq={name="frequences_produits", caslib="casuser", replace=true} |
| 13 | outrule={name="regles_complexes", caslib="casuser", replace=true}; |
| 14 | RUN; |
| 15 | QUIT; |