มารู้จัก A/B Test จาก Conversion Funnels และ Statistical Significance กันเถอะ — ตอนที่ 2
หลังจากที่เราได้รู้จักกับ A/B Test ในมุมของ Technical กันไปแล้วบ้าง ตอนนี้เราจะมาคุยกันเรื่อง Math ข้างหลัง A/B Test กันบ้างนะครับ โดยหลักการแล้ว A/B Testing คือการทดสอบสมมติฐาน (Hypothesis) ของเราอย่างเป็นระบบ และสรุปด้วยหลักทางสถิติที่เรียกกันว่า Statistical Significance เพื่อให้เราเข้าใจง่ายขึ้นถึงนิยามของ A/B Testing ทางสถิติ ลองมาดูตัวอย่างการทดลองโยนหัวก้อยกันดีกว่านะครับ สมมติว่าเราตั้งสมมติฐานไว้ว่าถ้าเราใส่ชุด Sailor Mercury จะทำให้เพิ่ม conversion ในการทอยเหรียญให้ออกหัวมากขึ้น
Sailor Mercury Help Conversion !!!!
และในการทดสอบเราก็ใส่ชุด Sailor Mercury และ Sailor Mars แล้วมาโยนเหรียญทายหัวก้อย 100 ครั้งผลลัพธ์ที่ได้ออกมาเป็นดังนี้ แต่น แต๊น เราพบว่าสมมติฐานเราน่าจะถูก……จริงเหรอ
Testing with 100 Toss
มาลองดูกันนะครับ โดยพื้นฐานแล้วมีสิ่งสำคัญๆอยู่หลายอย่างที่เราต้องทำความเข้าใจในการใช้งาน A/B Test นั่นก็คือ
Mean ในทางสถิติแล้วค่า Mean หรือค่าเฉลี่ยซึ่งมีค่าเท่ากับค่าของข้อมูลทั้งหมดรวมกันแล้วหารด้วยจำนวนของข้อมูล เขียนแทนด้วยสูตรทางคณิตศาสตร์ดังนี้
ค่า Mean
โดยค่า Conversion rates นั้นเป็นค่าของผลคูณของจำนวนเหตุการณ์ (n) กับค่าความเป็นได้ของ Conversion (p) => n*p ทั้งนี้เมื่อพิจารณาค่าของ conversion ที่เกิดขึ้นบน normal distribution curve แล้วเราจะพบว่า Conversion rate จริงๆนั้น เราไม่สามารถระบุค่าที่ชัดเจนได้ เพราะค่าของเหตุการณ์ที่เกิด Conversion นั้นเกิดกระจายโดยรอบตามกราฟ normal distrution
ดังนั้นค่าของ Conversion Rate นั้น เราจึงมักจะคิดจากค่า Mean ของ Conversion rate เป็นหลัก
- Variance
- Confidence Interval
ในการคำนวณค่าความเชื่อมั่นนั้น จากกราฟนั้นแสดงการกระจายของ conversion ในส่วนของ Control และ Variance(Treatment) โดยเราให้ conversion ของ Variance เราเป็น p และ ค่า conversion ของ control เป็น pc เราจะได้ค่าดังนี้
ค่าตัวแปรควบคุม
สมมติฐานหลักว่าค่า conversion ของ control นั้นเท่ากันหรือดีกว่า variance
ตามธรรมเนียมแล้ว เราจะยอมรับ Variance หรือ Experiment ก็เมื่อมันสามารถหักล้างสมมติฐานหลักของเราได้นั่นเอง และโดยปกตินั้นเราจะยอมรับการเปลี่ยนแปลงต่างๆเมื่อเรามีความ “เชื่อมั่น” มากพอ ซึ่งปกติทางสถิติเราก็จะใช้ค่าความเชื่อมั่นที่ 95% ในการเอามาสนับสนุนข้อมูล และทฤษฎีของเรานั่นเอง ซึ่งในการที่เราจะสามารถยืนยันว่าข้อมูลของเรานั้นอยู่ในช่วงของความเชื่อมั่นที่ 95% นั้นวิธีที่สนับสนุนให้ทำได้ง่ายที่สุดก็คือ Z-Score นั่นเอง
Standard deviation and Statistical analysis
ซึ่งในการหาค่า Z-Score เพื่อยืนยันสมมติฐานของเรานั้น ก็ใช้สูตรมาตรฐานได้ตามปกติ โดย p => conversion rate ของ experiment, pc => conversion rate ของ control, N => จำนวนตัวอย่างของ experiment, Nc => จำนวนตัวอย่างของ control
โดยในการพิจารณาเพื่อหักล้างสมมติฐานว่า Experiment ของเรานั้นสามารถเพิ่ม conversion ได้ดีว่านั้นก็ขึ้นอยู่กับวิธีการพิจารณาว่าจะทดสอบด้วย Upper-Tailed/ Lower-Tailed/ Two-Tailed ด้วยนะครับ เช่นในกรณีที่เราใช้ Upper-tailed test และ ค่า Z-Score ไม่มากกว่า Critical ก็แสดงว่าอยู่ในระดับความเชื่อมั่นที่เราต้องการแล้วล่ะ
Left : Two-Tailed test Right : Upper tailed test
จะเห็นได้ว่าในการทดสอบ A/B Testing นั้นจริงๆแล้วก็ใช้การทดสอบสมมติฐานด้วยทฤษฎีทางคณิตศาสตร์นั่นเอง แต่ที่เล่ามาทั้งหมดนี้เป็นแค่พื้นฐานของการทำ A/B Testing เท่านั้น แม้ว่าในการใช้งาน A/B Test นั้น เราอาจไม่จำเป็นต้อง Implement ระบบเพื่อทำ A/B Testing เอง แต่เราควรที่จะทำความเข้าใจพื้นฐานความเป็นมา และวิธีในการตรวจสอบ เพราะในการใช้งานจริง เราอาจจะเจอกับ Fake Statistic ที่เป็นการ Abuse เพื่อให้เราได้ในสิ่งที่เราต้องการมากกว่าผลลัพธ์ทางสถิติจริง ถ้าเราไม่ได้มีความเข้าใจ เราจะไม่สามารถทำงานกับ A/B Test ได้อย่างมีประสิทธิภาพครับ
References: