Markov zinciri istatistiksel işlevi, olasılıksal yöntemler kullanarak reklamcılık temas noktalarına kredi atar. Bunun için temas noktalarının kullanıcının dönüşüm gerçekleştirme olasılığına yönelik modellenmiş katkısını temel alır. Bu deneysel işlevin çıkışı, dönüşüm etkinliklerine olan modellenmiş katkıları temel alınarak belirli bir reklam kanalına, kampanyaya veya başka bir temas noktasına kredi atama konusunda faydalı olabilir.
İşleyiş şekli
Markov zinciri istatistiksel işlevi, reklam verilerinizi kullanarak bir Markov zinciri oluşturur. Bu zincirde, verilen siparişler grafiğindeki her köşe bir temas noktasını temsil eder ve her kenar, söz konusu temas noktasında olmak koşuluyla bir sonraki temas noktasına geçme olasılığını verir. Yalnızca mevcut temas noktasının geçiş olasılığını etkilediğini varsayar. Daha sonra, temas noktası grafikten kaldırılarak ve bir dönüşümün modellenmiş olasılığı hesaplanarak her temas noktasının yaptığı katkı hesaplanır.
Gizlilik kısıtlamaları
Temas noktalarının gizlilik filtreleri tarafından kaldırılmaması için temas noktalarında dönüşüm gerçekleştiren 50 veya daha fazla kullanıcı ve dönüşüm gerçekleştirmeyen 50 veya daha fazla kullanıcı bulunmalıdır. Ayrıca, temas noktasına orantısız miktarda kredi katkısında bulunan aykırı kullanıcılar filtrelenebilir. Bu nedenle, Markov zinciri modelinden elde edilen çıkışlarda, giriş temas noktaları tablosunda yer alan bazı temas noktaları eksik olabilir.Markov zinciri modelinin her iterasyonundan sonra gizlilik mesajları gösterilir. Bu mesajlarda, filtrelenmiş kullanıcılar ve temas noktaları hakkında bilgiler bulunur.
Markov zinciri 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. Dönüşümlerden sonra gerçekleşen etkinlikler, dönüşüm olmayan etkinlikler olarak kabul edilir.
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 MARKOV_CHAINS 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 Markov zinciri 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,
'MARKOV_CHAINS')