Покупатели по числу категорий
| Доля | Покупателей | Число категорий |
|---|---|---|
| 86,9 % | 1 272 | 1 |
| 12,4 % | 181 | 2 |
| 0,7 % | 10 | 3 |
SQL, по которому посчитано
WITH last_date AS (
SELECT max(date) AS max_date FROM deals
),
won AS (
SELECT d.customer_id, d.category
FROM deals d
CROSS JOIN last_date l
WHERE d.status = 'Выиграна'
AND d.amount > 0
AND d.customer_id IS NOT NULL
AND d.category IS NOT NULL
AND d.date >= l.max_date - INTERVAL '12 months'
AND d.date <= l.max_date
),
per_customer AS (
SELECT customer_id,
COUNT(DISTINCT category) AS categories_count
FROM won
GROUP BY customer_id
),
dist AS (
SELECT categories_count,
COUNT(*) AS customers
FROM per_customer
GROUP BY categories_count
)
SELECT categories_count,
customers,
ROUND(customers * 1.0 / SUM(customers) OVER (), 4) AS share
FROM dist
ORDER BY categories_count