A/B and How to Be

zkan
Tue, 13 Dec 2022 12:20:26 +0000
97 Things Every Data Engineer Should Know

โดย Sonia Mehta

A/B testing หลัก ๆ แล้วเป็นวิธีการ หรือ experiment ในการเปรียบเทียบของระหว่าง 2 เวอร์ชั่น แล้วดูว่าเวอร์ชั่นไหนที่ทำงานได้ดีกว่า หรือมีประสิทธิภาพดีกว่า ซึ่งไม่ว่าจะเป็นด้วยขนาด และรูปแบบของ experiment ที่ทำแล้ว ศาสตร์ด้าน data engineering ก็มักจะมีส่วนร่วมในทุก ๆ สิ่งตั้งแต่การเตรียมจนไปถึงการติดตามวิเคราะห์ผลที่ออกมา

ในเรื่องนี้เราก็ควรที่จะดูด้วยว่ามีเครื่องมือตัวไหนที่ตอบโจทย์ในการทำ experiment ของเราบ้าง หรือเราจะพัฒนา in-house solution ขึ้นมาเอง ตรงนี้มีความสำคัญมากที่เราจะต้องมาดู พูดคุย ตกลงร่วมกันว่าเราจะนำเอาไปเก็บข้อมูล และทำ experiment กันอย่างไร

ในการตรวจสอบพวกค่า metrics ต่าง ๆ ในการทำ experiment ปัญหาที่เราจะต้องดูก็จะมีพวก sample sizes, start and stop dates, user in both groups หรือ context-specific restrictions

ถ้าเมื่อไหร่ก็ตามมีการเปลี่ยนแปลงเกิดขึ้นกับกระบวนการ experiment ของเราในฝั่ง backend เราก็อาจจะต้องทำ A/A test ก่อน เพื่อให้แน่ใจว่าที่เราเตรียมมา และการเก็บข้อมูล มีความถูกต้องตามที่เราคาดไว้ ก่อนที่จะรัน A/B test ต่อ

ตอนที่เราทำ experiment ก็ให้คาดหวังไว้เลยว่าจะ fail ซึ่ง Netflix ก็บอกไว้ว่า 90% แหละ ผิดแน่ ๆ และให้เราคาดหวังว่าจะมีคำถามมากมายจากสิ่งที่เกิดขึ้น ทั้งในเรื่องความแม่นยำ และการเก็บข้อมูล ยิ่งถ้าเราเห็นว่ามีผลลัพธ์ที่ดีมาก ๆ ก็ยิ่งต้องสงสัยไว้ก่อนเลย และให้ลองประเมินผลลัพธ์ใหม่ หรือไม่ก็ไปทดสอบเพิ่มเติมใหม่อีกรอบทั้งหมด