Как рассчитать конверсию из просмотра товара в покупку?

«Как рассчитать конверсию из просмотра товара в покупку?» — вопрос из категории Аналитика и метрики, который задают на 33% собеседований Data Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Конверсия из просмотра в покупку (View-to-Purchase Rate) — это ключевая продуктовая метрика для e-commerce. Она показывает, насколько эффективно товарные страницы мотивируют пользователей к покупке.

Базовая формула: Конверсия = (Количество покупок товара / Количество просмотров этого товара) * 100%

Более точный расчет на уровне пользовательской сессии (SQL): Простой подсчет событий может завышать конверсию, если один пользователь просматривает товар много раз. Чаще считают конверсию на уровне уникальных пользователей или сессий.

-- Пример: Расчет конверсии по товарам за последние 30 дней
WITH product_views AS (
    SELECT
        product_id,
        COUNT(DISTINCT session_id) AS unique_sessions_with_view -- Уникальные сессии с просмотром
    FROM events
    WHERE event_name = 'product_view'
        AND event_date >= CURRENT_DATE - INTERVAL '30 days'
    GROUP BY product_id
),
product_purchases AS (
    SELECT
        product_id,
        COUNT(DISTINCT session_id) AS unique_sessions_with_purchase -- Уникальные сессии с покупкой
    FROM events
    WHERE event_name = 'purchase'
        AND event_date >= CURRENT_DATE - INTERVAL '30 days'
    GROUP BY product_id
)
SELECT
    pv.product_id,
    pv.unique_sessions_with_view,
    COALESCE(pp.unique_sessions_with_purchase, 0) AS unique_sessions_with_purchase,
    ROUND(
        COALESCE(pp.unique_sessions_with_purchase, 0) * 100.0 / 
        NULLIF(pv.unique_sessions_with_view, 0),
        2
    ) AS view_to_purchase_conversion_rate_percent
FROM product_views pv
LEFT JOIN product_purchases pp ON pv.product_id = pp.product_id
ORDER BY view_to_purchase_conversion_rate_percent DESC;

Как мы анализируем эту метрику на практике:

  1. Сегментация: Конверсия бессмысленна в среднем по всему каталогу. Мы смотрим ее по:
    • Категориям товаров (электроника vs. одежда).
    • Источникам трафика (реклама vs. органический поиск).
    • Устройствам (мобильные vs. десктоп).
  2. Анализ воронки: Просмотр → Добавление в корзину → Начало оформления → Покупка. Низкая конверсия из просмотра в корзину может указывать на проблему с ценой или описанием, а низкая конверсия из корзины в покупку — на сложный процесс оформления заказа.
  3. Инструменты: Для оперативного мониторинга мы настраивали дашборды в Amplitude и Mixpanel, где конверсия считалась автоматически по заданным целям (funnels). Для глубокого анализа причин использовали когортный анализ и A/B-тесты (например, тестировали разные варианты кнопки "Купить").