Доля строк с нулевой выручкой по каналам за 12 месяцев
SQL, по которому посчитано
SELECT
channel,
count(*) AS rows_total,
count(*) FILTER (WHERE revenue = 0) AS zero_rows,
round(count(*) FILTER (WHERE revenue = 0) * 1.0 / count(*), 4) AS zero_share,
coalesce(sum(units) FILTER (WHERE revenue = 0), 0) AS zero_units
FROM sales
WHERE date >= (SELECT date_trunc('month', max(date)) FROM sales) - INTERVAL 11 MONTH
GROUP BY channel
ORDER BY zero_share DESC