Dall’analisi Giornaliera ad una visione Cumulativa: Analizzare il Trend di Fatturati e Ordini

Vuoi analizzare il trend del totale di fatturati o ordini su un determinato periodo di tempo, per identificare tendenze nei dati e quindi eventuali criticità? BigQuery ti mette a disposizione un potente strumento di interrogazione dei dati: le funzioni di finestra. Cerchiamo di capire insieme cosa sono e come utilizzarle!

La funzione di finestra in BigQuery rappresenta un potente strumento che consente di eseguire calcoli su un set di righe relative alla riga corrente. Questo è particolarmente utile per analisi sequenziali, calcoli cumulativi, medie mobili e molto altro, mantenendo la struttura originale del tuo dataset.

Supponiamo, ad esempio, di voler calcolare la somma cumulativa di un certo campo. La somma cumulativa è un concetto utilizzato in analisi dei dati per indicare la somma progressiva di valori in una sequenza, aggiungendo ogni nuovo valore nella sequenza alla somma totale calcolata fino a quel momento.

Per esemplificare meglio, facciamo un esempio concreto. Immaginiamo di avere una tabella di vendite giornaliere per un certo prodotto, e vuoi capire come le vendite si accumulano giorno dopo giorno.

Ecco i dati di esempio:

DataVendite
2024-02-01100
2024-02-02150
2024-02-03200
2024-02-0450
Tabella vendite nette

La somma cumulativa delle vendite per ogni giorno sarebbe calcolata come segue:

  • 2024-02-01: 100 (nessuna somma precedente, quindi la somma cumulativa è uguale alle vendite del giorno)
  • 2024-02-02: 250 (100 del giorno precedente + 150 del giorno corrente)
  • 2024-02-03: 450 (250 somma cumulativa del giorno precedente + 200 del giorno corrente)
  • 2024-02-04: 500 (450 somma cumulativa del giorno precedente + 50 del giorno corrente)

Ogni valore di somma cumulativa rappresenta il totale delle vendite fino a quella data inclusa. Questo tipo di analisi è utile per vedere la crescita totale nel tempo o l’effetto cumulativo di aggiunte giornaliere.

Facciamo ora un esempio più concreto:

calcoleremo la somma cumulativa per data delle vendite nette.

Questo sarà il report che genereremo:

Per calcolare le vendite nette, sottrarremo i costi di spedizione e le tasse dal valore totale degli acquisti. Per la somma cumulativa delle vendite nette utilizzeremo la funzione finestra:

SELECT
  event_date,
  SUM(fatturato_netto) OVER (ORDER BY event_date) AS cumulative_sales
FROM (
  SELECT
    event_date,
    ROUND(SUM(value.double_value) - SUM(CASE WHEN key = 'shipping' THEN value.double_value ELSE 0 END) - SUM(CASE WHEN key = 'tax' THEN value.double_value ELSE 0 END), 2) AS fatturato_netto
  FROM
    `your_project.your_dataset.your_table`,
    UNNEST(event_params) AS params
  WHERE
    event_name = '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())
  GROUP BY
    event_date
)
ORDER BY
  event_date desc;

PS. Ricorda di sostituire your_projectyour_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.

Questa query fa quanto segue:

  • Filtra gli eventi per event_name = 'purchase' per considerare solo gli acquisti.
  • Utilizza UNNEST(event_params) per espandere l’array event_params in modo da poter accedere ai valori key e double_value di ciascun parametro.
  • Calcola il fatturato netto per ogni data (event_date) sottraendo i costi di spedizione (shipping) e tasse (tax) dal valore totale degli acquisti (value), assumendo che value.double_value rappresenti il valore totale dell’acquisto prima della sottrazione di spedizione e tasse.
  • Calcola la somma cumulativa del fatturato netto ordinata per data dell’evento, utilizzando una funzione di finestra SUM(...) OVER (ORDER BY event_date).

Assicurati di sostituire {table} con il nome effettivo della tua tabella in BigQuery.

La seguente interrogazione fornisce, quindi, un’analisi giorno per giorno della crescita netta delle vendite, molto utile per individuare a colpo d’occhio eventuali drop-out dei fatturati.

Utilizzare le funzioni di finestra può rendere le tue query molto più potenti ed efficienti, permettendoti di esplorare i tuoi dati in modi che sarebbero altrimenti complessi o meno intuitivi con le aggregazioni standard.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

error: Questo contenuto è protetto!