Метод ценности Шепли – это алгоритм, который назначает ценность разным рекламным каналам и точкам взаимодействия с учетом их смоделированного влияния на конверсию. Этот метод позволяет моделировать степень влияния определенного канала на конверсию.
В Ads Data Hub используется упрощенный метод ценности Шепли. Его подробное объяснение приводится в документе Методы ценности Шепли для моделирования атрибуции в интернет-рекламе (на английском языке).
Ограничения для защиты конфиденциальности
Фильтры защиты конфиденциальности удаляют точки взаимодействия с менее чем 50 пользователями и аномальных пользователей, которые нетипичным образом влияют на ценность точки взаимодействия. Поэтому в результатах моделирования ценности Шепли могут отсутствовать некоторые точки взаимодействия, включенные в исходную таблицу точек взаимодействия.После каждого создания модели ценности Шепли показываются сообщения о конфиденциальности, которые содержат информацию о том, какие пользователи и точки взаимодействия были отфильтрованы.
Как рассчитываются значения ценности Шепли
- Создайте таблицы точек взаимодействия и доли ценности пользователей:
touchpoint_temp_table
;user_credit_temp_table
.
- Вызовите функцию
ADH.TOUCHPOINT_ANALYSIS
, возвращающую табличное значение, задав в качестве аргументов указанные выше временные таблицы.
Как создать таблицы точек взаимодействия и доли ценности пользователей
Как создать таблицу точек взаимодействия
В таблице точек взаимодействия определяются события пользователей, связанные с этими точками. Например, там могут содержаться такие данные, как campaign_id
, creative_id
, placement_id
, site_id
и др.
Таблица должна содержать следующие столбцы:
Название столбца | Тип |
---|---|
touchpoint |
string Произвольное название точки взаимодействия (не может быть пустым или содержать запятые). |
user_id |
string Идентификатор пользователя, посетившего точку взаимодействия (не может быть пустым или равняться 0). |
event_time |
int Время посещения точки взаимодействия (не должно быть пустым). |
Пример кода для создания таблицы:
CREATE TABLE touchpoint_temp_table
AS (
SELECT user_id, event.event_time, CAST(event.site_id AS STRING) AS touchpoint
FROM adh.cm_dt_impressions
WHERE
event.event_type IN ('VIEW')
AND user_id <> '0'
AND event.campaign_id IN UNNEST(@campaign_ids)
UNION ALL
SELECT
user_id, event.event_time, CAST(event.site_id AS STRING) AS touchpoint
FROM adh.cm_dt_clicks
WHERE
event.event_type IN ('CLICK')
AND user_id <> '0'
AND event.campaign_id IN UNNEST(@campaign_ids)
);
Как создать таблицу доли ценности пользователей
В таблице доли ценности пользователей определяются события-конверсии. При этом для каждого пользователя учитываются только события с временной меткой, предшествующей конверсии.
Таблица должна содержать следующие столбцы:
Название столбца | Тип |
---|---|
user_id |
string Идентификатор пользователя, посетившего точку взаимодействия (не может быть пустым или равняться 0). |
event_time |
int Время события-конверсии (не должно быть пустым). |
credit |
integer Доля ценности пользователя. Может представлять собой любые факторы, которые вам нужно проанализировать, например ценность конверсии, количество конверсий и т. п. Принимает значения от 1 до 100. |
Пример кода для создания таблицы:
CREATE TABLE user_credit_temp_table AS (
SELECT
user_id,
MAX(event.event_time) AS event_time,
1 AS credit
FROM adh.cm_dt_activities_attributed
WHERE user_id <> '0'
AND event.campaign_id IN UNNEST(@campaign_ids)
AND DATE(TIMESTAMP_MICROS(event.event_time)) BETWEEN @start_date AND @end_date
AND event.activity_id IN UNNEST (@activity_ids)
GROUP BY user_id
);
Функция, возвращающая табличное значение
Запросы к функциям, возвращающим табличное значение, строятся так же, как и к таблицам.
Синтаксис
ADH.TOUCHPOINT_ANALYSIS(TABLE touchpoints_tmp_table_name, TABLE credits_tmp_table_name, STRING model_name)
Аргументы
Название | |
---|---|
touchpoints_tmp_table_name |
Название временной таблицы точек взаимодействия, созданной клиентом. Схема таблицы должна содержать столбцы touchpoint , user_id и event_time . |
credits_tmp_table_name |
Название временной таблицы доли ценности пользователей, созданной клиентом. Схема таблицы должна содержать столбцы user_id , credit и conversion_time . |
model |
string Должна иметь значение SHAPLEY_VALUES. |
Таблица результатов
Таблица результатов будет содержать следующие данные:
Название столбца | Тип |
---|---|
touchpoint |
string Название точки взаимодействия. |
score |
integer Рассчитанное значение ценности Шепли для этой точки. |
Пример кода для использования функции, возвращающей табличное значение
SELECT *
FROM ADH.TOUCHPOINT_ANALYSIS(
TABLE tmp.touchpoint_temp_table,
TABLE tmp.user_credit_temp_table,
'SHAPLEY_VALUES')