SQL Dojo Beta
Kennzahl

Eine Veränderung erklären

Die Veränderung einer Kennzahl in Teile zerlegen, die sich zu ihr addieren: Volumen gegen Wert, Mix gegen Quote, dann nach Segment.

Ein Produkt (Umsatz = Bestellungen × durchschnittliche Bestellung) zerfällt in ΔN × AOV₀ + N₁ × ΔAOV. Ein Durchschnitt über Gruppen zerfällt in den Mix Σ (share₁ − share₀) × rate₀ und die Quote Σ share₁ × (rate₁ − rate₀). Schneiden Sie die Veränderung dann nach einer Dimension nach der anderen (Gerät, Kanal, Kundenalter) und hören Sie dort auf, wo sie konzentriert ist, nicht verteilt. Vergleichen Sie mit demselben Zeitraum ein Jahr zuvor, nicht nur mit dem Vormonat.

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
In Randori ausprobieren