Новые клиенты по месяцам
SQL, по которому посчитано
WITH first_won AS (
SELECT
customer_id,
min(date) AS first_deal_date
FROM deals
WHERE status = 'Выиграна'
GROUP BY customer_id
)
SELECT
date_trunc('month', first_deal_date)::date AS month,
count(*)::integer AS new_customers
FROM first_won
WHERE first_deal_date >= (
SELECT date_trunc('month', max(date)) - INTERVAL '11 months'
FROM deals
)
GROUP BY 1
ORDER BY 1