Genel Bakış

Birden çok slot makinesi denemeleri

Hazırlayan: Steven L. Scott, PhD, Kıdemli İktisadi Analiz Uzmanı

Bu makale, Analytics İçerik Denemelerinin ardında yatan istatistik motorunu açıklamaktadır. Analytics, çevrimiçi denemeleri yönetmek için birden çok slot makinesi yaklaşımını kullanır. Birden çok slot makinesi bir deneme türüdür. Burada:

  • Hedef, en iyi veya en kârlı işlemi bulmaktır
  • Deneme ilerledikçe, randomizasyon dağılımı güncellenebilir

"Birden çok slot makinesi" adı, birkaç slot makinesinin bulunduğu ("bir slot makinesi") ve potansiyel olarak beklenen farklı ödemelere sahip, varsayıma dayalı bir denemeyi tanımlamaktadır. En uygun ödeme ücretine sahip slot makinesini bulmak istersiniz ancak aynı zamanda kazançlarınızı da en üst düzeye çıkarmak istersiniz. Buradaki ana mesele, geçmişte iyi performans göstermiş kolları "kullanmak" veya daha da iyi performans gösterme ihtimaline karşı yeni veya daha düşük performanslı görünen kolları "keşfetmek" arasında seçim yapmaktır. Slot makinesi problemini çözmeye yönelik oldukça gelişmiş matematiksel modeller vardır. Bu modelleri Analytics içerik denemelerinde kullanmaktayız.

Bu belgede öncelikle birden çok slot makinesinin Analytics'teki kullanımına ilişkin bazı genel arka plan bilgileri sağlanmaktadır. Ardından, birden çok slot makinesi algoritması kullanılarak gerçekleştirilen simülasyon denemelerine ilişkin iki örnek sunulmaktadır. Daha sonra, bazı sık sorulan sorular ele alınmaktadır ve son olarak, teknik hesaplamalara ilişkin ve teorik ayrıntıları açıklayan bir ek bölüm bulunur.

Arka Plan

Slot makineleri nasıl çalışır?

Günde iki kez, her bir varyasyonun nasıl performans gösterdiğini görmek için denemenize yeniden bakarız ve her bir varyasyonun ilerleyen zamanda alacağı trafik bölümünü ayarlarız. İyi performans gösteren bir varyasyon daha fazla trafik, açık bir şekilde düşük performans gösteren varyasyon da daha az trafik alır. Yaptığımız ayarlamalar, örneklem boyutunu ve performans metriklerini birlikte dikkate alan bir istatistiksel formüle dayanmaktadır (ayrıntılar için ek bölümüne bakın). Bu nedenle, yalnızca rastgele olasılık için değil, gerçek performans farklılıkları için ayarlama yaptığımızdan emin olabiliriz. Deneme ilerledikçe, göreli kazançhakkında gitgide daha fazla bilgi ediniriz ve doğru varyasyonlar seçme konusunda daha iyi bir iş çıkarırız.

Yararları

Birden çok slot makinesine dayanan denemeler, genellikle, istatistiksel hipotez testine dayanan "klasik" A-B denemelerinden çok daha etkilidir. Bunlar istatistiksel olarak da geçerlidir ve birçok durumda çok daha hızlı bir şekilde cevap üretebilirler. Bu denemelerin daha etkili olmasının nedeni, sizi denemenin sonunda "nihai bir cevap" almak üzere bekletmek yerine, trafiği kademeli olarak, kazanan varyasyonlara doğru taşımalarıdır. Açık bir şekilde daha düşük performanslı varyasyonlara gitmiş olabilecek örnekler potansiyel kazananlara atanabildiği için, bu denemeler daha hızlıdır. Yüksek performans gösteren varyasyonlarda toplanan ekstra veriler, "iyi" olan kolları "en iyi" olanlardan, daha hızlı bir şekilde ayırt etmeye yardımcı olabilir.

Temel olarak slot makineleri, denemeleri daha etkili hale getirir. Dolayısıyla, daha fazla sayıda denemeyi kullanabilirsiniz. Ayrıca, denemelerinize trafiğinizin daha büyük bir bölümünü ayırabilirsiniz. Çünkü, trafik otomatik olarak daha iyi performans gösteren sayfalara doğru yönlendirilecektir.

Örnekler

Basit bir A/B testi

Sitenizdeki dönüşüm oranının %4 olduğunu varsayalım. Aslında %5 oranında dönüşüm oluşturan yeni bir site sürümüyle deneme yaparsınız. Gerçek dönüşüm oranlarını elbette bilmiyorsunuzdur, deneme yapmanızın nedeni de budur. Ancak, denemenizin %95 olasılıkla istatistiksel olarak anlamlı bir %5'lik dönüşüm oranı saptayabilmesini istediğinizi varsayalım. Standart bir güç hesaplaması1, dönüşüm oranlarında %95 olasılıkla 0,04 ila 0,05'lik bir sapma olması için 22.330 gözleme (her bir kolda 11.165) ihtiyacınız olduğunu söyler. Denemede günlük 100 oturum aldığınızı varsayalım. Bu durumda denemenin tamamlanması 223 gün sürecektir. Standart bir denemede 223 gün bekleyip hipotez testini çalıştırır ve aradığınız yanıtı alırsınız.

Bu 100 oturumu her gün birden çok slot makinesi algoritmasıyla ele alalım. İlk gün her bir kola yaklaşık 50 oturum atar ve sonuçlara bakarız. Varyasyonun orijinalinden daha iyi olması olasılığı hesaplamak için Bayes teoremini kullanırız2. Bir sayısından bu sayıyı çıkarınca orijinalin daha iyi olma olasılığını elde ederiz. İlk günde orijinalin gerçekten çok şanslı olduğunu ve daha iyi performans gösterme olasılığının %70 olduğunu düşünelim. Bu durumda ikinci günde orijinale trafiğin %70'ini atarız ve varyasyona %30'u kalır. İkinci günün sonunda, o zamana kadar (iki gün boyunca) gördüğümüz tüm trafiği toplarız ve her bir kolun en iyi olma olasılığını yeniden hesaplarız. Böylece 3. gün için atayacağımız sunum ağırlıklarını elde ederiz. Bu işlemi, bir dizi durma kuralı sağlanana kadar tekrar ederiz (daha sonra durma kurallarıyla ilgili daha fazla bilgi sağlayacağız).

Şekil 1, bu ayarlar geçerli olduğunda neler olabileceğine dair bir simülasyonu göstermektedir. Bu şekilde, orijinal (siyah çizgi) ve varyasyon (kesikli kırmızı çizgi) için sunum ağırlıklarını görebilirsiniz. Bu çizgiler, varyasyon en sonunda %95 güven aralığı çizgisine ulaşana dek sırayla yükselip alçalmaktadır. (İki yüzdelik değerin toplamı %100 olmalıdır. Bu nedenle biri artarken diğeri azalır). Deneme 66 günde tamamlanarak size 157 test günü kazandırmıştır.

Şekil 1. Basit, iki kollu bir deneme için ideal kol olasılıklarına ilişkin bir simülasyon. Bu ağırlıklar, her bir günde her bir kola atanan trafik bölümünü belirlemektedir.

Elbette bu sadece bir örnektir. Slot makinesi algoritmasının tekrarlı örneklemede ne kadar başarılı olduğunu görmek için simülasyonu 500 kez çalıştırdık. Sonuçların dağılımı Şekil 2'de gösterilmiştir. Bu test, güç hesaplamasına dayanan klasik testten ortalama 175 gün daha erken tamamlanmıştır. Ortalama tasarruf 97,5 dönüşümdür.

Şekil 2. Güç hesaplamasıyla planlanan klasik bir deneme karşısında tasarruf edilen zaman ve tasarruf edilen dönüşüm sayısı dağılımları. Orijinalin dönüşüm oranının %4, varyasyonun dönüşüm oranının ise %5 olduğunu varsaymaktadır.

Peki, istatistiksel geçerlilik durumu nedir? Daha az veri kullanırsak, bu hata oranını artırdığımız anlamına gelmez mi? Pek sayılmaz. Slot makinesi algoritması, yukarıda gösterilen 500 denemenin 482'sinde doğru kolu bulmuştur. Bu %96,4'lük bir orana karşılık gelir ve buradaki hata oranı klasik testteki hata oranıyla yaklaşık olarak aynıdır. Slot makinesinin gerçekte önerilen güç analizinden daha uzun sürdüğü birkaç deneme de olmuştur ancak bu durum, denemelerin %1'inde görülmüştür (500 denemeden 5'i).

Ayrıca, orijinalin %5, varyasyonun ise %4'lük bir başarı oranına sahip olduğu karşıt bir denemeyi de çalıştırdık. Sonuçlar esasen simetrik çıkmıştır. Slot makinesi, 500 denemenin 482'sinde doğru kolu bulmuştur. Klasik denemeye kısayla tasarruf edilen ortalama süre 171,8 gündür ve tasarruf edilen ortalama dönüşüm sayısı 98,7'dir.

Denemeyi durdurma

Varsayılan olarak, slot makinesini en az iki hafta boyunca çalışmaya zorlarız. Sonra, iki metriği izleriz.

Bu metriklerden birincisi, her bir varyasyonun, orijinali geçme olasılığıdır. Bir varyasyonun, orijinali geçtiğinden %95 eminsek, Analytics kazananın bulunduğunu bildirir. Hem iki haftalık minimum süre hem de %95 güven düzeyi, kullanıcı tarafından ayarlanabilir.

İzlediğimiz ikinci metrik ise "denemede kalan potansiyel değer"dir. Bu metrik, özellikle birden çok kol varsa yararlıdır. Deneme sırasındaki herhangi bir noktada en iyi olduğuna inanılan bir "şampiyon" kol vardır. Deneme "şimdi", yani bu noktada durdurulursa, seçeceğiniz kol bu şampiyon koldur. Bir denemedeki "kalan değer", şampiyonu değiştirdiğinizde elde edeceğiniz dönüşüm oranındaki artıştır. Deneme yaparken asıl amaç bu değeri aramaktır. Şampiyonun en iyi kol olduğundan %100 eminseniz, denemede kalan değer olmaz ve dolayısıyla denemeye devam etmeye gerek olmaz. Ancak, bir kolun ideal kol olduğundan %70 eminseniz, başka bir kolun daha iyi olma olasılığı %30'dur ve bu kolun ne kadar daha iyi olduğuna dair dağılımı bulmak için Bayes kuralını kullanabiliriz. (Hesaplamalara ilişkin ayrıntılar için ek bölümüne bakın).

Denemede kalan değerin, şampiyonun dönüşüm oranından %1 daha az olması olasılığı en az %95 olduğunda, Analytics denemeyi durdurur. Bu, %1'lik bir iyileştirmedir, bir yüzde puanı iyileştirme değildir Bu nedenle, en iyi kolun dönüşüm oranı %4'se, denemedeki kalan değer, dönüşüm oranının 0,04 yüzde puanından daha az olduğunda denemeyi durdururuz.

İyi bir kontrol sağladığından, kalan potansiyel değere dayanarak bir denemeyi durdurmak mantıklı olacaktır. Örneğin, birçok kola sahip bir denemede, iki veya daha fazla kol yaklaşık olarak aynı performansı gösterebilir. Bu nedenle bu kollardan hangisi seçtiğiniz fark etmez. İdeal kolu bulana kadar denemeyi çalıştırmaya devam etmek istemezsiniz (çünkü iki ideal kol vardır). Sadece, kolları değiştirmenin performans açısından iyileşme sağlamayacağından emin olana kadar denemeyi çalıştırmak istersiniz.

Daha karmaşık denemeler

Denemeler daha karmaşık bir hal aldıkça, birden çok slot makinesinin klasik denemeler karşısındaki üstünlüğü artar. Web sayfanızı geliştirmek için aklınızda muhtemelen birden çok fikir vardır. Bu nedenle, büyük olasılıkla, test etmek istediğiniz birden çok varyasyon vardır. Elinizde orijinal dışında 5 varyasyon olduğunu varsayalım. Orijinali en fazla varyasyonla karşılaştıran bir hesaplama yaparsınız. Bu nedenle, birden çok karşılaştırmayı hesaba katmak için bazı ayarlamalar yapmamız gerekir. Bonferroni düzeltmesi, kolay (biraz da koruyucu) bir ayarlamadır. Bu düzeltme, hipotez testinin anlamlılık düzeyi, kol sayısına bölünerek uygulanabilir. Böylece, standart güç hesaplamasını 0,05 / (6 - 1) anlamlılık düzeyinde hesaplamış oluruz ve denemenin her bir kolunda 15.307 gözleme ihtiyacımız olduğunu buluruz. Toplam 6 kol olduğu düşünülürse, toplam gözlem sayısı 91.842 olur. Günde 100 oturum alan denemenin 919 gün (iki buçuk yıldan uzun bir süre) boyunca çalışması gerekir. Gerçek hayatta bir denemeyi bu kadar uzun süre çalıştırmak makul olmayacaktır. Ancak yine de, düşünce denemesini bir simülasyon olarak gerçekleştirebiliriz.

Şimdi, 6 kollu denemeyi slot makinesi simülasyon aracında çalıştıralım. Yine, orijinal kolun %4, ideal kolun ise %5 dönüşüm oranına sahip olduğunu varsayacağız. Diğer 4 kol, %4,5 dönüşüm oranıyla orijinal kolu geçen bir alt ideal kolu ve sırasıyla %3,%2 ve %3,5 dönüşüm oranlarına sahip, daha düşük performanslı üç kolu içerir. Şekil 3, sonuçların dağılımı göstermektedir. Ortalama deneme süresi 88 gün (buna karşılık klasik denemede 919 gün) ve tasarruf edilen ortalama dönüşüm sayısı 1173'tür. Deneme sürelerinde genelde uzun bir kuyruk oluşmuştur (denemeler daima hızlı bir şekilde bitmez). Ancak en kötü durumda bile, denemeyi slot makinesi algoritmasıyla çalıştırmak, klasik denemeye göre 800 dönüşümün üzerinde bir dönüşüm tasarrufu sağlamıştır.

Şekil 3. Bonferroni ayarlı güç hesaplaması içeren klasik denemeye göre altı kollu denemeden elde edilen tasarruf. Soldaki tablo, denemeyi durdurmak için gerekli olan gün sayısını göstermektedir, buradaki dikey çizgi ise klasik güç hesaplaması için gerekli olan süreyi göstermektedir. Sağdaki tablo, slot makinesi algoritmasıyla tasarruf edilen dönüşüm sayısını göstermektedir.

Maliyet tasarrufu, kısmen denemenin daha çabuk durdurulmasıyla, kısmen de denemenin çalışırken daha tutumlu olmasıyla ilişkilendirilebilir. Şekil 4, çalıştırdığımız ilk 500 simülasyondaki tüm kollar için sunum ağırlığı geçmişini göstermektedir. Slot makinesinin hangi kolların yüksek performans gösterdiğini ve hangilerinin göstermediğini belirlediği ilk zamanlarda biraz karışıklık olsa da, çok düşük performans sergileyen kollara oldukça hızlı bir şekilde çok düşük ağırlıklar verilmiştir. Bu durumda, orijinal kol denemeye başlarken "şanslı" olduğu için, ideal kol olma olasılığını, rekabet halinde olduğu bazı diğer kollardan daha uzun süre devam ettirmiştir. Ancak, yaklaşık 50 günden sonra, rekabet azalmıştır ve deneme, orijinal kolla nihai kazanan arasındaki iki kollu bir yarışa dönüşmüştür. Diğer kollar etkili bir şekilde elendikten sonra, günlük 100 dönüşüm, orijinal kol ile nihai kazanan arasında paylaşılmıştır. Slot makinesi algoritmasının, gözlemleri, hem ekonomik (iyi bir sonuç sağlama olasılığı yüksek kollara dağılmaktadır) hem de istatistiksel (en çok bilgi edinmek istediğimiz kollara dağılmaktadır) açıdan ne kadar iyi paylaştırdığına dikkat edin.

Şekil 4. 6 kollu denemelerden biri için sunum ağırlıkları geçmişi.

Şekil 5, daima ideal kol olan 2. kolun seçildiği "kahin" stratejisine kıyasla birden çok slot makinesi algoritmasını çalıştırmanın günlük maliyetini göstermektedir. (Gerçek hayatta hangi kolun ideal olduğunu bilmediğimizden bu durum çok adil sayılmaz, ancak yine de yararlı bir başlangıçtır.) Ortalama olarak, orijinal kola atanan her bir gözlemin maliyeti 0,01 dönüşümdür, çünkü orijinal kolun dönüşüm oranı 2. kolun dönüşüm oranından 0,01 daha azdır. Benzer şekilde, örneğin 5. kola atanan bir gözlemin maliyeti 0,03 dönüşümdür, çünkü 5. kolun dönüşüm oranı, 2. kolun dönüşüm oranından 0,03 daha azdır. Her bir kola atanan gözlem sayısını o kolun maliyetiyle çarpıp ardından her bir kol için bulduğumuz değeri toplarsak, denemeyi o gün çalıştırmanın maliyetini buluruz Klasik denemede her bir kola günde 100 / 6 oturum atanmaktadır (ortalama olarak, kısmi gözlemlerin nasıl atandığına bağlıdır). Klasik denemenin çalıştırıldığı her gün bize 1333 dönüşüme mal olduğu ortaya çıkmaktadır. Şekil 5'teki kırmızı çizgi, slot makinesi denemesini çalıştırmanın günlük maliyetini göstermektedir. Zaman ilerledikçe deneme daha da tutumlu (düşük maliyetli) hale gelmekte, daha düşük performanslı kollara daha az ağırlık verilmektedir.

Şekil 5. Slot makinesi denemesini çalıştırmanın günlük maliyeti. Klasik denemeyi çalıştırmanın günlük sabit maliyeti, kesikli yatay çizgiyle gösterilmiştir.

1R işlevipower.prop.test, bu makaledeki tüm güç hesaplamalarını gerçekleştirmiştir.

2Hesaplamaların ayrıntılarını gerçekten görmek istiyorsanız ek bölümüne bakın. İstemiyorsanız, bu bölümü atlayabilirsiniz.

Bu size yardımcı oldu mu?
Bunu nasıl iyileştirebiliriz?