Доход и расход на 1000 показов по источникам рекламы
SQL, по которому посчитано
WITH agg AS (
SELECT
source,
sum(impressions) AS impressions,
sum(revenue) AS revenue,
sum(cost) AS cost,
sum(orders) AS orders
FROM ads
WHERE date >= (SELECT date_trunc('month', max(date)) FROM ads)
GROUP BY source
)
SELECT
source,
impressions,
round(revenue) AS revenue,
round(cost) AS cost,
round(revenue / nullif(impressions, 0) * 1000, 2) AS rpm,
round(cost / nullif(impressions, 0) * 1000, 2) AS cpm,
orders
FROM agg
ORDER BY rpm DESC