Pengujian A / B: Analisis Langkah demi Langkah

Ini adalah repost dari artikel yang dipublikasikan di website dou.ua. Dalam artikel ini, Anna Ponomareva, Analis Game di Plarium Kharkiv, membagikan praktik terbaik pribadinya untuk melakukan pengujian A / B: dia menjelaskan setiap langkah, menyoroti kesulitan dan jebakan yang dapat ditemui, dan berbicara tentang pengalamannya dalam menyelesaikannya.







Tim menginvestasikan banyak pekerjaan, upaya, dan sumber daya ke dalam setiap perubahan dalam game: terkadang pengembangan fungsionalitas atau level baru membutuhkan waktu beberapa bulan. Tugas analis adalah meminimalkan risiko dari pengenalan perubahan tersebut dan membantu tim membuat keputusan yang tepat tentang pengembangan proyek lebih lanjut.



Saat menganalisis keputusan, penting untuk dipandu oleh data yang signifikan secara statistik yang sesuai dengan preferensi audiens, daripada asumsi intuitif. Pengujian A / B membantu mendapatkan data tersebut dan mengevaluasinya.



6 langkah β€œmudah” untuk pengujian A / B



Untuk istilah penelusuran "pengujian A / B" atau "pengujian terpisah", sebagian besar sumber menawarkan beberapa langkah "sederhana" untuk pengujian yang berhasil. Ada enam langkah seperti itu dalam strategi saya.







Sekilas, semuanya sederhana:



  • ada grup A, kontrol, tidak ada perubahan dalam game;
  • ada kelompok B, uji, dengan perubahan. Misalnya, fungsionalitas baru telah ditambahkan, tingkat kesulitan telah ditingkatkan, tutorial telah diubah;
  • jalankan pengujian dan lihat varian mana yang memiliki performa lebih baik.


Dalam praktiknya, ini lebih sulit. Agar tim dapat menerapkan solusi terbaik, saya, sebagai analis, perlu menjawab betapa yakinnya saya dengan hasil tes. Mari kita hadapi kesulitan langkah demi langkah.



Langkah 1. Tentukan tujuan



Di satu sisi, kami dapat menguji semua yang muncul di benak setiap anggota tim - mulai dari warna tombol hingga tingkat kesulitan permainan. Kemampuan teknis untuk melakukan uji terpisah dimasukkan ke dalam produk kami pada tahap desain.



Di sisi lain, penting untuk memprioritaskan semua saran untuk meningkatkan permainan sesuai dengan tingkat efek pada metrik target. Oleh karena itu, pertama-tama kami menyusun rencana untuk meluncurkan pengujian terpisah dari hipotesis dengan prioritas tertinggi hingga yang terkecil.



Kami mencoba untuk tidak menjalankan beberapa pengujian A / B secara paralel untuk memahami dengan tepat fungsi baru mana yang memengaruhi metrik target. Tampaknya dengan strategi ini akan membutuhkan lebih banyak waktu untuk menguji semua hipotesis. Tetapi pembuatan prioritas membantu memotong hipotesis yang tidak menjanjikan pada tahap perencanaan.

Kami mendapatkan data yang paling mencerminkan efek perubahan tertentu, dan kami tidak membuang waktu untuk menyetel pengujian dengan efek yang meragukan.



Kami pasti mendiskusikan rencana peluncuran dengan tim, karena fokus minat bergeser pada berbagai tahap siklus hidup produk. Pada awal proyek, ini biasanya Retensi D1 - persentase pemain yang kembali ke game keesokan harinya setelah penginstalannya. Pada tahap selanjutnya, ini bisa berupa metrik retensi atau monetisasi: Konversi, ARPU, dan lainnya.



Contoh.Metrik retensi memerlukan perhatian khusus setelah proyek dirilis ke peluncuran awal. Pada tahap ini, mari kita soroti salah satu kemungkinan masalah: Retensi D1 tidak mencapai level tolok ukur perusahaan untuk genre game tertentu. Penting untuk menganalisis corong lulus level pertama. Katakanlah Anda melihat penurunan besar pemain antara awal dan penyelesaian level ke-3 - Rasio Penyelesaian yang rendah di level ke-3.







Tujuan dari tes A / B yang direncanakan : untuk meningkatkan Retensi D1 dengan meningkatkan proporsi pemain yang berhasil menyelesaikan Level 3.



Langkah 2. Menentukan metrik



Sebelum memulai pengujian A / B, kami menentukan parameter yang dipantau - kami memilih metrik, perubahan yang akan menunjukkan apakah fungsionalitas baru game lebih berhasil daripada yang asli.



Ada dua jenis metrik:



  • kuantitatif - durasi rata-rata sesi, ukuran cek rata-rata, waktu yang diperlukan untuk menyelesaikan level, jumlah pengalaman, dan sebagainya
  • kualitas - Retensi, Tingkat Konversi, dan lainnya.


Jenis metrik memengaruhi pilihan metode dan alat untuk menilai signifikansi hasil.



Sepertinya fungsionalitas yang diuji tidak akan memengaruhi satu target, tetapi sejumlah metrik. Oleh karena itu, kami melihat perubahan secara umum, tetapi tidak mencoba menemukan "apa pun" jika tidak ada signifikansi statistik dalam menilai metrik target.



Menurut tujuan dari langkah pertama, untuk pengujian A / B mendatang, kami akan mengevaluasi Rasio Penyelesaian level ke-3 - metrik kualitatif.



Langkah 3. Merumuskan hipotesis



Setiap pengujian A / B menguji satu hipotesis umum, yang dirumuskan sebelum peluncuran. Kami menjawab pertanyaan: perubahan apa yang kami harapkan dalam kelompok uji? Kata-katanya biasanya terlihat seperti ini:



"Kami berharap (dampak) akan menyebabkan (perubahan)"



Metode statistik bekerja dengan cara yang berlawanan - kami tidak dapat menggunakannya untuk membuktikan bahwa hipotesis tersebut benar. Oleh karena itu, setelah merumuskan hipotesis umum, dua statistik ditentukan. Mereka membantu untuk memahami bahwa perbedaan yang diamati antara kelompok kontrol A dan kelompok uji B adalah kecelakaan atau hasil dari perubahan.



Dalam contoh kami:



  • Hipotesis Nol ( H0 ): Mengurangi kesulitan Level 3 tidak akan memengaruhi proporsi pengguna yang berhasil menyelesaikan Level 3. Tingkat Penyelesaian Level 3 untuk Grup A dan B tidak terlalu berbeda dan perbedaan yang diamati bersifat acak.
  • Hipotesis alternatif ( H1 ): Mengurangi kesulitan level 3 akan meningkatkan proporsi pengguna yang berhasil menyelesaikan level 3. Tingkat Penyelesaian Level 3 lebih tinggi di Grup B daripada di Grup A, dan perbedaan ini adalah hasil dari perubahan.


Pada tahap ini, selain merumuskan hipotesis, juga perlu dilakukan penilaian terhadap pengaruh yang diharapkan.



Hipotesis: "Kami berharap bahwa penurunan kompleksitas tingkat ke-3 akan menyebabkan peningkatan Tingkat Penyelesaian tingkat ke-3 dari 85% menjadi 95%, yaitu lebih dari 11%."



(95% -85%) / 85% = 0.117 => 11.7%



Dalam contoh ini, saat menentukan Tingkat Penyelesaian yang diharapkan dari Level 3, kami bertujuan untuk membawanya lebih dekat ke Tingkat Penyelesaian rata-rata di tingkat awal.



Langkah 4. Menyiapkan percobaan



1. Tentukan parameter untuk grup A / B sebelum memulai eksperimen: untuk audiens mana kami meluncurkan pengujian, untuk proporsi pemain apa, setelan apa yang kami tetapkan di setiap grup.



2. Kami memeriksa keterwakilan sampel secara keseluruhan dan homogenitas sampel dalam kelompok. Anda dapat melakukan pra-pengujian A / A untuk mengevaluasi parameter ini - pengujian di mana grup pengujian dan kontrol memiliki fungsi yang sama. Pengujian A / A membantu memastikan bahwa tidak ada perbedaan yang signifikan secara statistik dalam metrik target di kedua grup. Jika ada perbedaan, pengujian A / B dengan pengaturan seperti itu - ukuran sampel dan tingkat kepercayaan - tidak dapat dijalankan.



Sampel tidak akan mewakili secara sempurna, tetapi kami selalu memperhatikan struktur pengguna dalam hal karakteristik mereka - pengguna baru / lama, level dalam game, negara. Semuanya terkait dengan tujuan pengujian A / B dan dinegosiasikan terlebih dahulu. Struktur pengguna di setiap grup harus sama secara kondisional.



Ada dua perangkap yang berpotensi berbahaya di sini:



  • Metrik yang tinggi dalam grup selama eksperimen dapat menjadi konsekuensi dari menarik lalu lintas yang baik. Lalu lintas bagus jika tingkat keterlibatan tinggi. Lalu lintas yang buruk adalah penyebab paling umum dari penurunan metrik.
  • Contoh heterogenitas. Katakanlah proyek dari contoh kita sedang dikembangkan untuk audiens yang berbahasa Inggris. Ini berarti bahwa kami perlu menghindari situasi ketika lebih banyak pengguna dari negara-negara di mana bahasa Inggris tidak dominan akan masuk ke dalam salah satu grup.






3. Hitung ukuran sampel dan durasi percobaan.



Tampaknya momen itu transparan, mengingat banyaknya kalkulator online.







Namun, penggunaannya membutuhkan masukan informasi awal yang spesifik. Untuk memilih opsi yang sesuai untuk kalkulator online, pikirkan tentang tipe data dan pahami istilah berikut.



  • Populasi umum - semua pengguna yang kesimpulan pengujian A / B akan didistribusikan di masa mendatang.
  • Contoh - pengguna yang benar-benar diuji. Berdasarkan hasil analisis sampel, ditarik kesimpulan tentang perilaku seluruh populasi.
  • , . β€” , , , .
  • , . .
  • (Ξ±) β€” , (0), .
  • (1-Ξ±) β€” , , .
  • (1-Ξ²) β€” , , .


Kombinasi parameter ini memungkinkan Anda menghitung ukuran sampel yang diperlukan di setiap grup dan durasi pengujian.



Di kalkulator online, Anda dapat bermain-main dengan data masukan untuk memahami sifat hubungan mereka.



Contoh . Mari gunakan kalkulator Optimizely untuk menghitung ukuran sampel untuk rasio konversi 1%. Pertimbangkan bahwa ukuran efek yang diharapkan adalah 5% pada tingkat kepercayaan 95% (indikator dihitung sebagai 1-Ξ±). Harap dicatat bahwa pada antarmuka kalkulator ini, istilah signifikansi statistik digunakan untuk mengartikan "Tingkat Keyakinan" pada tingkat signifikansi 5%.







Optimizely mengklaim bahwa 870.000 pengguna harus disertakan dalam setiap grup.

Mengonversi ukuran sampel menjadi perkiraan durasi pengujian - dua kalkulasi sederhana.



Penghitungan # 1. Ukuran sampel Γ— jumlah grup dalam eksperimen = jumlah total pengguna yang diperlukan



Penghitungan # 2. Jumlah total pengguna yang dibutuhkan Γ· jumlah rata-rata pengguna per hari = perkiraan jumlah hari eksperimen



Jika grup pertama membutuhkan 870.000 pengguna, maka untuk pengujian dua opsi, totalnya jumlah pengguna akan menjadi 1.740.000. Dengan mempertimbangkan lalu lintas 1.000 pemain per hari, pengujian akan berlangsung selama 1.740 hari. Durasi ini tidak dibenarkan. Pada tahap ini, kami biasanya merevisi hipotesis, data dasar, dan kesesuaian pengujian.



Dalam contoh kami dengan peningkatan Level 3, konversinya adalah proporsi dari mereka yang berhasil menyelesaikan Level 3. Artinya, tingkat konversinya adalah 85%, kami ingin meningkatkan indikator ini setidaknya 11%. Dengan tingkat kepercayaan 95%, kami mendapatkan 130 pengguna per grup.







Dengan volume lalu lintas yang sama yaitu 1000 pengguna, pengujian, secara kasar, dapat diselesaikan dalam waktu kurang dari satu hari. Kesimpulan ini secara fundamental salah, karena tidak memperhitungkan musim mingguan. Perilaku pengguna berbeda pada hari yang berbeda dalam seminggu, misalnya, dapat berubah pada hari libur. Dan di beberapa proyek, pengaruh ini sangat kuat, di proyek lain hampir tidak terlihat. Ini bukan kondisi yang diperlukan di semua proyek dan tidak untuk semua tes, tetapi pada proyek yang saya kerjakan, musiman mingguan di KPI selalu diamati.



Oleh karena itu, kami membulatkan durasi pengujian menjadi beberapa minggu untuk memperhitungkan musim. Lebih sering, siklus pengujian kami adalah satu hingga dua minggu, tergantung pada jenis pengujian A / B.



Langkah 5. Melakukan percobaan



Setelah memulai pengujian A / B, Anda langsung ingin melihat hasilnya, tetapi sebagian besar sumber melarang keras melakukan ini untuk menghilangkan masalah intip. Untuk menjelaskan esensi masalah dengan kata-kata sederhana, menurut saya, sejauh ini belum ada yang berhasil. Para penulis artikel semacam itu mendasarkan bukti mereka pada penilaian probabilitas, berbagai hasil pemodelan matematika, yang membawa pembaca ke dalam zona "rumus matematika kompleks". Kesimpulan utama mereka adalah fakta yang hampir tidak terbantahkan: jangan melihat data sebelum sampel yang diperlukan telah diketik dan jumlah hari yang diperlukan telah berlalu setelah pengujian dimulai. Alhasil, banyak orang yang salah mengartikan masalah mengintip dan mengikuti rekomendasi secara harfiah.



Kami telah menyiapkan proses sehingga setiap hari kami melihat data yang relevan untuk memantau KPI proyek. Di dasbor yang telah disiapkan sebelumnya, kami memantau kemajuan eksperimen sejak awal: kami memeriksa apakah grup direkrut secara merata, apakah ada masalah kritis setelah pengujian diluncurkan yang dapat memengaruhi hasil, dan seterusnya.



Aturan utamanya adalah jangan membuat kesimpulan prematur. Semua kesimpulan dirumuskan sesuai dengan desain pengujian A / B yang telah ditetapkan dan dirangkum dalam laporan terperinci. Kami telah memantau perubahan indikator sejak peluncuran pengujian A / B.



Contohnya, seperti dalam pengujian A / B, Tingkat Penyelesaian dapat berubah setiap hari.Dalam dua hari pertama setelah peluncuran, versi game menang tanpa perubahan (grup A), tetapi ini ternyata hanya kecelakaan. Setelah hari kedua, indikator di grup B memperoleh hasil yang lebih baik secara konsisten. Untuk menyelesaikan pengujian, tidak hanya diperlukan signifikansi statistik, tetapi juga stabilitas, jadi kami menunggu pengujian berakhir.







Contoh saat layak untuk mengakhiri pengujian A / B sebelum waktunya. Jika, setelah peluncuran, salah satu grup memberikan tarif yang sangat rendah, kami segera mencari alasan penurunan tersebut. Kesalahan paling umum ada dalam konfigurasi dan pengaturan level game. Dalam hal ini, pengujian saat ini dihentikan sebelum waktunya dan pengujian baru dengan perbaikan dimulai.







Langkah 6. Menganalisis hasil



Perhitungan metrik kunci tidak terlalu sulit, tetapi menilai signifikansi hasil yang diperoleh adalah masalah yang terpisah.



Kalkulator online dapat digunakan untuk menguji signifikansi statistik hasil saat mengevaluasi metrik kualitas seperti Retensi dan Konversi.



3 kalkulator online teratas saya untuk tugas-tugas seperti ini:





Contoh . Untuk analisis pengujian A / B tersebut, kami memiliki dasbor yang menampilkan semua informasi yang diperlukan untuk menarik kesimpulan, dan secara otomatis menyoroti hasil dengan perubahan target yang signifikan.







Mari kita lihat cara menarik kesimpulan pada pengujian A / B ini menggunakan kalkulator.



Data awal:



  • Di grup A, dari 3870 pengguna yang memulai level 3, hanya 3252 pengguna yang berhasil melewatinya - itu 84%.
  • Di grup B, dari 3968 pengguna, 3730 berhasil melewati level - itu 94%.


Kalkulator Alat A / B Evan menghitung interval kepercayaan untuk setiap opsi, dengan mempertimbangkan ukuran sampel dan tingkat signifikansi yang dipilih.







Kesimpulan independen:



  • A β€” 84,00%, 82,8%β€”85,1%. B β€” 94,00%, 93,2%β€”94,7%. (94%-84%)/84% = 0,119 => 12%
  • 12% , A. β€” , . 95%.
  • .


Kami akan mendapatkan hasil yang serupa dengan kalkulator A / B Testguide . Tapi di sini Anda sudah bisa bermain dengan pengaturan, mendapatkan hasil grafis dan kesimpulan yang dirumuskan.







Jika Anda takut dengan begitu banyak pengaturan, Anda tidak ingin atau perlu berurusan dengan berbagai data yang dihitung oleh kalkulator, Anda dapat menggunakan Kalkulator Pengujian A / B dari Neilpatel .







Setiap kalkulator daring memiliki kriteria dan algoritme sendiri-sendiri, yang mungkin tidak memperhitungkan semua fitur eksperimen. Akibatnya, pertanyaan dan keraguan muncul dalam interpretasi hasil. Selain itu, jika metrik target adalah kuantitatif - pemeriksaan rata-rata atau durasi rata-rata sesi pertama - kalkulator online yang terdaftar tidak lagi berlaku dan metode penilaian yang lebih canggih diperlukan.



Saya membuat laporan terperinci tentang setiap pengujian A / B, jadi saya memilih dan menerapkan metode dan kriteria yang sesuai untuk tugas saya guna menilai signifikansi statistik dari hasil.



Kesimpulan



Pengujian A / B adalah alat yang tidak memberikan jawaban yang pasti untuk pertanyaan "Opsi mana yang lebih baik?", Tetapi hanya memungkinkan Anda untuk mengurangi ketidakpastian dalam perjalanan menemukan solusi optimal. Saat melaksanakannya, detail penting di semua tahap persiapan, setiap ketidakakuratan menghabiskan sumber daya dan dapat berdampak negatif pada keandalan hasil. Saya harap artikel ini bermanfaat bagi Anda dan membantu Anda menghindari kesalahan dalam pengujian A / B.



All Articles