Cos'è la market basket analysis?

Analisi del carrello in Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Scegliere un layout per la libreria

 

Questa immagine mostra il layout di una libreria con le sezioni narrativa e biografia raggruppate, e poesia e storia raggruppate.

 

Questa immagine mostra il layout di una libreria con le sezioni narrativa e poesia raggruppate, e biografia e storia raggruppate.

Analisi del carrello in Python

Esplorare i dati delle transazioni

TID Transazione
1 biografia, storia
2 narrativa
3 biografia, poesia
4 narrativa, storia
5 biografia
... ...
75000 narrativa, poesia

 

  • TID = ID univoco associato a ogni transazione.

 

  • Transazione = insieme di articoli unici acquistati insieme.
Analisi del carrello in Python

Cos'è la market basket analysis?

  1. Individua i prodotti spesso acquistati insieme.

    • Biografia e storia
    • Narrativa e poesia
  2. Crea raccomandazioni basate su questi risultati.

    • Metti vicine le sezioni biografia e storia.
    • Tieni separate narrativa e storia.
Analisi del carrello in Python

Casi d'uso della market basket analysis

  1. Creare un motore di raccomandazioni in stile Netflix.
  2. Migliorare i consigli prodotti in un e-commerce.
  3. Cross-sell in negozio.
  4. Migliorare la gestione dell'inventario.
  5. Fare upsell.
Analisi del carrello in Python

Usare la market basket analysis

TID Transazione
11 narrativa, biografia
12 narrativa, biografia
13 storia, biografia
... ...
19 narrativa, biografia
20 narrativa, biografia
... ...
  • Market basket analysis
    • Costruisce regole di associazione
    • Trova articoli spesso acquistati insieme
  • Regole di associazione
    • {antecedente} $\rightarrow$ {conseguente}
      • {narrativa} $\rightarrow$ {biografia}
Analisi del carrello in Python

Caricare i dati

import pandas as pd

# Load transactions from pandas.
books = pd.read_csv("datasets/bookstore.csv")

# Print the header
print(books.head(2))
TID         Transaction                 
0    biography, history
1               fiction

Per un ripasso, vedi il Pandas Cheat Sheet.

Analisi del carrello in Python

Creare le transazioni

 

# Split transaction strings into lists.
transactions = books['Transaction'].apply(lambda t: t.split(','))

# Convert DataFrame into list of strings.
transactions = list(transactions)
Analisi del carrello in Python

Contare gli itemset

# Print the first transaction.
print(transactions[0])
['biography', 'history']
# Count the number of transactions that contain biography and fiction.
transactions.count(['biography', 'fiction'])
218
Analisi del carrello in Python

Dare una raccomandazione

# Count the number of transactions that contain fiction and poetry.
transactions.count(['fiction', 'poetry'])
5357

Questa immagine mostra il layout di una libreria con le sezioni narrativa e poesia raggruppate, e biografia e storia raggruppate.

Analisi del carrello in Python

Passiamo alla pratica !

Analisi del carrello in Python

Preparing Video For Download...