AB Testi Nedir ? İstatistiksel A/B Testleri Nasıl Yapılır?
Bu yazıda İstatistiksel A/B testi, doğru yöntemlerin nasıl seçileceği ve A/B testlerinde dikkat edilmesi gereken noktalara değinilip bir örnek yapılacaktır. İki bölümde ele alınacak yazının birinci bölümü kavramsal ve sonuç odaklı, ikinci bölüm teknik olarak arka plandaki testler ve bu testlerin teorik çalışma prensipleri ile alakalı olacaktır.
A/B testleri bir cümle ile özetlenecek olursa: Front-End veya Back-End projeler için web sitesinde yapılan yenilik ve geliştirmelerin belirlenen bazı kriterlere göre “anlamlı bir farklılık” yaratıp yaratmadığının araştırılmasıdır. Örneğin: Bir ürün için satın al butonunun kırmızı olması durumu ile yeşil olması durumu arasında dönüşüm oranları bakımından anlamlı bir farklılık var mıdır? Bir diğer örnek canlı sistemdeki yeni makine öğrenmesi projesinin eski sisteme göre gelirleri arttırma bakımından anlamlı bir farklılığa sebep olup olmadığının araştırılmasıdır.
Buradaki “anlamlı farklılık” kısmı oldukça önemli olmakla birlikte Dünya’daki kullanım örnekleri incelendiğinde anlamlılığın tanımı istatistiksel testler ile gelmektedir.
İstatistiksel testlerin eksik ya da yanlış anlaşılması çalışmada hatalara ve güvenilirliği düşük sonuçlara sebep olacaktır.
Örnek olarak Google ve Booking ile ilgili kısa bir araştırma yapılabilir. Google’daki ekibin nasıl bir heyecan ile bu testlerle ilgilendiği görülmeli 🙂 https://www.udacity.com/course/ab-testing–ud979
Bunun yanında Netflix’in efsane recommendation sisteminin testide bu yöntemler ile gerçekleştirilmiştir. Burada recommendation algoritmasının testi değil oluşturulan modelin canlıdaki performansının test edilmesi durumundan söz edilmektedir. Bu çalışma için şu makaleyi inceleyebilirsiniz http://dl.acm.org/citation.cfm?id=2843948
A/B testinin sık kullanıldığı durumlar sıralanacak olursa:
1. E-Ticaret için “Customer Journey” adımlarının optimize edilmesi yani dönüşüm oranlarının arttırılması.
2. Front-End tarafında meydana gelen bir yenilik. Renk değişimi, menü değişimi, buton değişimi, reklam alanı yeri değişimi gibi değişiklikler.
3. Bir makine öğrenmesi (büyük veri, veri bilimi) projesinin canlıdaki gelir odaklı performansı.
Bu üç maddeye başka maddelerde eklenebilir fakat testler genel olarak bir web sitesi için bu durumlar etrafında oluşmaktadır.
Peki bir şekilde inovasyonu ölçmek istiyoruz ve bu istatistiksel testlerin kullanılması gerektiğini biliyoruz.
Nasıl bir yol izlenmeli ve nelere dikkat edilmeli?
- Doğru deney tasarımı ve doğru verinin toplanması gerekir.
Testin uygulanacağı bölgenin (touchpoint), test edilecek hedef kitlenin, etken durumun ve örnek hacminin doğru belirlenmesi gerekir. Eğer aynı markanın farklı sitelerindeki bir durum için test yapılacaksa farklı, aynı siteninin aynı sayfasında yapılan bir değişiklik için test yapılacaksa farklı, aynı sitenin aynı sayfasında farklı ürünler denenecekse farklı deneyler/testler tasarlanması gerekmektedir.
Örneğin renk değişimi yapılan bir buton için karar alınmak istendiği düşünülsün bu durumda test ve kontrol grupları oluşturulmalıdır. Bu iki grubun nasıl seçileceği, verinin nasıl toplanacağı ve hacminin ne olacağı soruları ortaya çıkacaktır. Bu durumlar için teorik dayanaklı kararlar vermek gerekmektedir çünkü uygulanan testlerin teorik varsayımları olabilmektedir. Örneğimiz üzerinden gidersek, örnek seçimi için cookie_id ye göre mi gruplama yapılacak, site ziyaret saatine göre mi ya da farklı bir yaklaşım ile mi seçim yapılacak bunun belirlenmesi gerekir.
Muhtemelen literatürde e-ticaret için online sample selection gibi yaklaşımlar türemeye başlamıştır.
Örneğimiz için testin uygulanacağı bölgenin satın al butonu olduğunu, iki farklı rengin etken durum olduğunu, hedef kitlenin akşam saatlerindeki kitle olduğunu, örnek seçiminin akşam saatlerinde ziyaret saatlerine göre iki farklı grup seçilerek yapıldığını ve örnek hacmininde yeterli miktarda seçildiğini varsayalım.
İkinci basamağa geçelim.
2. Doğru ölçüm aracının (test yönteminin) seçilmesi gerekir.
Bu aşamada bu problem: kaç kişi gördü kaç kişi satın aldı ya da kaç kişi gördü kaç kişi tıkladı gibi bir problem olduğu için bu problem dönüşüm oranı problemidir ve bunun istatistikteki karşılığı “p oran testi”dir.
Böyle bir durum için kümülatif toplam ya da direk dönüşüm oranı değerleri arasındaki farkların incelenmesi ile karar verilmesi elbetteki yanlış olacaktır.
Eğer problem canlıdaki bir ML projesinin gelirleri ile ilgili olsaydı bu durumda test yöntemi “p oran testi” değil, bağımlı ya da bağımsız t testi olacaktı.
Üçüncü basamağa geçelim.
3. Doğru istatistiksel hipotezlerin kurulması ve test edilmesi gerekir.
olmak üzere.
Bu problem için kurulması gereken hipotezler:
H0: P1 – P2 = 0
H1: P1 – P2 eşitdeğildir 0
Diğer bir ifade ile;
H0: Eski sistemin dönüşüm oranı değeri ile yeni sistemin dönüşüm oranı değeri arasında istatistiksel olarak anlamlı bir farklılık yoktur.
H1: Eski sistemin dönüşüm oranı değeri ile yeni sistemin dönüşüm oranı değeri arasında istatistiksel olarak anlamlı bir farklılık vardır.
Önemli not:
p harfinin ilk kısımda küçük olmasının sebebi iki p değerininde örneklem üzerinden ölçülen değerler olmasıdır.
P harfinin hipotezler kısmında büyük yazılması n’den N’ye ulaşmaya çalıştığımızdan yani anakitleyi işaret ediyor olduğumuzdan dolayıdır.
Doğru test yöntemi ve doğru hipotez testi kurulduktan sonra diğer basamağa geçelim.
Diğer vakalar ve olası hipotez testlerine ikinci yazıda değinilecektir.
4. Ölçüm süresi ne kadar olmalı sorusuna optimum yanıtın bulunması gerekir.
Bu soru bu araştırmaların kilit noktasını oluşturmaktadır. İş bilgisi, örneklem teorisi, büyük sayılar yasası ile beraber düşünülmesi gereken bu konuda tek bir geçerli yaklaşım yoktur. İş bilgisi, örneklem teorisi ve büyük sayılar yasası ile beraber karar verilmelidir. Büyük sayılar yasası konusundaki şu yazıya göz atmanızı öneririm
Bu basamakta her bir gün ya da periyotta oluşan deney sonuçlarının bir gözlem olduğu varsayımı ile (bu önemli bir varsayımdır ve kilit noktalardan birisidir) devam etmemiz gerekmektedir. Yani bu gün yapılan gözlemler için mi oran testi yapacağız yoksa bir hafta içerisinde oluşan gözlemler üzerinden mi oran testi yapacağız?
Örneğimiz için bir ay boyunca oluşan oranlar üzerinden test yapılacağını varsayalım. Ve diğer basamağa geçelim.
Diğer bölüme geçmeden önce bir soru:
İki ay sonra aynı testi gerçekleştirmek isteseydik. Bu durumda probleme aynı şekilde mi yaklaşmalıydık? Bayesçi istatistikçiler geçmişte oluşan bu oran testleri ve hipotezlerin sonuçlarını gelecekte yapacakları yeni testlere dahil ederek geçmiş bilginin ve deneyimin gücünden yararlanmaktadırlar. Örnek olarak 6 ay boyunca her ay farklı renklerle yapılmış testlerde 7. ay söz konusu olduğunda önceki 6 ayında göz önünde bulundurulması durumu gösterilebilir.
5. Hipotezlerin yorumu ve iş birimlerine ilgili aksiyon önerilerinin sunulması gerekir.
Önceki basamaklarda belirlenen adımlar ile elimizde örneğin 30 gün boyunca elde edilmiş olan iki gruba ait verilerin olduğunu düşünelim ve bu testler neticesinde işletilen p oran testi ile buton yenilemenin başarılı sonuçlar verdiğini varsayalım ve bu basamağı değerlendirelim.
H0 hipotezinin nasıl yorumlanacağına dikkat etmek gerekmektedir ve akademik camianın hipotez testi sonucuna yapılacak yorumu elleri bellerinde dikkatlice inceliyor olduğu unutulmamalıdır 🙂
Bir kelimede harfler doğru şekilde yan yana gelmediğinde nasıl anlamsızlık oluşuyorsa bilimin alfabesi olan istatistik(Pearson) biliminde de bu durum geçerlidir. Tüm testler ve yorumlamalar içinde iç içe olan tüm süreçlerin doğru ve eksiksiz yapılması gerekmektedir.
H0 hipotezi şu şekilde yorumlanır:
“H0 hipotezi reddedilir” ya da “H0 hipotezi reddedilemez”. Dolayısıyla H0 hipotezi kabul edilir ya da H1 hipotezi kabul edilir gibi bir yorumlamalar yapılamaz. Denk gelecektir, sık kullanılmaktadır, fakat yapılamaz.
Gerekçesi ise şudur:
H0’ı reddettiğimizde hata yapma olasılığımızı biliyoruz 0.05 (alfa değeri) fakat H1’i kabul ettiğimizde hata yapma olasılığımızı bilmediğimiz için H1 baz alınarak bir yorum yapılamaz. Dolayısıyla H0 kabul edilir şeklinde de bir yorum yapılamaz. H0 reddedilir ya da H0 reddedilemez(reddedecek yeterli kanıt yoktur) yorumları yapılabilir.
İstatistikteki hata tipleri hatırlanacak olursa konu daha fazla açıklığa kavuşacaktır.
Bayesçi istatistikçilerin frekansçı istatistikçilere getirdiği eleştirilerin biriside hipotez testlerinde karşılaşılan bu durumdur. Bu duruma karşılık Bayesçi istatistikçilerin önerisi Bayesçi Hipotez Testleri isimli bir başka yazıda anlatılacaktır. Tabi ki bu teorik konulara olan ilgi düzeyi yazma motivasyonunu gözden geçirmeye de sebep olmuyor değil 🙂
Netice olarak H0 hipotezi yapılan test sonucunda “H0 reddedilir” sonucu ile sonuçlanmış olsun ve buton rengini değiştirmenin istatistiksel olarak anlamlı bir farklılık yarattığı sonucuna varılmış olsun. İş birimlerine gerekli bildirimler verilmiş olacaktır.
Eğer “H0 hipotezi reddedilemez” sonucu çıkmış olsaydı iş birimleri için bu “yapılan geliştirmeler güzel fakat istatistiksel olarak bir anlam ifade etmiyor, bir buton rengi için birbirimizi üzmeye değmez” anlamına gelecektir.
İkinci bölümde “p oran testi” dışında makine öğrenmesi proje çıktılarının testi için oluşturulabilecek hipotezler ve bunlar için R uygulaması yer alacaktır.
Kaynak:
Computer Age Statistical Inference – Trevor Hastie, Bradley Efron
Değerli katkılarınızı esirgemeyiniz.