A/B Testi ve Örnekleme (Sampling)

Bengisu Yılmaz
2 min readNov 5, 2023

--

A/B testleri, çevrimiçi deneyler, pazarlama stratejileri ve kullanıcı deneyimini iyileştirme çabaları gibi birçok alanda önemli bir istatistiksel analiz yöntemidir. Ancak, bu testlerin güvenilir sonuçlar üretebilmesi ve anlamlı sonuçlar ortaya koyabilmesi için doğru örneklem seçimi büyük bir öneme sahiptir. A/B testlerinin uygulamasına geçmeden örnekleme (sampling) konusuna çok iyi hakim olmalıyız.

Ana kitle (population) bir araştırmanın ilgilendiği tüm insanlar, nesneler, olaylar veya kayıtların toplamını temsil eder. Araştırmacılar genellikle bu büyük ana kitleyi incelemek yerine, daha küçük ve iyi bir temsilcisi olduğu varsayılan bir örneklem (sample) seçerler. Ana kitlenin tamamını incelemek yerine, bir alt küme seçip inceleme işlemine örnekleme diğer bir deyişle sampling denir.

Örnekleme işlemi, araştırmacıların daha küçük bir alt küme üzerinden sonuçlar elde etmelerini ve bu sonuçları daha genel bir popülasyona genelleme yapmalarını sağlar. Bu yöntem araştırmaların daha etkili, maliyet tasarruflu ve zaman tasarruflu bir şekilde gerçekleştirilmesine yardımcı olur.

Şimdi örneklem seçme işlemini nasıl yapabileceğimize bir bakalım:

#Numpy Kütüphanesini import ederiz
import numpy as np

#np.random.randint fonksiyonunu kullanarak bir array oluştururuz
populasyon = np.random.randint(0, 80, 10000)
population.mean()
''' 39.457 '''

#aynı seed değeri kullanıldığında, kodu her çalıştırdığımızda aynı rastgele sayıları elde ederiz
np.random.seed(115)
#np.random.choice fonksiyonunu kullanarak size=100 olan bir örneklem oluşturduk
orneklem = np.random.choice(a=populasyon, size=100)
orneklem.mean()
''' 40.83 '''

Gördüğümüz üzere oluşturduğumuz popülasyonun ortalaması (39.457) ile popülasyondan random olarak seçilen bir örneklemin ortalaması (40.83) birbirine yakın değerlerdir.

Şimdi popülasyondan rasgele olarak 10 tane örneklem oluşturalım ve bunların ortalamasını alalım:

np.random.seed(10)
orneklem1 = np.random.choice(a=populasyon, size=100)
orneklem2 = np.random.choice(a=populasyon, size=100)
orneklem3 = np.random.choice(a=populasyon, size=100)
orneklem4 = np.random.choice(a=populasyon, size=100)
orneklem5 = np.random.choice(a=populasyon, size=100)
orneklem6 = np.random.choice(a=populasyon, size=100)
orneklem7 = np.random.choice(a=populasyon, size=100)
orneklem8 = np.random.choice(a=populasyon, size=100)
orneklem9 = np.random.choice(a=populasyon, size=100)
orneklem10 = np.random.choice(a=populasyon, size=100)

(orneklem1.mean() + orneklem2.mean() + orneklem3.mean() + orneklem4.mean() + orneklem5.mean()
+ orneklem6.mean() + orneklem7.mean() + orneklem8.mean() + orneklem9.mean() + orneklem10.mean()) / 10

''' 39.147 '''

Seçilen bu 10 örneklem, popülasyonun ortalamasına (39.457) popülasyondan rastgele seçilen örneklemin ortalamasına (40.83) göre daha yakın bir değere (39.147) sahiptir.

Peki bu ne anlama gelir?

Örnek sayısı ya da örneklem sayısı arttığında, bu örneklem dağılımına ilişkin ortalama, popülasyonun yani ana kitlenin ortalamasına yakınsıyor olacaktır. Yani veri arttığında örneklemin ortalaması popülasyonun ortalamasına daha da yaklaşır.

A/B Testleri konusunda, elimizde var olan verinin boyutu büyük olsa dahi bu hiçbir zaman bütün veriye sahip olduğumuz anlamına gelmez. Bundan dolayı örneklemden bir genelleme yapma çabası vardır. Önemli olan, örneklemin iyi seçilmesi ve temsilci olmasıdır. Doğru bir örneklem seçim yöntemi ve yeterli sayıda örneklem kullanarak, popülasyon hakkında güvenilir sonuçlar elde etmek mümkün olabilir.

Okuduğunuz için teşekkür ederim.

Bu çalışma sırasında Miuul’un çevrimiçi kaynakları ve Fikri Akdeniz’in “Olasılık ve İstatistik” kitabı gibi değerli kaynaklar benim için büyük bir rehberlik ve yardım sağladı.

--

--