Метод оценки Шепли — это алгоритм, который присваивает ценность многочисленным рекламным каналам и точкам взаимодействия на основе их смоделированного вклада в конверсию. Используя метод значений Шепли, вы можете смоделировать вклад конкретного канала в конверсию.
Ads Data Hub использует «Упрощенный метод оценки Шепли», подробно описанный в статье «Методы оценки Шепли для моделирования атрибуции в интернет-рекламе» .
Ограничения конфиденциальности
Фильтры конфиденциальности удаляют точки взаимодействия с числом пользователей менее 50 и посторонние пользователи, которые вносят непропорционально большую ценность в точку взаимодействия. Таким образом, в выходных данных модели ценностей Шепли могут отсутствовать некоторые точки соприкосновения, которые есть во входной таблице точек соприкосновения.Сообщения о конфиденциальности отображаются после каждой итерации модели ценности Шепли. Эти сообщения включают информацию о пользователях и точках взаимодействия, которые были отфильтрованы.
Обзор расчета значений Шепли
- Создайте таблицы Touchpoint и Credit:
-
touchpoint_temp_table
. -
user_credit_temp_table
.
-
- Вызовите табличную функцию
ADH.TOUCHPOINT_ANALYSIS
, используя приведенные выше временные таблицы в качестве аргументов.
Создайте таблицы Touchpoint и Credit Tables.
Создайте таблицу точек взаимодействия
В таблице точек взаимодействия определяются пользовательские события, связанные с точками взаимодействия. Примеры данных могут включать, помимо прочего, campaign_id
, creative_id
, placement_id
или site_id
.
Таблица должна содержать следующие столбцы:
Имя столбца | Тип |
---|---|
touchpoint | string Произвольное имя точки взаимодействия. (Не должно быть NULL или содержать запятые.) |
user_id | string Идентификатор пользователя, который посещает точку взаимодействия. (Не должно быть NULL или 0.) |
event_time | int Время, когда пользователь посетил точку взаимодействия. (Не должно быть NULL.) |
Пример кода для создания таблицы:
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 Идентификатор пользователя, который посещает точку взаимодействия. (Не должно быть NULL или 0.) |
event_time | int Время, когда произошло событие вклада. (Не должно быть NULL.) |
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')