SQL Dojo Beta
Indicatore

Spiegare una variazione

Scomponi la variazione di una metrica in parti che la sommano: volume contro valore, mix contro tasso, poi per segmento.

Un prodotto (fatturato = ordini × scontrino medio) si scompone in ΔN × AOV₀ + N₁ × ΔAOV. Una media su gruppi si scompone in mix Σ (share₁ − share₀) × rate₀ e tasso Σ share₁ × (rate₁ − rate₀). Poi taglia la variazione per una dimensione dopo l'altra (dispositivo, canale, anzianità) e fermati dove è concentrata, non distribuita. Confronta con lo stesso periodo di un anno prima, non solo con il mese scorso.

WITH months(month, orders, revenue) AS (VALUES ('May', 33607, 6364573.92), ('June', 29889, 5687462.97)),
m AS (
  SELECT MAX(orders) FILTER (WHERE month = 'May') AS n0, MAX(revenue) FILTER (WHERE month = 'May') AS r0,
         MAX(orders) FILTER (WHERE month = 'June') AS n1, MAX(revenue) FILTER (WHERE month = 'June') AS r1
  FROM months
)
SELECT r1 - r0 AS change,
       ROUND((n1 - n0) * (r0 / n0), 2) AS volume_effect,
       ROUND(n1 * (r1 / n1 - r0 / n0), 2) AS value_effect
FROM m;
changevolume_effectvalue_effect
-677110.95-704123.7227012.77
Provalo in Randori