Analisi della Composizione dei Carrelli “Abbandonati”: Prodotti, Motivazioni e Strategie di Recupero
Affrontare l’abbandono del carrello richiede azioni decise: identificare i prodotti e le categorie abbandonati può rivelare difetti nei prezzi o nelle presentazioni. Analizzare come il prezzo influisce sull’abbandono guida a strategie di prezzo più efficaci. Riconoscere le categorie spesso trascurate illumina la strada verso vendite incrociate migliorate e campagne promozionali ottimizzate. Questa è la chiave per trasformare l’abbandono in conversione.
Utilità dell’analisi
Cominciamo col descrivere l’utilità di questa analisi. Essa offre preziosi insights sui comportamenti di acquisto e abbandono del carrello nel tuo e-commerce, permettendoti di:
- Identificare quali prodotti o categorie sono più spesso abbandonati, suggerendo potenziali problemi con prezzi, descrizioni, immagini o raccomandazioni di prodotti.
- Valutare l’impatto del prezzo sulle decisioni di abbandono del carrello.
- Determinare se certe categorie di prodotti tendono a essere lasciate nel carrello più spesso, indicando forse la necessità di migliorare le strategie di vendita incrociata o di ottimizzare le campagne promozionali per determinate categorie.
Ponendoti alcune domande strategiche, potrai estrarre insight interessanti. Ecco alcune:
- Quali sono i prodotti più frequentemente abbandonati nel carrello?
- Analizza i dati per identificare i prodotti specifici e considera di rivalutare i prezzi, migliorare le descrizioni dei prodotti, o offrire incentivi come spedizione gratuita. Potresti anche valutare la creazione di email di recupero del carrello abbandonato che mettano in risalto questi prodotti.
- Esiste una correlazione tra il prezzo degli articoli e la frequenza di abbandono del carrello?
- Se i dati mostrano che articoli più costosi vengono abbandonati più frequentemente, valuta la possibilità di offrire opzioni di pagamento rateale, sconti al primo acquisto o promozioni temporanee per ridurre la sensibilità al prezzo.
- Quali categorie di prodotti compaiono più comunemente nei carrelli abbandonati e c’è una correlazione tra queste e il valore totale del carrello?
- Identifica le categorie più abbandonate e analizza i motivi potenziali. Potrebbe essere utile migliorare la visibilità delle recensioni positive, fornire ulteriori informazioni sul prodotto o offrire bundle o sconti per categorie specifiche.
- Ci sono differenze significative nel numero di articoli o nel numero di categorie uniche tra i carrelli abbandonati e quelli che portano a un acquisto?
- Se i carrelli abbandonati tendono ad avere un numero maggiore di articoli o più categorie, può essere legato al prezzo complessivo dell’ordine. Valuta il prezzo medio totale dei carrelli abbandonati rispetto a quelli convertiti. Se i carrelli abbandonati tendono ad avere un valore complessivo più alto, questo potrebbe indicare che i clienti sono scoraggiati dai costi totali. Se l’abbandono è elevato vicino a una soglia di spesa per la spedizione gratuita, considera di abbassare quella soglia per vedere se più carrelli vengono convertiti in acquisti.
Un report semplice e intuitivo
Ecco un esempio di report che potremmo ricavare da questa analisi:
Il report mostra poche informazioni ma strategiche:
- lo user_pseudo_id che identifica un utente in modo univoco
- la data in cui si è verificato l’abbandono del carrello
- i nomi dei prodotti presenti nel carrello al momento dell’abbandono
- il prezzo del prodotto per valutare a colpo d’occhio eventuali problemi legati al prezzo
- numero di prodotti presenti nel carrello
- numero di categorie riferite ai prodotti
Ordinando in modo descrescente le ultime 2 colonne puoi farti già una idea!
Query per l’analisi della composizione dei carrelli abbandonati
Ti mostro ora la query per ottenere questi insights preziosi:
WITH AbandonedCarts AS (
SELECT
user_pseudo_id,
FORMAT_DATE('%Y%m%d', TIMESTAMP_MICROS(event_timestamp)) AS event_date,
ARRAY_AGG(STRUCT(item_name, category, price)) AS items_details, -- Aggiunto il prezzo qui
COUNT(item_name) AS total_items,
COUNT(DISTINCT category) AS total_unique_categories
FROM (
SELECT
user_pseudo_id,
event_timestamp,
item_details.item_name,
(SELECT value.string_value FROM UNNEST(item_details.item_params) WHERE key = 'item_category_4') AS category,
item_details.price AS price
FROM
`your_project.your_dataset.events_*`,
UNNEST(items) AS item_details
WHERE
event_name = 'add_to_cart'
AND _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 60 DAY)) AND FORMAT_DATE('%Y%m%d', CURRENT_DATE())
)
GROUP BY
user_pseudo_id, event_date
),
PurchasedUsers AS (
SELECT DISTINCT
user_pseudo_id,
FORMAT_DATE('%Y%m%d', TIMESTAMP_MICROS(event_timestamp)) AS event_date
FROM
`your_project.your_dataset.events_*`
WHERE
event_name = 'purchase'
AND _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 60 DAY)) AND FORMAT_DATE('%Y%m%d', CURRENT_DATE())
),
FilteredCarts AS (
SELECT *
FROM AbandonedCarts
WHERE NOT EXISTS (
SELECT 1
FROM PurchasedUsers
WHERE AbandonedCarts.user_pseudo_id = PurchasedUsers.user_pseudo_id
AND AbandonedCarts.event_date = PurchasedUsers.event_date
)
)
SELECT * FROM FilteredCarts;
PS. Ricorda di sostituire your_project
, your_dataset
e your_table
con i tuoi identificativi di progetto, dataset e tabella effettivi. Queste query sono solo punti di partenza e potrebbero necessitare di personalizzazioni per adattarsi alle tue esigenze specifiche e alla struttura dei tuoi dati.
Spiegazione della query
Ecco una descrizione dettagliata di ciascuna parte della query:
CTE AbandonedCarts
- Selezione dei Dati del Carrello: Questa parte della query raccoglie i dettagli dei carrelli che hanno avuto aggiunte al carrello (eventi ‘add_to_cart’) da parte degli utenti.
- Dettagli degli Articoli: Per ogni carrello, la query aggrega i nomi degli articoli, le categorie (prese da
item_category_4
), e i prezzi dei prodotti aggiunti al carrello. - Metriche Aggregate: Calcola il numero totale di articoli aggiunti e il numero di categorie uniche rappresentate in ciascun carrello.
- Group By: Raggruppa i risultati per
user_pseudo_id
eevent_date
, assicurando che i dati del carrello siano organizzati per utente e per giorno.
CTE PurchasedUsers
- Identificazione degli Utenti Acquirenti: Questa sezione identifica gli utenti che hanno completato un acquisto (
event_name = 'purchase'
), distinguendoli per ID utente e data dell’evento. - Data Unica: Assicura che ogni utente sia considerato una sola volta per ogni data, evitando duplicati.
CTE FilteredCarts
- Filtraggio dei Carrelli Abbandonati: Confronta i carrelli raccolti nella CTE
AbandonedCarts
con gli utenti della CTEPurchasedUsers
per identificare i carrelli che non hanno portato a un acquisto nello stesso giorno. - Esclusione dei Carrelli Convertiti: Utilizza una subquery correlata per escludere i carrelli degli utenti che hanno effettuato un acquisto nella stessa data, lasciando solo quelli che sono stati effettivamente abbandonati.
Output Finale
- La query finale estrae tutti i record dalla CTE
FilteredCarts
, presentando i dettagli dei carrelli che sono stati aggiunti ma non convertiti in acquisti. Questo include l’ID dell’utente, la data dell’evento, i dettagli degli articoli nel carrello (nome, categoria e prezzo), il numero totale di articoli e il numero di categorie uniche.
Conclusione
Con l’analisi dei carrelli abbandonati, possiamo indagare sui comportamenti di acquisto dei clienti e sulle possibili barriere alla conversione. Identificando i prodotti più frequentemente lasciati nei carrelli e analizzando come il prezzo e la diversità delle categorie influenzano l’abbandono, possiamo adottare strategie mirate per ridurre la frequenza degli abbandoni e migliorare il tasso di conversione.
Data Scientist
Sono un Data Scientist con esperienza nell’applicazione di tecniche avanzate di Machine Learning per l’analisi di complessi set di dati nel campo del marketing digitale. Specializzato nell’uso di Python, sviluppo modelli predittivi e di analisi dei dati che permettono di identificare e risolvere criticità nei progetti.