Сквозная аналитика

Теория: Сценарии атрибуции

Сценарии атрибуции

Сценарий атрибуции - это метод, который позволяет определить, какой рекламный канал или источник привлечения заслуживает большей заслуги при оценке действий пользователей. Он помогает ответить на вопрос, каким образом присваивать каналы привлечения к пользователям, которые могут использовать множество каналов перед тем, как совершить покупку или выполнить другое целевое действие.

Вот некоторые распространенные сценарии атрибуции:

  1. First Attribution Model (Модель "Первый визит"): Эта модель присваивает каналу, через который пользователь впервые посетил сайт, большую значимость. Другие действия пользователя могут также учитываться, но первый источник рассматривается как основной.
  2. Last Attribution Model (Модель "Последний визит"): Эта модель присваивает большую значимость последнему каналу или источнику, который привел пользователя к завершению целевого действия (например, покупке).
  3. Last Non-Direct Click Attribution Model (Модель "Последний не прямой клик"): Эта модель исключает прямые переходы (например, ввод URL-адреса в адресной строке) и присваивает значимость последнему не прямому клику или источнику перед завершением действия.
  4. Last or First Paid-Click Attribution Model (Модель "Последний или первый платный клик"): Эта модель учитывает как последний, так и первый платный клик или источник, в зависимости от того, какой из них произошел последним или первым.
  5. Non-Brand Attribution Model (Модель "Не брендовый"): В этой модели учитываются каналы, которые не связаны с брендом, исключая прямые переходы и клики на брендовые запросы.

Каждая из этих моделей имеет свои преимущества и недостатки и может быть использована в зависимости от конкретных целей и стратегии маркетинга компании. Выбор сценария атрибуции может помочь определить, какие каналы привлечения наиболее эффективны и как улучшить результаты рекламных кампаний.

Практика

На этот раз посчитаем с помощью модели last attribution по каждому из каналов количество уникальных посетителей

Сперва нам нужно для каждого посетителя получить дату его последнего визита

SELECT
    c.cookie_id,
    MAX(c.date) AS last_visit
FROM clickstream AS c
GROUP BY 1
ORDER BY 1;
cookie_idlast_visit
12023-03-30T00:00
.000Z
22023-03-24T00:00
.000Z
32023-03-21T00:00
.000Z
......
122023-03-29T00:00
.000Z
152023-03-30T00:00
.000Z

https://www.db-fiddle.com/f/2Vg8L1aHomhgrWmnwkZB3c/4

Теперь соединим последние визиты с таблицей кликстрима

WITH tab AS (
    SELECT
        c.cookie_id,
        MAX(c.date) AS last_visit
    FROM clickstream AS c
    GROUP BY 1
)
SELECT
    c.cookie_id,
    c.referer,
    c.date
FROM clickstream AS c
INNER JOIN tab AS t
ON c.cookie_id = t.cookie_id
AND c.date = t.last_visit
ORDER BY 1;
cookie_idrefererdate
1https://yandex.ru/2023-03-30T00:00
.000Z
2https://bing.com/2023-03-24T00:00
.000Z
3https://yandex.ru/2023-03-21T00:00
.000Z
.........
12https://example.com/2023-03-29T00:00
.000Z
15https://example.com/2023-03-30T00:00
.000Z

https://www.db-fiddle.com/f/2Vg8L1aHomhgrWmnwkZB3c/5

Наконец назначим каждому рефереру канал:

  • ad - все рефереры, начинающиеся на ad.
  • direct - прямая ссылка example.com
  • organic - все остальные ссылки с поисковых сервисов

И посчитаем трафик по каждому каналу

WITH tab AS (
    SELECT
        c.cookie_id,
        MAX(c.date) AS last_visit
    FROM clickstream AS c
    GROUP BY 1
)
SELECT
    CASE
        WHEN referer LIKE 'https://ad.%' THEN 'ad'
        WHEN referer = 'https://example.com/' then 'direct'
        ELSE 'organic'
    END AS channel,
    COUNT(c.cookie_id) AS trafic
FROM clickstream AS c
INNER JOIN tab AS t
ON c.cookie_id = t.cookie_id
AND c.date = t.last_visit
GROUP BY 1
ORDER BY trafic DESC;
channeltrafic
organic6
direct4
ad2

https://www.db-fiddle.com/f/2Vg8L1aHomhgrWmnwkZB3c/7

Мы получили что по модели аттрибуции Last Visit больше всего посетителей принес канал organic.

Рекомендуемые программы

Завершено

0 / 8