İstatistiksel Önem Geçerliliğe Eşit Değildir (veya Neden Hayali Artışlar Alırsınız)
Yayınlanan: 2020-10-06Çok yaygın bir senaryo: Bir işletme, bir yıl boyunca onlarca A/B testi gerçekleştirir ve bunların çoğu “kazanır”. Bazı testler, gelirinizde %25, hatta daha fazla artış sağlar.
Yine de, değişikliği uygulamaya koyduğunuz zaman, gelir %25 artmıyor. Ve tüm bu testleri yaptıktan 12 ay sonra, dönüşüm oranı hala hemen hemen aynı. Nasıl olur?
Cevap şudur: Yükselişleriniz hayaliydi . Başlamak için herhangi bir yükselme olmadı.
Evet, test aracınız %95 istatistiksel anlamlılık düzeyine (veya daha yüksek) sahip olduğunuzu söyledi. Bu pek bir şey ifade etmiyor. İstatistiksel önem ve geçerlilik aynı değildir.
İstatistiksel önem bir durdurma kuralı değildir.
Testiniz %95, hatta %99 güven düzeyine ulaştığınızı söylüyorsa, bu kazanan bir varyasyonunuz olduğu anlamına gelmez.
İşte daha önce kullandığım bir örnek. Bir teste başladıktan iki gün sonra sonuçlar şunlardı:

Oluşturduğum varyasyon çok kötü bir şekilde kaybediyordu - %89'dan fazla (ve hata payında çakışma yok). Burada Varyasyon 1'in Kontrolü yenme şansının %0 olduğu yazıyor.
Bu istatistiksel olarak anlamlı bir sonuç mu? Evet öyle. Aynı sayıları herhangi bir A/B testi hesaplayıcısına girin, onlar da aynı şeyi söyleyecektir. Bu anlamlılık hesaplayıcısını kullanan sonuçlar şunlardır:

Yani %100 anlamlı bir test ve %852.8 artış (veya daha doğrusu Kontrol, tedaviden >%800'ün üzerinde daha iyidir). Testi bitirelim, olur mu? Kontrol kazanır! Ya da onun yerine biraz daha zaman verelim mi?
10 gün sonra böyle görünüyordu:

Bu doğru, kontrolü yenme şansı %0 olan varyasyon şimdi %95 güvenle kazanıyordu. Ne oldu? Nasıl oldu da "%100 anlam" ve "%0 kazanma şansı" anlamsız hale geldi? Çünkü onlar.
Testi erken bitirirseniz, yanlış kazananı seçme olasılığınız çok yüksektir. Bu senaryoda, birçok (çoğu?) işletme hala devam ediyor ve değişikliği uyguluyor (yani kazanan varyasyonu trafiğin %100'üne yayıyor), aslında %800'lük artış sıfır, hatta negatif (kaybeden) oluyor.
Hayali yükselişten bile daha kötüsü, şu anda sahip olduğunuz sahte güvendir. Bir şey öğrendiğini düşünüyorsun ve bu öğrendiklerini sitenin başka bir yerinde uygulamaya devam ediyorsun. Ancak öğrenme aslında geçersizdir, bu nedenle tüm çabalarınızı ve zamanınızı tamamen boşa harcar.
İkinci test ekran görüntüsü (10 gün içinde) ile aynı - %95 anlamlı olduğunu söylese de, yine de "pişmiş" değil. Örnek çok küçük; dönüşümlerdeki mutlak fark sadece 19 işlemdir. Bu bir günde değişebilir.

Ton Wesseling bu konuda şunları söylüyor:
Bir testi önemli olduğunda durdurmanın, A/B testi alanında 1 numaralı ölümcül günah olduğunu bilmelisiniz. A/A testlerinin yüzde yetmiş yedisi (aynı sayfaya karşı aynı sayfa) belirli bir noktada anlamlılığa ulaşacaktır.
Öneminin gerçekte ne olduğunu öğrenin.
Bir testi sonlandırıp sonlandırmayacağınızı tek başına istatistiksel anlamlılık belirlememelidir. Bu bir durma kuralı değil.
İstatistiksel anlamlılık bize B'nin A'dan daha iyi olma olasılığını söylemez. Bize B'yi A'ya tercih ederken hata yapmamız olasılığını da söylemez.
Bunların ikisi de olağanüstü yaygın yanlış anlamalardır, ancak yanlıştırlar. P değerlerinin gerçekte neyle ilgili olduğunu öğrenmek için bu gönderiyi okuyun.
Testlerinizi daha uzun süre çalıştırın.
Testlerinizi birkaç gün sonra durdurursanız, yanlış yapıyorsunuz. Günde 10.000 işlem almanız önemli değil. Mutlak işlem sayısı önemlidir, ancak aynı zamanda saf zamana da ihtiyacınız vardır.

Conductrics'ten Matt Gershoff nedenini açıklıyor:
Testleri çevrimiçi olarak çalıştırmanın zorluklarından biri, kullanıcı gruplarımızın kontrolünün elimizde olmamasıdır. Kullanıcılar saate, haftanın gününe ve hatta mevsime göre farklı dağıtım yaparsa bu sorun olabilir. Bu nedenle, muhtemelen verilerimizi ilgili veri döngüleri üzerinden topladığımızdan emin olmak istiyoruz. Bu şekilde, tedavilerimiz ortalama kullanıcı popülasyonunun daha temsili bir örneğine maruz bırakılır.
Segmentasyonun bizi gerçekten bundan kurtarmadığına dikkat edin, çünkü hala hafta içi, hafta sonları vb. dönüşüm üzerindeki etki süresine dayalı özellikler/segmentler hakkında iyi tahminler elde etmek için trafik akışını/dönüşümünü etkiliyor olabilir.
Her zaman aşağıdaki senaryoyu görüyorum:
- İlk birkaç gün: B büyük kazanıyor. Tipik olarak yenilik faktörü nedeniyle.
- 1. haftadan sonra: B güçlü kazanıyor.
- 2. haftadan sonra: B hala kazanıyor, ancak göreceli fark daha küçük.
- 4. haftadan sonra: Ortalamaya gerileme—yükseliş kayboldu.
Bu nedenle, testi dört haftadan önce (belki birkaç gün sonra bile) durdurursanız, kazanan bir varyasyonunuz olduğunu düşünürsünüz, ancak yok. Canlı yayınlarsanız, benim "hayali yükseliş" dediğim şeye sahip olursunuz. Test aracınız %25'in üzerinde bir büyüme gösterdiği için bir yükselişiniz olduğunu düşünüyorsunuz, ancak banka hesabınızda bir büyüme görmüyorsunuz.
Testlerinizi daha uzun süre çalıştırın. İki iş döngüsü içerdiğinden, yeterli mutlak dönüşüm/işlemlere sahip olduklarından ve zaman açısından yeterli süreye sahip olduklarından emin olun.

Hayali bir asansör örneği
İşte bir e-ticaret istemcisi için yaptığımız bir test. Test süresi 35 gündü, yalnızca masaüstü ziyaretçileri hedef aldı ve varyasyon başına 3.000'e yakın işlem gerçekleşti.
Spoiler: Test “fark yok” ile sona erdi. Gelir için Optimizely genel bakışı burada (büyütmek için tıklayın):

Şimdi bakalım:
- İlk birkaç gün: Mavi (varyasyon #3) büyük kazanıyor—ziyaretçi başına 16$'a karşılık Kontrol için 12,5$'a (#Kazanıyor!). Birçok kişi testi burada sonlandırıyor (#Fail!).
- 7 gün sonra: Mavi hala kazanıyor ve göreceli fark büyük.
- 14 gün sonra: Turuncu (#4) kazanıyor!
- 21 gün sonra: Orange hala kazanıyor!
- Bitiş: Fark yok.
Yani, testi dört haftadan daha kısa bir süre çalıştırmış olsaydınız, kazananı yanlış adlandırırdınız.
Durdurma kuralları
Peki, bir test ne zaman pişirilir?
Ne yazık ki, orada evrensel bir ilahi cevap yok ve birçok “bağlıdır” faktörü var. Bununla birlikte, çoğu durumda oldukça iyi durma kurallarınız olabilir.
İşte durdurma kurallarım:
- En az 3 haftalık test süresi (4 ise daha iyi).
- Minimum önceden hesaplanmış örnek boyutuna ulaşıldı (farklı araçlar kullanılarak). Varyasyon başına 250-400'den az dönüşüme sahip hiçbir teste inanmayacağım.
- İstatistiksel önemi en az %95.
Bazı testler için özellikler nedeniyle farklı olabilir, ancak çoğu durumda bu kurallara uyuyorum.
İşte Wesseling tekrar sesleniyor:
Mümkün olduğunca uzun süre test etmek istiyorsanız - en az bir satın alma döngüsü - ne kadar fazla veri olursa, testinizin istatistiksel gücü o kadar yüksek olur!
Daha fazla trafik, test ettiğiniz önem düzeyinde kazananınızı tanıma şansınızın daha yüksek olduğu anlamına gelir! Küçük değişiklikler büyük bir etki yaratabilir, ancak büyük etkiler çok sık olmaz - çoğu zaman varyasyonunuz biraz daha iyidir, bu nedenle önemli bir kazananı fark etmek için çok fazla veriye ihtiyacınız vardır.
Ancak testleriniz uzun sürerse, insanlar çerezlerini silme eğilimindedir (iki haftada %10). Testinize geri döndüklerinde, yanlış varyasyonla sonuçlanabilirler; bu nedenle, haftalar geçtikçe numuneleriniz giderek daha fazla kirletir ve aynı dönüşüm oranlarıyla sonuçlanır.
En fazla 4 hafta test edin.
Üç veya dört hafta sonra örneklem büyüklüğü varyasyon başına 400 dönüşümden az olursa ne olur?
Testin daha uzun sürmesine izin verdim. 4 hafta sonra örneklem büyüklüğüne ulaşılmazsa, bir hafta daha ekliyorum.
Her zaman tam haftaları test edin. Teste Pazartesi günü başlarsanız, Pazar günü bitmelidir. Bir seferde tam bir hafta test yapmazsanız, sonuçlarınızı çarpıtabilirsiniz.
Sitenizde haftanın günü başına bir dönüşüm raporu çalıştırın. Bakın ne kadar dalgalanma var.
Aşağıda ne görüyorsunuz? Perşembe günleri cumartesi ve pazar günlerinden 2 kat daha fazla para kazanıyor ve perşembe günleri dönüşüm oranı cumartesi gününden neredeyse 2 kat daha iyi.

Tam haftalarca test yapmasaydık, sonuçlar yanlış olurdu. Bir seferde tüm haftaları test edin.
Her segment için aynı durma kuralları geçerlidir.
Segmentlere ayırma, A/B testlerinden öğrenmenin anahtarıdır. B'nin genel sonuçlarda A'ya kaybetmesi, ancak belirli segmentlerde (örneğin, Facebook trafiği, mobil cihaz kullanıcıları vb.) A'yı yenmesi yaygın bir durumdur.
Herhangi bir segmente ayrılmış veriyi analiz etmeden önce, her segmentte yeterince büyük bir örnek boyutunuz olduğundan emin olun. Bu nedenle, baktığınız her segmentte varyasyon başına 250–400 dönüşüme ihtiyacınız var.
Hatta bir testten sonra sonuçları segmentler arasında analiz etmek yerine hedefli testler oluşturmanızı (test yapılandırmasında hedef kitleyi/segmenti ayarlayın) tavsiye ederim. Bu, testlerin erken çağrılmamasını ve her segmentin yeterli örnek boyutuna sahip olmasını sağlar.
Arkadaşım Andre Morys, durma kuralları hakkında şunları söyledi:

Verilerinizin geçerli olması gerekiyorsa, insanlara her zaman temsili bir örneğe ihtiyacınız olduğunu söylerim.
"temsilci" ne demek Her şeyden önce, tüm hafta içi ve hafta sonlarını dahil etmeniz gerekir. Alıcı davranışını etkilediği için farklı hava koşullarına ihtiyacınız var. Ama en önemlisi, trafiğinizin tüm trafik kaynaklarına, özellikle haber bültenine, özel kampanyalara, TV'ye… her şeye sahip olması gerekiyor! Test ne kadar uzun süre çalışırsa, o kadar fazla içgörü elde edersiniz.
Yaz indirimi aşamasının ortasında büyük bir moda perakendecisi için bir test yaptık. Sonuçların "zor satış aşaması" sırasında %70 ve daha fazla düşüşle nasıl dramatik bir şekilde düştüğünü görmek çok ilginçti - ancak aşama sona erdikten bir hafta sonra düzeldi. Test yaklaşık dört hafta sürmemiş olsaydı, bunu asla öğrenemeyecektik.
"Temel kuralımız" şudur: varyasyon başına 3.000-4.000 dönüşüm ve 3-4 haftalık test süresi. Segmentlere inersek geçerli veriler hakkında konuşabilmemiz için bu kadar trafik yeterlidir.
1 numaralı "günahı" test etme: İstatistiksel geçerliliğiniz olmadığında (örneğin, 85'e karşı 97 dönüşümler) segmentler içindeki artışları aramak. Bu çok saçma.
Testlerden öğrenmek, kazanmaktan çok daha önemlidir. Test verilerinizi bölümlere ayırmak, öğrenmenin en iyi yollarından biridir. Hemen sonuca varmadan önce segmentlerinizin yeterli veriye sahip olduğundan emin olun.
Çözüm
Testiniz %95 veya daha yüksek anlamlılık düzeyine ulaştığı için testi durdurmayın. Varyasyon ve test süresi başına mutlak dönüşüm sayısına da dikkat edin.
