Cos'è la Market Basket Analysis? Metriche, esempi e casi d'uso

La market basket analysis è un metodo per individuare quali prodotti vengono acquistati insieme nella stessa transazione. Scansiona i dati degli ordini alla ricerca di combinazioni di articoli che compaiono più spesso di quanto prevederebbe il caso. Tre metriche descrivono ciascun pattern: supporto, confidenza e lift. I rivenditori e i negozi online la utilizzano per il cross-selling, i bundle e il posizionamento dei prodotti.
Questa guida spiega come funziona il metodo, come calcolare ciascuna metrica e come interpretare i risultati. Copre inoltre gli algoritmi più comuni, i principali casi d'uso e i limiti da conoscere prima di agire in base a una regola.
Cos'è la market basket analysis
L'idea di base della market basket analysis è semplice. Ogni ordine è un carrello di articoli. Tra migliaia di carrelli, alcuni articoli continuano a comparire insieme. L'analisi individua queste combinazioni e misura la forza di ognuna.
L'output è un insieme di regole di associazione. Una regola si legge così: "se un carrello contiene A, è probabile che contenga anche C". A è chiamato antecedente e C conseguente. Entrambi possono essere singoli articoli o gruppi di articoli.
La documentazione di mlxtend, una libreria Python ampiamente utilizzata per questo lavoro, fornisce la classica illustrazione. Descrive una regola che suggerisce "che le persone che acquistano pannolini hanno anche probabilità di acquistare birra". Indipendentemente dal fatto che questo abbinamento sia valido o meno in un determinato negozio, mostra la forma dell'output.
La tecnica appartiene a un campo più ampio chiamato apprendimento delle regole di associazione. La documentazione di mlxtend rileva che l'algoritmo Apriori "è stato progettato per operare su database contenenti transazioni, come gli acquisti dei clienti di un negozio". La vendita al dettaglio è il settore in cui il metodo ha avuto inizio, ma qualsiasi dato composto da carrelli funziona.
Come funziona
Una market basket analysis si svolge in due fasi.
La prima fase individua gli itemset frequenti. Un itemset è un qualsiasi gruppo di articoli, come {custodia per telefono, pellicola protettiva}. Viene considerato frequente quando appare in almeno una quota minima di tutte le transazioni. Siete voi a impostare questo minimo, chiamato soglia di supporto.
La seconda fase trasforma gli itemset in regole. Per ogni itemset frequente, l'algoritmo lo suddivide in un antecedente e un conseguente e assegna un punteggio alla regola risultante. La documentazione di mlxtend descrive la generazione di regole come "un compito comune nel mining di pattern frequenti".
L'input ha sempre la stessa forma. Ogni riga rappresenta una transazione e ogni colonna indica se un articolo era presente in essa. Le esportazioni degli ordini dalla maggior parte delle piattaforme di e-commerce possono essere rimodellate in questo formato con una tabella pivot.
Tre scelte di preparazione modellano il risultato prima che venga calcolata qualsiasi metrica. Innanzitutto, decidere cosa sia una transazione, che di solito corrisponde a un ID ordine. In secondo luogo, registrare la presenza piuttosto che la quantità, in modo che tre unità di un articolo contino comunque come una sola. Terzo, scegliere il livello di dettaglio. Le categorie di prodotti forniscono un numero inferiore di regole più ampie, mentre i singoli SKU forniscono regole più precise che richiedono più dati.
Le tre metriche fondamentali
Ogni regola riceve tre numeri. Leggerli insieme è ciò che distingue una regola utile da una coincidenza.
Supporto
Il supporto è la quota di tutte le transazioni che contengono l'itemset. Se 60 ordini su 1.000 contengono sia una custodia per telefono che una pellicola protettiva, il supporto di quella coppia è 0.06, ovvero il 6%.
Il supporto indica quanto sia comune un pattern. Una regola con un supporto molto basso può essere reale, ma troppo rara per poter agire di conseguenza.
Confidenza
La confidenza è la probabilità di vedere il conseguente, dato che il carrello contiene già l'antecedente. È pari al supporto della coppia diviso per il supporto dell'antecedente.
La confidenza ha una direzione. La confidenza che A porti a C è solitamente diversa da quella che C porti ad A. L'esempio pratico riportato di seguito mostra il perché.
Lift
Il lift confronta la frequenza effettiva della coppia con quella che ci si aspetterebbe se i due articoli non fossero correlati. È pari alla confidenza della regola divisa per il supporto del conseguente.
La documentazione di mlxtend descrive chiaramente il punto di riferimento: "Se A e C sono indipendenti, il punteggio di Lift sarà esattamente 1". Un lift superiore a 1 significa che gli articoli appaiono insieme più spesso di quanto farebbe il caso. Un lift inferiore a 1 significa che appaiono insieme meno spesso.
Un esempio pratico
Prendiamo un negozio di elettronica online con 1,000 ordini in un mese.
| Misura | Valore |
|---|---|
| Ordini contenenti una custodia per telefono | 200 |
| Ordini contenenti una pellicola protettiva | 100 |
| Ordini contenenti entrambi | 60 |
| Supporto della coppia | 60 / 1,000 = 0.06 |
| Confidenza, da custodia per telefono a pellicola protettiva | 0.06 / 0.20 = 0.30 |
| Confidenza, da pellicola protettiva a custodia per telefono | 0.06 / 0.10 = 0.60 |
| Lift | 0.30 / 0.10 = 3.0 |
Leggiamo i risultati in termini semplici. Tre acquirenti di custodie per telefono su dieci hanno acquistato anche una pellicola protettiva. Sei acquirenti di pellicole protettive su dieci hanno acquistato anche una custodia per telefono. La coppia appare insieme tre volte più spesso di quanto prevederebbe il caso.
Quando si ottiene la tabella completa delle regole, va letta in un ordine preciso. Ordinate per lift per trovare i collegamenti più forti. Scartate le regole al di sotto del vostro supporto minimo, perché sono troppo rare per poter agire. Quindi, utilizzate la confidenza per decidere in quale direzione consigliare.
I due dati sulla confidenza portano ad azioni diverse. Suggerire una custodia per telefono a chi acquista una pellicola protettiva è la raccomandazione più forte, perché il 60% di loro ne prende già una. Il lift è lo stesso in entrambe le direzioni, ed è per questo che il lift è la misura migliore della forza del collegamento in sé.
Altre metriche da conoscere
Le tre metriche fondamentali coprono la maggior parte delle esigenze, ma le librerie ne segnalano altre che aiutano a filtrare le regole deboli.
La leverage misura il divario tra la co-occorrenza osservata e quella attesa. La documentazione di mlxtend la definisce confrontando la co-occorrenza osservata con "la frequenza che ci si aspetterebbe se A e C fossero indipendenti". Una leverage pari a 0 indica indipendenza.
La conviction misura quanto fortemente il conseguente dipenda dall'antecedente. Come per il lift, un valore pari a 1 indica indipendenza. Valori più elevati indicano che la regola viene violata meno spesso di quanto suggerirebbe il caso.
In pratica, la maggior parte dei team ordina le regole per lift, quindi filtra in base a un supporto e a una confidenza minimi. Questa combinazione fa emergere pattern forti, sufficientemente comuni da essere rilevanti e affidabili.
Algoritmi: Apriori e FP-Growth
Apriori è l'algoritmo classico. La documentazione di mlxtend cita come fonte l'articolo del 1994 di Agrawal e Srikant sui metodi rapidi per il mining di regole di associazione. Apriori costruisce gli itemset livello per livello ed elimina qualsiasi itemset i cui sottoinsiemi non siano frequenti, mantenendo la ricerca gestibile.
FP-Growth raggiunge gli stessi itemset frequenti attraverso una strada diversa. La documentazione di mlxtend lo descrive come "un'alternativa popolare all'affermato algoritmo Apriori". Costruisce un albero di pattern frequenti (frequent pattern tree) e non richiede la generazione di candidati. I documenti affermano che questo lo rende "particolarmente interessante per i dataset di grandi dimensioni".
La soglia di supporto funziona allo stesso modo in entrambi. La documentazione di mlxtend fornisce un semplice esempio: con una soglia di 0.5, un itemset frequente deve apparire in almeno la metà di tutte le transazioni. Le soglie nella vendita al dettaglio sono solitamente molto più basse, perché anche le coppie popolari appaiono in una piccola quota di ordini.
Per la maggior parte delle domande di business, la scelta dell'algoritmo influisce sulla velocità, non sui risultati. Entrambi restituiscono gli stessi itemset a parità di soglia di supporto.
A cosa serve la market basket analysis
La market basket analysis è più comune nella vendita al dettaglio e nell'e-commerce, ma i casi d'uso si estendono oltre.
- Cross-selling. Consigliare il conseguente al momento del pagamento quando l'antecedente è nel carrello.
- Bundle. Confezionare articoli con un elevato lift in un'unica offerta.
- Layout del negozio e della pagina. Posizionare gli articoli frequentemente abbinati vicini tra loro, su uno scaffale o su una pagina di prodotto.
- Pianificazione dell'inventario. Stoccare insieme gli articoli abbinati, in modo che la carenza di uno non riduca silenziosamente le vendite dell'altro.
- Contenuti e media. Trattare una sessione utente come un carrello e scoprire quali articoli o video vengono consumati insieme.
- Servizi. Nel settore bancario o delle telecomunicazioni, trattare i prodotti di ciascun cliente come un carrello e scoprire quali combinazioni tendono ad andare insieme.
- Revisione delle campagne. Confrontare il lift di una coppia prima e durante una campagna. Un balzo dimostra che la campagna ha cambiato il comportamento d'acquisto, non solo il volume.
Ogni caso d'uso parte dalla stessa domanda. Quando i clienti scelgono una cosa, cos'altro tendono a scegliere?
L'azione successiva dovrebbe corrispondere alla direzione della confidenza. Un bundle funziona quando entrambi gli articoli sono desiderati insieme. Un suggerimento al checkout funziona quando un articolo porta in modo affidabile all'altro.
Market basket analysis rispetto a metodi correlati
La market basket analysis viene spesso confusa con la segmentazione della clientela e con i motori di raccomandazione. La tabella mostra in cosa si differenziano.
| Metodo | Unità di analisi | Domanda principale | Output tipico |
|---|---|---|---|
| Market basket analysis | Transazioni | Quali articoli vanno insieme? | Regole di associazione con supporto, confidenza e lift |
| Customer segmentation | Clienti | Quali clienti si somigliano? | Gruppi di clienti con tratti condivisi |
| Filtro collaborativo | Cronologia dei clienti e degli articoli | Cosa piacerà a questa persona in seguito? | Raccomandazioni personalizzate |
| Analisi di coorte | Gruppi per data di inizio | Come cambia il comportamento nel tempo? | Curve e tabelle di retention |
I metodi si completano a vicenda. La segmentazione può dirvi chi sono i vostri clienti di alto valore, e la market basket analysis può dirvi cosa acquistano insieme questi clienti. La nostra guida alla creazione di un report di segmentazione della clientela copre la prima parte, mentre la nostra spiegazione sull'analisi di coorte copre la dimensionale temporale.
Limiti da conoscere
Le regole derivanti dalla market basket analysis sono utili, ma è facile sovrastimarne il significato.
La co-occorrenza non è causalità. Una coppia con un lift elevato indica che due articoli vengono acquistati insieme. Non dice che l'acquisto di uno causi l'acquisto dell'altro.
Le soglie modellano la risposta. Se impostate il supporto a un livello troppo alto, vi perderete coppie di nicchia ma di valore. Se lo impostate troppo basso, otterrete migliaia di regole, molte delle quali saranno solo rumore.
Gli articoli rari si perdono. Un articolo costoso acquistato poche volte al mese potrebbe non raggiungere mai la soglia di supporto, anche se i suoi abbinamenti sono forti.
I resi e gli annullamenti distorcono i carrelli. Se gli articoli restituiti rimangono nei dati, l'analisi conteggia abbinamenti che i clienti hanno annullato. La nostra guida a un report sui resi dei prodotti spiega come misurare questo aspetto separatamente.
Molte coppie significano alcuni falsi pattern. Un catalogo di 500 articoli ha più di 100,000 coppie possibili. Alcune mostreranno un lift elevato solo per caso. Confermate le regole importanti su un secondo periodo di dati prima di agire di conseguenza.
Il tempo conta. I pattern durante il periodo natalizio o festivo potrebbero non essere validi in primavera. Eseguite l'analisi su periodi comparabili prima di modificare un layout o un bundle.
Come eseguirne una senza scrivere codice
La via classica è Python, con una libreria come mlxtend, oppure SQL per il conteggio delle coppie. Entrambi richiedono di rimodellare i dati degli ordini in una riga per transazione e una colonna per articolo.
Un foglio di calcolo può gestire una versione ridotta. Una tabella pivot conta gli ordini per articolo e una formula CONTA.PIÙ.SE conta gli ordini che contengono entrambi gli articoli di una coppia. Il limite è la scalabilità, poiché il numero di coppie possibili cresce rapidamente con il catalogo.
Un'area di lavoro AI può eseguire il rimodellamento e il conteggio a partire da una semplice esportazione degli ordini. Powerdrill Bloom include i caricamenti di Excel e CSV in ogni piano. Potete chiedere quali prodotti vengono acquistati più spesso insieme e richiedere supporto, confidenza e lift per le coppie principali.
Iniziate con un'esecuzione a livello di categoria per vedere i pattern generali. Quindi eseguite nuovamente a livello di SKU per le categorie che contano di più.
Verificate l'output nello stesso modo in cui verifichereste uno script. Confermate il conteggio delle transazioni, controllate a campione una coppia manualmente e assicuratevi che gli ordini restituiti siano stati esclusi. La pagina dell'assistente AI per CSV mostra il flusso di lavoro incentrato sui file.
Se avete un'esportazione degli ordini pronta, potete provare Powerdrill Bloom su di essa e confrontare le coppie principali con ciò che si aspetta il vostro team.
Domande frequenti
Cos'è la market basket analysis in parole semplici?
È un modo per scoprire quali prodotti i clienti tendono ad acquistare insieme. Esamina molti ordini e misura la frequenza con cui appare ciascuna combinazione, rispetto a quanto prevederebbe il caso.
Cos'è il lift nella market basket analysis?
Il lift confronta la frequenza con cui due articoli appaiono insieme rispetto a quella con cui apparirebbero se non fossero correlati. Un lift pari a 1 indica l'assenza di associazione. Un valore superiore a 1 significa che acquistati insieme più del previsto, mentre un valore inferiore a 1 significa meno.
Come si calcolano il supporto e la confidenza?
Il supporto è il numero di transazioni contenenti l'itemset diviso per il totale delle transazioni. La confidenza è il supporto della coppia diviso per il supporto dell'antecedente. Entrambi sono solitamente mostrati come decimali o percentuali.
Quale algoritmo viene utilizzato per la market basket analysis?
Apriori è l'algoritmo classico, mentre FP-Growth è una comune alternativa più rapida. Entrambi individuano gli itemset frequenti a partire dai dati delle transazioni, e le regole vengono poi generate e valutate sulla base di tali itemset.
È possibile eseguire la market basket analysis in Excel?
Sì, per dataset di piccole dimensioni. Una tabella pivot conta gli ordini per articolo e la formula CONTA.PIÙ.SE conta gli ordini che contengono una coppia. Per cataloghi di grandi dimensioni, il numero di coppie cresce rapidamente, quindi uno script o uno strumento di intelligenza artificiale risulta più pratico.
Fonti: mlxtend, Association rules · mlxtend, Apriori. L'esempio pratico utilizza cifre illustrative.