Shapley değer yöntemi, birçok reklam kanalına ve temas noktasına kredi atayan bir algoritmadır. Bu işlem için kanalların ve temas noktalarının dönüşüme katkı modellemesini temel alır. Shapley değer yöntemini kullanarak belirli bir kanalın dönüşüme katkısına dair model oluşturabilirsiniz.
Ads Data Hub, Shapley Value Methods for Attribution Modeling in Online Advertising (İnternet Reklamcılığında İlişkilendirme Modelleme İçin Shapley Değer Yöntemleri) makalesinde ayrıntılı olarak açıklanan "Basitleştirilmiş Shapley Değer Yöntemi"ni kullanır.
Gizlilik kısıtlamaları
Gizlilik filtreleri, 50'den az kullanıcı ve temas noktasına orantısız miktarda kredi katkısında bulunan aykırı kullanıcının olduğu temas noktalarını kaldırır. Bu nedenle, Shapley değer modelinden elde edilen çıkışlarda, giriş temas noktaları tablosunda yer alan bazı temas noktaları eksik olabilir.Shapley değer modelinin her iterasyonundan sonra gizlilik mesajları gösterilir. Bu mesajlarda, filtrelenmiş kullanıcılar ve temas noktaları hakkında bilgiler bulunur.
Shapley değerlerini hesaplamaya genel bakış
- Temas noktası ve kredi tabloları oluşturma:
touchpoint_temp_table
.user_credit_temp_table
.
- Yukarıdaki geçici tabloları bağımsız değişken olarak kullanın ve
ADH.TOUCHPOINT_ANALYSIS
tablo değerli işlevini çağırın.
Temas noktası ve kredi tabloları oluşturma
Temas noktası tablosunu oluşturma
Temas noktası tablosunda temas noktalarıyla ilgili kullanıcı etkinlikleri tanımlanır. Örnek veriler şunları içerebilir ancak bunlarla sınırlı değildir: campaign_id
, creative_id
, placement_id
veya site_id
.
Tablo aşağıdaki sütunları içermelidir:
Sütun adı | Tür |
---|---|
touchpoint |
string Rastgele temas noktası adı. (NULL olmamalı veya virgül içermemelidir.) |
user_id |
string Temas noktasını ziyaret eden kullanıcının kimliği. (NULL veya 0 olmamalıdır.) |
event_time |
int Kullanıcının temas noktasını ziyaret ettiği zaman. (NULL olmamalıdır.) |
Tablo oluşturmaya yönelik örnek kod:
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)
);
Kullanıcı kredi tablosunu oluşturma
Kullanıcı kredi tablosunda dönüşüm etkinlikleri tanımlanır. Her kullanıcı için yalnızca zaman damgası dönüşümden önce olan etkinlikler dikkate alınır.
Tablo aşağıdaki sütunları içermelidir:
Sütun adı | Tür |
---|---|
user_id |
string Temas noktasını ziyaret eden kullanıcının kimliği. (NULL veya 0 olmamalıdır.) |
event_time |
int Katkı etkinliğinin gerçekleştiği zaman. (NULL olmamalıdır.) |
credit |
integer Kullanıcının katkıda bulunduğu kredi. Bu, analiz edilmek istenen herhangi bir kredi olabilir. (örneğin, dönüşüm değeri, dönüşüm sayısı vb.). 1 ile 100 arasında olmalıdır. |
Tablo oluşturmaya yönelik örnek kod:
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
);
Tablo değerli işlevi
Tablo değerli işlevi, sonuç olarak tablo döndürür. Bu nedenle, tablo değerli işlevini normal bir tablo gibi sorgulayabilirsiniz.
Söz dizimi
ADH.TOUCHPOINT_ANALYSIS(TABLE touchpoints_tmp_table_name, TABLE credits_tmp_table_name, STRING model_name)
Bağımsız değişkenler
Ad | |
---|---|
touchpoints_tmp_table_name |
İstemci tarafından oluşturulan geçici temas noktası tablosunun adı. Tabloda touchpoint , user_id ve event_time sütunlarını içeren bir şema bulunmalıdır. |
credits_tmp_table_name |
İstemci tarafından oluşturulan geçici kullanıcı kredi tablosunun adı. Tabloda user_id , credit ve conversion_time sütunlarını içeren bir şema bulunmalıdır. |
model |
string SHAPLEY_VALUES olmalıdır. |
Çıkış tablosu
Çıkış tablosunda şu şema yer alır:
Sütun adı | Tür |
---|---|
touchpoint |
string Temas noktası adı. |
score |
integer Bu temas noktasının hesaplanan Shapley değer puanı. |
Tablo değerli işlevini kullanmaya yönelik örnek kod
SELECT *
FROM ADH.TOUCHPOINT_ANALYSIS(
TABLE tmp.touchpoint_temp_table,
TABLE tmp.user_credit_temp_table,
'SHAPLEY_VALUES')