Strategie Avanzate per l’Analisi degli Abbandoni dei Carrelli in BigQuery
Un’altra analisi profonda che può offrire insight preziosi in un contesto e-commerce è l’analisi del tasso di abbandono del carrello. Essa aiuta a comprendere in quali punti i clienti tendono a lasciare il processo di acquisto senza completarlo, offrendo l’opportunità di identificare problemi e ottimizzare il percorso di conversione.
Se vuoi approfondire l’argomento sull’abbandono dei carrelli attraverso un caso di studio rilevante, ti consiglio di leggere questo articolo: ANALISI DELL’ABBANDONO DEL CARRELLO: UN APPROCCIO MULTIDIMENSIONALE PER OTTIMIZZARE L’E-COMMERCE.
Il tasso di abbandono del carrello, una metrica chiave nell’e-commerce, misura la percentuale di utenti che aggiungono prodotti al carrello ma poi abbandonano il sito prima di completare l’acquisto. Ecco come si calcola:
Formula del Tasso di Abbandono del Carrello
Tasso di Abbandono del Carrello=(Numero Totale di Carrelli Abbandonati / Numero Totale di Carrelli Creati)×100
- Numero Totale di Carrelli Abbandonati: Il numero di sessioni utente in cui sono stati aggiunti articoli al carrello, ma non è seguito un acquisto.
- Numero Totale di Carrelli Creati: Il numero totale di sessioni utente in cui sono stati aggiunti uno o più articoli al carrello, indipendentemente dal fatto che l’acquisto sia stato completato o meno.
Esempio
Se in un dato periodo, 200 utenti aggiungono articoli al loro carrello ma solo 50 di questi completano l’acquisto, avremo:
- Numero Totale di Carrelli Abbandonati = 200 – 50 = 150
- Numero Totale di Carrelli Creati = 200
Tasso di Abbandono del Carrello=(200/150)×100=75%
Questo significa che il 75% degli utenti che hanno iniziato il processo di acquisto abbandonando articoli nel carrello non hanno completato l’acquisto.
Nel calcolo che segue seguiremo un approccio leggermente differente basato sugli utenti unici che hanno abbandonato il carrello.
Andiamo al sodo! Di seguito una query completa per determinare il tasso di abbandono del carrello e identificare le pagine o i passaggi critici che precedono l’abbandono.
Query per Analizzare l’Abbandono del Carrello
WITH events_sequence AS (
SELECT
user_pseudo_id,
event_name,
event_timestamp,
LAG(event_name) OVER(PARTITION BY user_pseudo_id ORDER BY event_timestamp) AS prev_event_name,
LEAD(event_name) OVER(PARTITION BY user_pseudo_id ORDER BY event_timestamp) AS next_event_name
FROM
`your_project.your_dataset.events_*`
WHERE
event_name IN ('page_view', 'add_to_cart', 'purchase')
AND _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)) AND FORMAT_DATE('%Y%m%d', CURRENT_DATE())
),
cart_activity AS (
SELECT
user_pseudo_id,
MAX(CASE WHEN event_name = 'add_to_cart' AND next_event_name != 'purchase' THEN 1 ELSE 0 END) AS abandoned_cart,
MAX(CASE WHEN event_name = 'purchase' THEN 1 ELSE 0 END) AS completed_purchase
FROM
events_sequence
GROUP BY
user_pseudo_id
),
aggregated_metrics AS (
SELECT
COUNTIF(abandoned_cart = 1 AND completed_purchase = 0) AS unique_users_abandoned,
COUNTIF(completed_purchase = 1) AS total_completed_purchases,
ROUND(COUNTIF(abandoned_cart = 1 AND completed_purchase = 0) / (COUNTIF(abandoned_cart = 1 AND completed_purchase = 0) + COUNTIF(completed_purchase = 1)), 2) AS abandonment_rate
FROM
cart_activity
)
SELECT
unique_users_abandoned,
total_completed_purchases,
abandonment_rate
FROM
aggregated_metrics
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.
La query genererà il seguente semplice report:
Spiegazione della Query
Procediamo con una spiegazione dettagliata e passo dopo passo della query che analizza l’abbandono del carrello e il comportamento di acquisto degli utenti in un contesto e-commerce. La query è strutturata in diverse parti, ciascuna delle quali svolge un ruolo specifico nell’analisi complessiva.
Step 1: events_sequence
Obiettivo: Raccogliere e organizzare gli eventi rilevanti di navigazione e acquisto per ciascun utente.
- Selezione degli Eventi: Filtra gli eventi per includere solo
page_view
,add_to_cart
, epurchase
, che sono cruciali per analizzare il percorso di acquisto. - Ordinamento Temporale: Utilizza le funzioni
LAG
eLEAD
per guardare rispettivamente all’evento precedente e successivo di ciascun evento, permettendo di capire il contesto di ciascuna azione (es., cosa succede prima e dopo l’aggiunta di un articolo al carrello). - Intervallo Temporale: Considera solo gli eventi negli ultimi 30 giorni, assicurando che l’analisi sia rilevante e attuale.
Step 2: cart_activity
Obiettivo: Determinare per ogni utente se ha abbandonato il carrello e/o completato un acquisto.
- Identificazione di Abbandono e Acquisto: Calcola se un utente ha abbandonato il carrello (aggiunto al carrello ma senza acquisti successivi) e se ha completato un acquisto, aggregando i dati a livello di utente.
- Logica Condizionale: Usa
CASE
statements per assegnare un valore (1 o 0) aabandoned_cart
ecompleted_purchase
basato sulle azioni dell’utente, facilitando il calcolo aggregato successivo.
Step 3: aggregated_metrics
Obiettivo: Aggregare i dati di abbandono del carrello e di acquisto per tutti gli utenti, calcolando metriche chiave.
- Utenti Unici che Hanno Abbandonato: Conta il numero di utenti che hanno aggiunto almeno un articolo al carrello ma non hanno proceduto all’acquisto (
unique_users_abandoned
). - Acquisti Completati: Conta il numero di utenti che hanno completato almeno un acquisto (
total_completed_purchases
).
Nella query fornita, il tasso di abbandono del carrello è calcolato con la seguente formula:
Abandonment Rate=[Unique Users Abandoned / (Unique Users Abandoned+Total Completed Purchases)]×100
Dove:
- Unique Users Abandoned è il numero di utenti unici che hanno aggiunto almeno un articolo al carrello ma non hanno completato l’acquisto.
- Total Completed Purchases è il numero di utenti che hanno completato almeno un acquisto.
In sostanza Unique Users Abandoned+Total Completed Purchases rappresenta il totale dei carrelli creati e riprende la formula vista all’inizio.
Nella query, il calcolo è implementato come:
ROUND(COUNTIF(abandoned_cart = 1 AND completed_purchase = 0) / (COUNTIF(abandoned_cart = 1 AND completed_purchase = 0) + COUNTIF(completed_purchase = 1)), 2) AS abandonment_rate
Questo calcolo considera il numero di utenti unici che hanno abbandonato il carrello rispetto al totale degli utenti che hanno abbandonato il carrello o completato un acquisto, fornendo una percentuale che rappresenta il tasso di abbandono del carrello. Il risultato viene moltiplicato per 100 per convertirlo in percentuale e arrotondato a due cifre decimali per facilitare la lettura e l’interpretazione.
Step 4: Selezione Finale
Obiettivo: Estrarre e presentare le metriche calcolate per l’analisi dell’abbandono del carrello.
- Riassunto delle Metriche: Seleziona e mostra il numero totale di utenti unici che hanno abbandonato il carrello, il numero totale di acquisti completati, e il tasso di abbandono, ordinando i risultati per dare priorità all’analisi degli utenti con il maggiore impatto sull’abbandono del carrello.
Insight e Azioni
Quali insight e azioni possiamo trarre da questa query?
- Tasso di Abbandono Elevato: Se il tasso di abbandono è elevato, potrebbe indicare problemi nel processo di checkout, come procedure complicate, costi di spedizione inaspettati, o mancanza di opzioni di pagamento preferite.
- Ottimizzazione del Processo di Checkout: Utilizza questi insight per semplificare il processo di checkout, chiarire i costi di spedizione, aggiungere più opzioni di pagamento e migliorare la fiducia e la trasparenza nella pagina del carrello.
Questa analisi fornisce insight critici sull’efficienza del processo di checkout e sulla user experience generale del sito e-commerce. Identificando specificamente gli utenti che abbandonano il carrello, insieme al tasso di abbandono, è possibile indirizzare interventi mirati per migliorare la 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.