A/B testleri, dijital ürün geliştirme süreçlerinin ve veri odaklı karar mekanizmalarının bel kemiğidir. Ancak hatalı bir örnekleme stratejisi, en gelişmiş analitik modelleri bile anlamsız kılabilir. Yanıltıcı veriler üzerine inşa edilen kararlar, dönüşüm oranlarını artırmak yerine kullanıcı deneyimini zedeler ve ciddi finansal kayıplara yol açar. Güvenilir ve tekrarlanabilir A/B testi sonuçları elde etmek; hipotezin doğru tanımlanmasına olduğu kadar, veri kümesinin evreni ne kadar doğru temsil ettiğine bağlıdır.
A/B Testinde Örnekleme Seçiminin Metodolojik Temelleri
Örnekleme (Sampling) Nedir? / Neden Önemlidir?
Örnekleme; incelenmek istenen popülasyonun tamamına ulaşmanın maliyetli, zamansız veya teknik olarak imkansız olduğu durumlarda, bu popülasyonu temsil etme yeteneğine sahip daha küçük bir alt grubun istatistiksel yöntemlerle seçilmesi işlemidir. A/B testlerinde örnekleme, test A (kontrol) ve test B (varyasyon) gruplarının tarafsız şekilde oluşturulmasını, yanlılığın (bias) engellenmesini ve elde edilen sonuçların genel kullanıcı kitlesine güvenle genellenebilmesini sağlar.
Rastgele Örnekleme (Simple Random) ve Tabakalı Örnekleme (Stratified) Arasındaki Farklar
Rastgele Örnekleme, anakütledeki her elemanın eşit seçilme olasılığına sahip olduğu en yalın yöntemdir. Kullanıcı grupları arasındaki homojenlik yüksek olduğunda idealdir; ancak kitle içinde belirli segmentler (örn. sadık müşteriler, yeni kullanıcılar, coğrafi bölgeler) baskınsa bu yöntemde temsil kaymaları yaşanabilir.
Tabakalı Örnekleme ise anakütleyi önceden belirlenmiş kritik alt gruplara (katmanlara/strata) ayırır ve her katmandan orantılı biçimde rastgele örnekler toplar. Bu sayede test ve kontrol grupları arasındaki anahtar parametre dağılımı tam eşitleyerek istatistiksel sapmayı minimuma indirir.
Uygulama Senaryoları, Tetikleyiciler ve Kod Örnekleri
1. Rastgele Örnekleme (Simple Random Sampling)
Avantajı: Kolay uygulanır, her elemanın seçilme olasılığı eşittir.
Dezavantajı: Yanlılığa yol açabilir.
Tetikleyici / Kullanım Alanı: Trafiğin yüksek ve kullanıcı davranışlarının homojen olduğu ana sayfa veya buton rengi testlerinde tercih edilir.
import pandas as pd
# Örnek veri seti oluşturma
df = pd.DataFrame({'user_id': range(1, 1001)})
# %50 rastgele örnekleme (A/B testi için 1:1 dağıtım)
sample_a = df.sample(frac=0.5, random_state=42)
sample_b = df.drop(sample_a.index)
print(f"Grup A Kullanıcı Sayısı: {len(sample_a)}")
print(f"Grup B Kullanıcı Sayısı: {len(sample_b)}")
2. Tabakalı Örnekleme (Stratified Sampling)
Avantajı: Alt grupların temsili güvence altına alınır.
Dezavantajı: Katmanların doğru tanımlanması gerekir.
Tetikleyici / Kullanım Alanı: Kullanıcı segmentlerinin (ör. Cihaz tipi, üyelik statüsü) dönüşüm oranını doğrudan etkilediği ödeme adımı (checkout) testlerinde kullanılır.
import pandas as pd
from sklearn.model_selection import train_test_split
# Katmanlı veri seti (Örn: Mobil %80, Masaüstü %20)
df = pd.DataFrame({
'user_id': range(1, 1001),
'device': ['Mobile'] * 800 + ['Desktop'] * 200
})
# Cihaz türüne göre tabakalı A/B ayrımı
sample_a, sample_b = train_test_split(
df, test_size=0.5, stratify=df['device'], random_state=42
)
print(sample_a['device'].value_counts())
print(sample_b['device'].value_counts())
3. Küme Örnekleme (Cluster Sampling)
Avantajı: Veri toplama maliyetini düşürür, birim yerine grup bazlı çalışır.
Dezavantajı: Kümeler arası varyans yüksekse temsil yeteneği düşer.
Tetikleyici / Kullanım Alanı: Bölgesel/coğrafi dağılımlı kullanıcı gruplarında veya Mağaza/Şehir bazlı A/B testlerinde operasyonel kolaylık sağlar.
import pandas as pd
# Şehir bazlı kümeleme veri seti
df = pd.DataFrame({
'user_id': range(1, 101),
'city': ['Istanbul']*40 + ['Ankara']*30 + ['Izmir']*30
})
# Rastgele 2 küme (şehir) seçerek gruba dahil etme
selected_clusters = pd.Series(df['city'].unique()).sample(n=2, random_state=42)
cluster_sample = df[df['city'].isin(selected_clusters)]
print("Seçilen Kümeler:")
print(cluster_sample['city'].value_counts())
4. Uygun Örnekleme (Convenience Sampling)
Avantajı: Hızlı ve düşük maliyetlidir.
Dezavantajı: Genellenebilirlik oldukça düşüktür, yüksek derece yanlılık içerir.
Tetikleyici / Kullanım Alanı: Prototip doğrulamaları veya dahili şirket içi (internal) UX kullanılabilirlik testlerinde tercih edilir.
import pandas as pd
# Erişimi en kolay ilk 100 kullanıcıyı seçme
df = pd.DataFrame({'user_id': range(1, 1001)})
convenience_sample = df.head(100)
print(f"Uygun Örneklem Sayısı: {len(convenience_sample)}")Yapılandırılmış Veri Tablosu (Matrix)
Kavram / Terim | Temel Odak Noktası | Sağladığı Avantaj / Çıktı |
Rastgele Örnekleme | Her kullanıcının seçilme olasılığının eşit tutulması | Kolay uygulanabilirlik ve tarafsız temel dağılım |
Tabakalı Örnekleme | Belirli alt segmentlerin (strata) orantılı temsili | Yüksek temsil gücü ve varyansın azaltılması |
Küme Örnekleme | Doğal grupların/kümelerin analize dahil edilmesi | Operasyonel kolaylık ve düşük veri toplama maliyeti |
Uygun Örnekleme | Kolay erişilebilir verinin hızlıca işlenmesi | Hızlı konsept doğrulama ve ön izleme olanağı |



