Filtraggio delle regole prive di significato e identificazione di bundle di prodotti ad alto valore
Scorri per mostrare il menu
Per massimizzare l'impatto dell'analisi del carrello della spesa, è necessario separare le regole di associazione realmente preziose da quelle che sono banali o irrilevanti per gli obiettivi aziendali. Questo processo garantisce che le raccomandazioni e le promozioni siano basate su insight azionabili e non su rumore o schemi ovvi.
Criteri di filtraggio
Il primo passo nel filtrare le regole di associazione è impostare soglie minime per supporto, confidenza e lift. Queste metriche aiutano a eliminare le regole troppo rare per essere utili o non statisticamente significative.
- Soglia di supporto: ignorare le regole che si verificano in troppo poche transazioni, poiché potrebbero essere outlier o prive di impatto aziendale;
- Soglia di confidenza: scartare le regole che non mostrano un'associazione sufficientemente forte tra antecedente e conseguente;
- Soglia di lift: rimuovere le regole con valori di lift vicini o inferiori a 1, poiché non indicano un'associazione significativa oltre il caso.
Ridondanza
Molte regole nei risultati del mining possono essere ridondanti, ovvero non forniscono nuove informazioni rispetto ad altre regole. Ad esempio, se sia "milk → bread" che "milk, butter → bread" hanno supporto e confidenza simili, la regola più specifica potrebbe non aggiungere valore. Identificare e rimuovere le regole ridondanti aiuta a concentrarsi sugli schemi più concisi e informativi.
Rilevanza per il business
Non tutte le regole statisticamente forti sono utili per l'azienda. Per determinare se una regola è azionabile, chiedersi:
- La regola suggerisce un abbinamento di prodotti che si può promuovere insieme?
- La combinazione è logisticamente fattibile (ad esempio, non abbinare prodotti di reparti non correlati)?
- La regola può informare la disposizione del negozio o strategie di cross-selling?
- La regola è in linea con gli obiettivi aziendali, come aumentare la dimensione del carrello o introdurre nuovi prodotti?
Esempio: filtraggio delle regole per isolare bundle di alto valore
Supponiamo di aver estratto un insieme di regole di associazione dai dati delle transazioni. Applicando soglie e rimuovendo la ridondanza, è possibile isolare un piccolo insieme di bundle di prodotti di alto valore che sono sia statisticamente significativi sia allineati con gli obiettivi aziendali.
12345678910111213141516171819202122232425262728293031import pandas as pd # Example association rules DataFrame rules = pd.DataFrame({ 'antecedents': [['milk'], ['bread'], ['milk', 'bread'], ['chips'], ['chips', 'salsa']], 'consequents': [['bread'], ['milk'], ['butter'], ['salsa'], ['soft drinks']], 'support': [0.30, 0.28, 0.15, 0.10, 0.08], 'confidence': [0.7, 0.6, 0.5, 0.4, 0.75], 'lift': [1.2, 1.1, 0.95, 1.0, 1.5] }) # Setting filtering thresholds min_support = 0.10 min_confidence = 0.6 min_lift = 1.1 # Filtering rules by thresholds and explicitly creating a copy filtered_rules = rules[ (rules['support'] >= min_support) & (rules['confidence'] >= min_confidence) & (rules['lift'] >= min_lift) ].copy() # Removing redundant rules: keep only the most general (shortest antecedents) filtered_rules['antecedent_length'] = filtered_rules['antecedents'].apply(len) non_redundant_rules = filtered_rules.sort_values('antecedent_length').drop_duplicates('consequents') # Identifying top product bundles (by lift) top_bundles = non_redundant_rules.sort_values('lift', ascending=False) print(top_bundles[['antecedents', 'consequents', 'support', 'confidence', 'lift']])
1. Qual è la principale ragione per impostare una soglia minima di lift durante il filtraggio delle regole di associazione?
2. Quale delle seguenti descrive meglio una regola di associazione ridondante?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione