Как посчитать Add to Cart Rate в SQL
Содержание:
Зачем Add to Cart Rate
В e-com funnel: view product → add to cart → checkout → purchase. Add to Cart Rate показывает, насколько хорошо product page конвертирует view в желание купить. Если ACR падает — проблема в product page (фото, описание, цена, отзывы).
Формула
Add to Cart Rate = adds_to_cart / product_views × 100%Базовый расчёт
SELECT
COUNT(*) FILTER (WHERE event_type = 'product_view') AS views,
COUNT(*) FILTER (WHERE event_type = 'add_to_cart') AS adds,
COUNT(*) FILTER (WHERE event_type = 'add_to_cart')::NUMERIC * 100
/ NULLIF(COUNT(*) FILTER (WHERE event_type = 'product_view'), 0) AS acr_pct
FROM events
WHERE event_date >= CURRENT_DATE - INTERVAL '30 days';По продуктам
SELECT
product_id,
COUNT(*) FILTER (WHERE event_type = 'product_view') AS views,
COUNT(*) FILTER (WHERE event_type = 'add_to_cart') AS adds,
COUNT(*) FILTER (WHERE event_type = 'add_to_cart')::NUMERIC * 100
/ NULLIF(COUNT(*) FILTER (WHERE event_type = 'product_view'), 0) AS acr_pct
FROM events
WHERE event_date >= CURRENT_DATE - INTERVAL '30 days'
AND product_id IS NOT NULL
GROUP BY product_id
HAVING COUNT(*) FILTER (WHERE event_type = 'product_view') >= 100
ORDER BY acr_pct DESC
LIMIT 50;HAVING views >= 100 отсекает товары с микро-трафиком.
По channels
SELECT
u.acquisition_channel,
COUNT(*) FILTER (WHERE e.event_type = 'product_view') AS views,
COUNT(*) FILTER (WHERE e.event_type = 'add_to_cart') AS adds,
COUNT(*) FILTER (WHERE e.event_type = 'add_to_cart')::NUMERIC * 100
/ NULLIF(COUNT(*) FILTER (WHERE e.event_type = 'product_view'), 0) AS acr_pct
FROM events e
JOIN users u ON u.user_id = e.user_id
WHERE e.event_date >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY u.acquisition_channel
ORDER BY acr_pct DESC;Юзеры из organic search обычно имеют ACR выше paid (более targeted intent).
Частые ошибки
Ошибка 1. Уникальные view vs total view. Юзер посмотрел product 3 раза, добавил 1 раз — ACR = 100% (по user) или 33% (по view)?
Ошибка 2. Игнорировать duplicate adds. Юзер добавил → удалил → добавил снова. Это 2 add events. Counts as one user.
Ошибка 3. Не учитывать quick adds. Add без view (через recommendation widget). Где этот «view»?
Ошибка 4. Время между view и add. Юзер view 1 января, add 15 апреля — это связано? В стандартной логике — да (same session или within 24h).
Связанные темы
- Как посчитать cart abandonment в SQL
- Как посчитать funnel в SQL
- Как посчитать конверсию в SQL
- Как посчитать bounce rate в SQL
FAQ
Какой ACR считается хорошим?
E-com average: 5-15%. Premium-сегмент: 2-5%. Fast fashion: 15-25%.
ACR падает — что делать?
- Проверить, изменилось ли product description / photos. 2) A/B-test pricing. 3) Сравнить с reviews / ratings.
ACR per product?
Да, помогает identifying problem products. Если popular product ACR 1% — что-то с page.
ACR vs CVR?
ACR — view→add. CVR — add→purchase. Можно вместе.
Mobile vs desktop ACR?
Mobile часто ниже (трудно зарегистрироваться, fat-finger). Decompose.