Insights / Blog

Market Basket Analysis in Alteryx

Nel mondo di oggi, sempre più data-oriented, tutti i principali negozi al dettaglio dispongono di un’enorme quantità di informazioni relative agli acquisti effettuati dai clienti. Ogni transazione è data da un numero di prodotti che sono stati acquistati insieme. Osservando questo insieme di dati, sorge spontaneo chiedersi “Quali prodotti vengono solitamente acquistati insieme?”. Per rispondere a questa domanda, è necessario applicare tecniche di Market Basket Analysis (MBA). Essa consente di identificare le relazioni esistenti tra un vasto numero di prodotti acquistati da differenti consumatori, in base alla teoria secondo la quale se si acquista un determinato insieme di articoli, si ha una maggiore (o minore) probabilità di acquistare un altro insieme di prodotti. Ad esempio, i clienti che acquistano quaderni e matite, probabilmente acquisteranno anche gomme e temperamatite.

Le indicazioni fornite dalla MBA possono essere sfruttate in diversi modi, tra cui:

  • Posizionare gli articoli che vengono acquistati insieme sullo stesso scaffale o in scaffali vicini, così da incrementare le vendite
  • Stimolare gli acquisti on-line proponendo prodotti in abbinamento a quelli selezionati (la dicitura “Chi ha acquistato questo articolo ha acquistato anche…” vi dice nulla?)
  • Realizzare campagne marketing su misura per inviare ai clienti coupon promozionali relativi ai prodotti che hanno acquistato recentemente.

Come funziona la Market Basket Analysis

Per svolgere una MBA, è innanzitutto necessario un dataset contenente delle transazioni. Ogni transazione consiste in un gruppo di prodotti che sono acquistati insieme, i quali vengono definiti “itemset”. Un esempio di itemset potrebbe essere {matita, quaderno, gomma, temperamatite} nel caso tutti questi articoli vengano acquistati all’interno di una singola transazione. Le transazioni vengono poi analizzate per identificare regole di associazione. Per esempio, una regola di associazione potrebbe essere:

{matita, quaderno} => {gomma}

Ciò significa che se un cliente effettua una transazione che contiene una matita e un quaderno, probabilmente sarà interessato anche all’acquisto di una gomma.

Attenzione: prima di fidarsi di una regola, bisogna accertarsi che ci sia sufficiente evidenza per suggerire che essa possa produrre un beneficio effettivo. Per misurare la robustezza di una regola è possibile calcolare diverse metriche, qui di seguito riportiamo le più utilizzate:

  1. Support: percentuale di transazioni che contengono tutti i prodotti presenti nell’itemset (es. matita, quaderno, gomma). Più è alto il Support, più frequentemente ricorre l’itemset. Le regole che presentano un Support elevato vengono preferite in quanto è più probabile che si applichino a un ampio numero di transazioni future.
  2. Confidence: probabilità di acquistare l’itemset sul lato destro della regola, detto conseguente (nell’esempio di prima, la gomma), dato l’acquisto dell’itemset sul lato sinistro della regola, detto antecedente (matita e quaderno) all’interno della stessa transazione. Più alta è la Confidence, maggiore è l’affidabilità della regola.
  3. Lift: rapporto tra il Support e il prodotto tra la probabilità di acquistare l’itemset antecedente e quella di acquistare l’itemset conseguente (nell’ipotesi di indipendenza). Il lift può assumere i seguenti valori

– Lift > 1 indica che l’antecedente aumenta la probabilità che il conseguente venga acquistato

– Lift < 1 indica che l’antecedente riduce la probabilità che il conseguente venga acquistato (i due itemset possono dunque essere definiti “sostitutivi”)

– Lift = 1 indica che antecedente e conseguente sono indipendenti

Adesso che abbiamo chiarito il funzionamento dell’analisi, passiamo a una applicazione pratica. Grazie ad Alteryx, effettuare una MBA è molto facile, bastano due tool appartenenti alla sezione Predictive Grouping: MB Rules e MB Inspect. Vediamoli insieme

Step 1: Definizione delle regole di associazione

Come input del nostro flow di Alteryx utilizziamo i dati raccolti da una nota catena di supermercati. Il dataset presenta due colonne: una indica il numero di scontrino mentre l’altra indica l’articolo acquistato (per ovvi motivi è riportata la categoria dell’articolo e non il prodotto specifico)

Market Basket

Dalla sezione Predictive Grouping, trasciniamo nel canvas il tool MB Rules e colleghiamolo al nostro Input tool. Nel pannello “Configuration” troviamo alcune voci da configurare, alcune obbligatorie, altre facoltative. Andiamo con ordine

Market Basket

Per prima cosa bisogna far capire al tool se nel nostro dataset è presente un prodotto per ogni riga, ognuno associato a una “transaction key” (che dunque può ripetersi), oppure ogni riga è una transazione e gli articoli sono inseriti tutti in una stessa riga (separati da un carattere speciale che andrà specificato). Nel nostro caso, scegliamo la prima opzione (di default), dopodiché provvediamo a selezionare i campi che indicano la transazione e l’articolo, che per noi saranno, rispettivamente, i campi Scontrino e Articolo.

Market Basket

Questa sezione ci consente di scegliere cosa vogliamo ottenere. Per svolgere una MBA e identificare le potenziali regole, viene comunemente utilizzato un algoritmo di data mining chiamato “Apriori”, che può essere distinto in due fasi:

  1. identifica sistematicamente gli itemset che si verificano con particolare frequenza nel dataset con un Support maggiore di una soglia pre-specificata.
  2. calcola la Confidence di ogni possibile regola, dati gli itemset più frequenti, e mantiene solo quelli con una Confidence maggiore di una soglia predeterminata

Market Basket

In quest’ultima sezione possiamo impostare le soglie minime per Support e Confidence descritte precedentemente, necessarie all’algoritmo Apriori per stabilire le regole, oltre al numero minimo di articoli che possono comporre un itemset. La scelta del livello delle soglie dipende dall’utente e varia a seconda dei dati a disposizione. Per questo motivo si consiglia di lasciare le impostazioni originarie (quelle mostrate nell’immagine) e solo successivamente modificarle per sperimentare il modo in cui le soglie influenzano il numero di regole ottenuto.

Step 2: Filtro sui risultati ed esecuzione del workflow

Inseriamo adesso dopo la “O” di MB Rules il tool MB Inspect, il quale ci consente di visualizzare le regole calcolate con il tool precedente. In aggiunta, possiamo impostare tutta una serie di filtri per diminuire il numero di regole mostrate, utilizzando il pannello di configurazione mostrato di seguito

Market Basket

Anche in questo caso, conviene lasciare invariate le configurazioni originarie e solo in seguito, eventualmente, modificarle. Una cosa però possiamo farla già adesso: decidere come ordinare le regole individuate. Di default sono ordinate in base al Support, ma per consentirci di capire immediatamente quali sono gli itemset con la relazione più forte conviene scegliere l’ordinamento per Lift.

Adesso non ci resta che piazzare un browser dopo la “R” di entrambi i tool e cliccare su RUN: l’analisi è in corso! Una volta terminata, diamo un occhio ai report generati partendo dal tool MB Rules, commentando le informazioni più importanti.

La prima parte del report fornisce delle informazioni di sintesi, utili per capire il contesto dell’analisi. Il tool ha individuato 5686 transazioni distinte, le quali hanno portato all’acquisto di 1309 diversi prodotti. Tra i 5 articoli più acquistati in assoluto troviamo al primo posto le uova normali, presenti in 1187 transazioni, seguite dalle banane e dall’acqua naturale. Dopodiché troviamo la frequenza del numero di transazioni per numero di articoli acquistati: ad esempio, possiamo dire che 537 transazioni hanno riguardato un solo articolo, 252 transazioni hanno coinvolto solo 2 articoli e così via. Infine troviamo le classiche statistiche descrittive, sempre relative al numero di articoli in una transazione.

Scorrendo il report troviamo il Rule Summary, il quale ci dice che l’algoritmo ha identificato 52 regole di associazione. Di queste, 2 riguardano le interazioni tra due soli articoli, mentre le restanti 50 riguardano 3 articoli. Anche in questo caso vengono fornite statistiche descrittive di sintesi.

Passiamo adesso ai risultati veri e propri dell’analisi, quelli presenti nel report generato dal tool MB Inspect.


Sotto la sezione dove vengono mostrati i filtri eventualmente applicati ai risultati, troviamo le 52 regole stabilite dall’analisi (per motivi di spazio ne mostriamo solo le prime 15), ordinate in base al Lift. La prima regola ci dice che gli itemset {albicocche, banane} e {pesche} sono stati acquistati insieme 175 volte, cioè nel 3.08% dei casi. Coloro che hanno acquistato albicocche e banane, nel 69.72% dei casi hanno acquistato anche le pesche. Vi è dunque una elevata probabilità che chi acquista albicocche e banane finisca per acquistare anche le pesche, infatti il Lift è decisamente maggiore di 1. In questo caso si tratta di un risultato abbastanza prevedibile, in quanto tutti i tipi di frutta si trovano già in un unico reparto e tutti vicini tra loro. Tuttavia nell’elenco si trova anche qualche relazione particolare, come ad esempio quella che intercorre tra gli itemset {banane, patate} e {uova normali}: la probabilità di acquistare uova data la presenza di banane e patate è del 57.4%, più di un cliente su due.

Oltre al formato tabellare, il report fornisce anche alcuni grafici per visualizzare le regole, tra cui quello basato sui grafi

Market Basket

Nel grafico in alto, i cerchi sono le regole. Gli articoli intorno ai cerchi rappresentano gli itemset, mentre le frecce indicano la relazione stabilita dalla regola: se da un item parte una freccia è antecedente, se una freccia arriva a un item allora quest’ultimo è conseguente. La dimensione dei cerchi è data dal Support, il colore dal Lift. Di conseguenza, più grande e più scuro è il cerchio, più la relazione è forte e la regola è robusta. Purtroppo il tool non consente di filtrare direttamente il numero di regole da mostrare, per fare ciò bisogna necessariamente impostare dei filtri su Support, Confidence e Lift. Nonostante il grafico sia decisamente “concentrato”, si riesce lo stesso a capire che agli articoli albicocche, pesche e ciliegie sono associate le regole con un Lift più elevato, mentre prodotti come i biscotti frollini e i pomodori hanno una relazione più debole con gli altri articoli.

La nostra analisi finisce qui, spero l’abbiate trovata utile e interessante. Seguitemi su Tableau Public, Twitter e Linkedin per altre novità relative al mondo di Tableau e Alteryx!

Pharma
Predictive analytics healthcare

Predictive analytics healthcare: come l’AI rivoluziona la medicina

Il mondo dell’healthcare è storicamente legato ai dati. Gli esami, le diagnosi, i successi degli...

Blog
tableau pulse

Tableau Pulse: La GeneAI sbarca su Tableau

Tableau Pulse, introdotto da Salesforce come parte della suite Tableau AI, sfrutta l’intelligenza artificiale generativa...