İlişkilendirme Modelleri (Attribution Modelling) : Markov Modeli; R Uygulaması

0 Shares
0
0
0

Hepimizin bildiği ve aynı zamanda deneyimlediği üzere, kullanıcılar belirlediğiniz dönüşümleri gerçekleştirmeden önce sizin bu dönüşümü gerçekleştirmek için yatırım yaptığınız farklı kanallara maruz kalıyorlar. Peki, sonuç olarak dönüşüm bu kaynaklardan hangisi tarafından gerçekleştirildi ya da bu bir grup işi mi? Bu sorunun cevabı olarak karşımıza “İlişkilendirme Modelleri” çıkıyor. Dijital pazarlama alanında ilişkilendirme modelleri; kullanıcıların satın alma, form doldurma, broşür indirme gibi tanımlı site dönüşümlerini gerçekleştirmeden önceki yolculuğundaki kanalların performansını değerlendirmek amacına hizmet eden metotlardır.

attributionmodelling

Çoğunlukla, Google Analytics raporlarında da olduğu gibi bulgusal (heuristic) ilişkilendirme modelleri kullanılmaktadır. Bulgusal ilişkilendirme modelleri; “Benim için sadece son etkileşim noktası değerlidir.” gibi sezgisel ya da deneyimsel bir ön kabul ile, genelde istatiksel anlamda hızlı sonuç almak amaçlı kullanılan modellerdir. “Son Etkileşim (Last Interaction)”, ”İlk Etkileşim (First Interaction)”, “Doğrusal (Linear)”, “Zamanla Değer Kaybı (Time Decay)”, ”Konuma Dayalı (Position Based)” gibi sıkça karşımıza çıkan modeller, bulgusal ilişkilendirme modellerine örnek olarak verilebilir. Bu modeller, genel olarak bir fikir verse de, sadece bu modellere dayanarak kanal performans değerlendirmesi yapmak eksik ya da yanlış sonuçlara neden olabilir.

Eğer Google Analytics 360 kullanıcısıysanız “Data-Driven Model” seçeneğine sahipsiniz. Şüphesiz ki, bulgusal modeller ile karşılaştırdığımızda bize daha ayrıntılı bir analiz sunmaktadır. Ancak Google’ın “Game Theory” üzerine dayandırdığını söylediği bu modelin çalışma mantığı bir kapalı kutu. Şayet, Google Analytics 360 kullanıcısı değilseniz veri bazlı bir ilişkilendirme modeline direkt olarak erişiminiz bulunmamaktadır. Bu durum alternatif yaklaşımlar ihtiyacını doğurmaktadır.


Markov zinciri bir noktadan diğer noktaya geçme durumunun olasılıksal dağılımını veren ve hareketi haritalayan bir yöntemdir. R ve Phyton gibi programlardaki kütüphaneler model kurgulanması konusunda bize olanak sağlamaktadır. Diğer ilişkilendirme modellerinin aksine olasılıksal bir yaklaşım sağlaması ve işlem görmemiş veri üzerinden analizler sayesinde herhangi bir reklam kanalına yaklaşım göstermeden güvenilir sonuçlar alınması açısından Markov modeli tercih edilebilir.

R Markov Modeli Uygulama

Önce doğru ölçümleme!

Ne kadar gelişmiş modeller kullanırsanız kullanın, veri kaliteniz düşükse doğru sonuç alamazsınız. Bu yüzden en önemli nokta ölçümleme sisteminizin doğru kurulmuş olması. Temel Google Analytics ayarlarının yapılmış, tüm iletişim kanallarının raporlarda tanımlı olması gerekmektedir. Model sürekli geliştireleceğinden farklı modeller kullanılacağından ve karşılaştırmalar yapılacağından dolayı yapının uzun vadeli düşünülerek kurulması önem taşıyor. Bu yüzden Kanal Gruplaması (Channel Grouping) yapısının doğru ve sürdürülebilir olması gerekmektedir.

BigQuery ile analiz yapmak isterseniz “Custom Channel Grouping” yapısını direkt olarak göremiyorsunuz. Eğer kanal gruplaması “Default Channel Grouping” ile doğru gelmiyorsa ve aktif kullandığınız kanal gruplaması “Custom Channel Grouping” özelliği ile oluşturulmuş ise kanal gruplama yapısını BigQuery üzerinde tekrar oluşturmanız gerekmektedir.

Veriyi nasıl aktaracağım?

Veri kalitemizden emin olduktan sonra veriyi analiz yapacağımız ortama aktarmak geliyor. Path (Yol) verisini direkt olarak “Multi-Channel Funnels Reporting API” kullanarak R üzerine aktarabiliriz. Ancak burada örnekleme problemine takılıyoruz. Tarih aralığı 1 milyondan fazla dönüşümü içeriyorsa veri örneklenir. Eğer trafiği yüksek bir site ise API ile veri aktarmak çok doğru sonuç vermeyebilir.

Google 360 kullanıcısıysanız örneklenmemiş raporları (unsampled) raporları CSV formatında indirebilirsiniz. Ancak yine uzun zaman aralığını içeren ve dönüşümü yüksek bir siteyseniz bunun yerine verinizi BigQuery’de işlemeyi tercih edebilirsiniz.

Google Analytics 360 ve BigQuery bağlantısı ile ham veriyi direkt olarak BigQuery üzerine aktarabiliyoruz. BigQuery üzerinde ham veri ile işlem yaptığımızdan dolayı path verisini yeniden oluşturmamız gerekiyor. BigQuery aynı zamanda, modele farklı girdiler katmamızı da sağlıyor. Örneğin; Google Analytics raporlarında sadece “hedeflere” ya da “dönüşüme” göre path verisini düzenleyebiliyor iken BigQuery’de event (etkinlik)’lere göre de düzenleyebiliriz. Kendi dönüşüm tanımınıza ve ihtiyacınıza göre, veri tablonuzu genişletebilir ya da filtreleyebilirsiniz. 

Markov Model kurgusu & R

BigQuery üzerinde veri tablosunu oluşturduktan sonra, Markov Modeli kurgusu içi R üzerine veriyi aktarmanız gerekiyor. Bu konuda  R “bigrquery” paketini kullanabilirsiniz ya da verinizi csv formatında indirip, R üzerinde dosyayı okuyabilirsiniz. 

Gelelim modele; “markovchain” kütüphanesi ile aşağıdaki örnekteki gibi modelinizi kolayca oluşturabilirsiniz. Modele veri tablonuzu path verinizi dönüşüm verinizi ve eğer varsa dönüşüm değerini de tanıtabilirsiniz.

install.packages("markovchain")
library("markovchain")	
data <- read.csv(file="markovchain.csv", sep = ";")	
markov_model <- markov_model(data, 'touchpointPath','TOP', 
                             var_value=NULL,	
                             out_more = TRUE,	
                             order = 2)

Burada dikkat etmemiz gereken değişken “order” değişkeni. Order 0 ila 4 arasında değer almaktadır ve bu değerlere göre modele yön verilebilir. Bu değerlere göre model kaç adım geriye bakacağına ya da bakıp bakmayacağına karar veriyor. Örneğin; order:2 ; bir adım geriye bakar; adım A’dan geldi ve şu anda Adım B’de (Sıra B). Bir yere gitme olasılığı, nereden geldiğinize ve nerede olduğunuza dayanır. Bu seçim zor olmakla beraber verinize ve dönüşümlerinize göre karar verebilirsiniz.

R üzerinde aynı zamanda “ChannelAttribution” kütüphanesi ile ilk etkileşim, son etkileşim ve doğrusal etkileşim gibi bulgusal (heuristic) modelleri de oluşturabilirsiniz. Bu da sonuçları karşılaştırma açısından faydalı olacaktır.

install.packages("ChannelAttribution")
library("ChannelAttribution")
H <- heuristic_models(data1, 'touchpointPath','TOP')

Son olarak; akla gelen ilk soru “Ben hangi model sonucuna göre aksiyon almalıyım?” olacaktır. Bunun için uzun süreli ve sürekli analiz süreci gerekecektir. Model doğruluğu istatiksel yöntemler ve karşılaştırmalar ile test edilerek, biraz da tecrübe ile sizin için doğru modelin hangisi olduğunu belirleyebilirsiniz.

0 Shares
Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bunlar da ilginizi çekebilir

Cross Domain Kurulumu Nasıl Yapılır ?

Google Analytics kullanıcı metriklerini ölçümlemek için Client-ID atamaktadır ve kullanıcının her oturumunda göndermiş olduğu hit’leri Client-ID’si ile eşleştirir.…
firebase-analytics-console

Firebase Event Log’lama

Google’ın ücretsiz hesaplar için eski GA SDK’sını emekliye ayıracağını duyurmasının ardından Firebase’e geçişler daha da önem kazanmaya başladı.…