Perché i Clienti Indugiano? Calcoliamo il Tempo di Permanenza nel Carrello Prima dell’Abbandono
L’analisi del tempo di permanenza nel carrello prima dell’abbandono offre una finestra unica sul comportamento “esitante” dei consumatori. E’ un’indagine che non solo mette in luce quanto tempo i clienti trascorrono contemplando l’acquisto prima di prendere una decisione finale, ma ci aiuta anche a comprendere le ragioni dietro l’incertezza e l’abbandono. Scoprire i fattori che influenzano questi momenti critici può guidare strategie efficaci per mantenere i clienti impegnati e convertire l’esitazione in azione.
Utilità dell’analisi
Ricordiamo che l’obiettivo di questa analisi è determinare quanto tempo i prodotti rimangono in media nel carrello prima di essere abbandonati, per identificare momenti critici nel processo di acquisto e ottimizzare le strategie di intervento.
Immaginiamo che gli articoli di “Elettronica” rimangono in media 40 minuti nel carrello prima di essere abbandonati, mentre gli articoli di “Abbigliamento” vengono abbandonati dopo una media di solo 15 minuti. Come possiamo interpretare questa differenza di tempi legata ai prodotti?
Di seguito riportiamo solo alcuni dei principali insights ricavabili da questa analisi:
- Analisi dei Prodotti e delle Categorie: possiamo identificare specifici prodotti o categorie che hanno tempi di abbandono superiori alla media; questo può suggerire problemi specifici, come prezzi non competitivi, descrizioni insufficienti o mancanza di recensioni.
- Interventi Tempestivi: Per gli articoli con tempi di abbandono più lunghi, possiamo considerare di inviare promemoria via email o notifiche push dopo un certo periodo dall’aggiunta al carrello senza completare l’acquisto. Ma potrebbe significare che stanno cercando più informazioni o che stanno incontrando incertezze. Offrire assistenza in tempo reale tramite chat dal vivo o migliorare le FAQ potrebbe aiutare a risolvere questi problemi.
- Analisi del Comportamento: Possiamo studiare il percorso degli utenti con tempi di abbandono più brevi per capire se ci sono ostacoli o punti di frizione specifici che inducono all’abbandono precoce.
- Personalizzazione delle Offerte: Per categorie con tempi di abbandono più brevi, possiamo implementare offerte lampo o messaggi di urgenza (“Solo per un tempo limitato!”) per incentivare decisioni di acquisto più rapide.
Un esempio di report
Questo report è stato generato dalla query che analizzeremo nel prossimo paragrafo:
Un tempo di abbandono di 21.7 ore (o 1304 minuti) in questo contesto, per il prodotto Glem Glas U855VI, significa che un cliente ha aggiunto un articolo al carrello ma non ha completato l’acquisto entro 21.7 ore. In altre parole, dall’istante in cui l’articolo è stato inserito nel carrello fino al momento in cui è stato abbandonato (o fino all’ultimo punto in cui abbiamo registrato un’attività per quel carrello), sono trascorse fino a 21.7 ore.
Query per l’analisi del tempo di Permanenza nel carrello
Vediamo ora la query per ottenere insights prezioni :
WITH CartEvents AS (
SELECT
user_pseudo_id,
items.item_name,
MIN(event_timestamp) AS first_added_time,
MAX(event_timestamp) AS last_removed_time
FROM
`your_project.your_dataset.events_*`,
UNNEST(items) AS items
WHERE
(event_name = 'add_to_cart' OR event_name = 'remove_from_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, items.item_name
),
TimeToAbandon AS (
SELECT
user_pseudo_id,
item_name,
TIMESTAMP_DIFF(TIMESTAMP_MICROS(last_removed_time), TIMESTAMP_MICROS(first_added_time), MINUTE) AS time_to_abandon
FROM
CartEvents
WHERE
first_added_time IS NOT NULL
AND last_removed_time IS NOT NULL
-- Considera solo i tempi di abbandono inferiori a 1440 minuti (24 ore)
AND TIMESTAMP_DIFF(TIMESTAMP_MICROS(last_removed_time), TIMESTAMP_MICROS(first_added_time), MINUTE) <= 1440
)
SELECT
item_name,
AVG(time_to_abandon) AS avg_time_to_abandon
FROM
TimeToAbandon
GROUP BY
item_name
ORDER BY
avg_time_to_abandon DESC;
Spiegazione della query
Ecco una spiegazione dettagliata del processo della query:
1. Creazione della tabella temporanea AbandonedCarts:
- In questa parte della query, si raccolgono informazioni sugli articoli aggiunti al carrello dagli utenti che non hanno completato l’acquisto.
user_pseudo_id
identifica univocamente ogni utente.event_date
è la data in cui gli articoli sono stati aggiunti al carrello, derivata dal timestamp dell’evento.items_details
è un array che raccoglie i dettagli di ogni articolo aggiunto al carrello, come il nome dell’articolo, la categoria e il prezzo.total_items
conta il numero totale di articoli aggiunti al carrello.total_unique_categories
conta il numero di categorie uniche degli articoli aggiunti al carrello.- Questi dati vengono raccolti da una subquery che seleziona gli eventi di aggiunta al carrello (
event_name = 'add_to_cart'
).
2. Creazione della tabella temporanea PurchasedUsers:
- Questa parte identifica gli utenti che hanno effettivamente completato un acquisto (
event_name = 'purchase'
) nello stesso intervallo temporale considerato per l’abbandono del carrello. - La tabella elenca gli
user_pseudo_id
univoci e le date di eventi d’acquisto, aiutando a distinguere chi, tra gli utenti che hanno aggiunto articoli al carrello, ha poi concluso l’acquisto.
3. Creazione della tabella temporanea FilteredCarts:
- Questa parte della query filtra fuori i carrelli che sono stati effettivamente convertiti in acquisti. Utilizza i dati dalle tabelle
AbandonedCarts
ePurchasedUsers
per identificare i carrelli che sono stati abbandonati, cioè quelli per cui non esiste un record corrispondente di acquisto completato dallo stesso utente nella stessa data. - La condizione
NOT EXISTS
serve a escludere dalla lista dei carrelli abbandonati quelli appartenenti agli utenti che hanno concluso un acquisto lo stesso giorno in cui hanno aggiunto articoli al carrello.
4. Selezione Finale e Visualizzazione dei Dati:
- La query finale
SELECT * FROM FilteredCarts;
estrae tutti i dati dei carrelli considerati abbandonati dopo il filtraggio. Questo include gli ID degli utenti, le date degli eventi, i dettagli degli articoli aggiunti, il numero totale di articoli per carrello e il numero di categorie uniche per carrello.
Conclusione
Concludendo, questa analisi fornisce insight preziosi sugli articoli più spesso abbandonati e potrebbe rivelare modelli specifici di abbandono del carrello legati a determinate categorie di prodotti, prezzi o combinazioni di articoli. Utilizzando questi dati, è possibile sviluppare strategie mirate per ridurre il tasso di abbandono dei carrelli, come l’ottimizzazione del processo di checkout, la personalizzazione delle comunicazioni di marketing o la revisione dei prezzi e delle politiche di spedizione.
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.