Home Management เปิดเทคนิคดึงดูดลูกค้าในแบบ Netflix

เปิดเทคนิคดึงดูดลูกค้าในแบบ Netflix

การแพร่ระบาดของเชื้อไวรัสโคโรนาสายพันธุ์ใหม่ที่ทำให้เกิดโรคโควิด-19 ไม่เพียงแค่ส่งผลกระทบโดยตรงต่อการใช้ชีวิตของคนทั่วโลก แต่ยังส่งผลให้เศรษฐกิจชะลอตัวลงอย่างหลีกเลี่ยงไม่ได้ สร้างแรงสั่นสะเทือนต่อบริษัทยักษ์ใหญ่เป็นจำนวนไม่น้อย แต่ในทางกลับกัน Platform Streaming ชื่อดังอย่างเน็ตฟลิกซ์ (Netflix) กลับมียอดสมาชิกเพิ่มขึ้นถึง 15.77 ล้านคน และมีรายได้รวมเพิ่มขึ้นถึง 27.6% เมื่อเทียบกับช่วงเดียวกันของปีที่แล้ว

นั่นเป็นเพราะเน็ตฟลิกซ์ได้ใช้เทคนิคทางด้านวิทยาศาสตร์ข้อมูล (Data Science) เข้ามาเกี่ยวข้อง โดยเน็ตฟลิกซ์กล่าวว่า “More than 80% of what people watch comes from our recommendation.” ซึ่งถือว่าเป็นตัวเลขที่สูงมากๆ บทความนี้จะอธิบายเกี่ยวกับการใช้ Big Data ของเน็ตฟลิกซ์ ที่ทำให้เน็ตฟลิกซ์กลายเป็นระบบ streaming เบอร์ 1 ของโลกในยุคปัจจุบัน

ในปี พ.ศ.2549 ที่บริษัทได้เริ่มเปิดตัวในสหรัฐอเมริกานั้น เน็ตฟลิกซ์มีจำนวนสมาชิกทั้งสิ้นประมาณ 6 ล้านคน ก่อนจะเพิ่มจำนวนเป็นกว่า 100 ล้านในปี พ.ศ.2560 และให้บริการในกว่า 190 ประเทศ ถ้าคิดเป็นค่าเฉลี่ยแล้ว เน็ตฟลิกซ์จะมีสมาชิกหน้าใหม่ปีละ 8.5 ล้าน ซึ่งเป็นการเติบโตที่รวดเร็วมาก และผมเองก็เป็นหนึ่งในลูกค้าของเน็ตฟลิกซ์เหมือนกัน

ไม่รู้ว่าคนส่วนใหญ่จะเป็นเช่นเดียวกันหรือไม่ ที่น้อยครั้งมากที่จะมานั่งหาชื่อหนังที่จะดูโดยการพิมพ์ชื่อหนังเอาเองในช่องค้นหา เพราะโดยส่วนใหญ่แล้ว ถ้าอยากจะดูหนังอะไรสักเรื่อง ก็มักจะเลือกดูจากลิสต์หนังที่ทางเน็ตฟลิกซ์แนะนำมาให้ในหน้า Home ซึ่งทุกครั้งก็มักจะได้หนัง หรือ ซีรีย์ที่สนุก ถูกใจจากลิสต์หนังพวกนั้นนี่แหละ

การที่จะแนะนำหนังให้ถูกใจลูกค้าไม่ใช่เรื่องง่าย เพราะถึงแม้จะมีทฤษฎีที่บอกว่า คนที่มีลักษณะทางประชากรคล้าย ๆ กันจะชอบอะไรคล้าย ๆ กัน แต่นั่นก็ไม่เสมอไป เพราะแต่ละคนก็จะมีความ Unique หรือเอกลักษณ์ รสนิยมของแต่ละบุคคล ด้วยเหตุนี้เน็ตฟลิกซ์เลยวางระบบ Personalize ที่ unique ของแต่ละสมาชิก ซึ่งแต่ละ Profile ของเน็ตฟลิกซ์จะเห็นอะไรที่แตกต่างกัน และแน่นอนว่าผมไม่ได้กำลังพูดถึงแต่ลิสต์ของหนังที่แตกต่างกัน สิ่งที่แตกต่างกันยังมี

การจัดลำดับ (Ranking) การเรียงหนัง ของแต่ละสมาชิกจะแตกต่างกัน โดยที่จะวางหนังที่คิดว่าสมาชิกนี้จะชอบที่สุดไว้ทางด้านซ้าย

การวางโครงสร้าง (Structure) ของหน้าจอ จากบนลงล่าง จะมี Section ของหนังที่แตกต่างกัน

การปรับงานศิลป์ให้ถูกจริตส่วนบุคคล (Personalized Artwork) กล่าวคือ แม้แต่ภาพประกอบ ก็มีการ Personalize เคยสังเกตไหมว่า หน้าปกของหนังที่เราดูจะมีความแตกต่างกันบางครั้ง และหน้าปกติใน profile ของเพื่อนมันแตกต่างกัน นั่นแหละเพราะ Netflix มองว่าหน้าปกของหนังส่งผลต่อการตัดสินใจกับการดูของลูกค้า และลูกค้าแต่ละคนชอบปกหนังแตกต่างกัน ดังนั้นเน็ตฟลิกซ์พยายามเลือก Artwork ของปกหนังที่คิดว่าลูกค้าจะชอบที่สุด

เนื้อหาคัดสรรสำหรับคุณ” ข้อความที่เด้งขึ้นมาในการแจ้งเตือนของเน็ตฟลิกซ์ ก็เป็นการวิเคราะห์จาก Big Data ของหนังที่สมาชิกคนนั้นเคยดู และเพื่อเลือกหนังที่คาดว่าจะถูกใจสมาชิกคนนั้น ๆ

Trending Now ของประเทศนั้น ๆ เพื่อแสดงให้เห็นว่า Community หรือสังคมนั้น ๆ กำลังนิยมรับชมอะไรกันอยู่บ้าง

จุดมุ่งหมายของระบบ Personalization หรือ Recommender System ของเน็ตฟลิกซ์คือเพื่อเพิ่มความพึงพอใจของสมาชิก โดยการช่วยสมาชิกค้นหาหนังที่ตัวจะชอบ ซึ่งระบบนี้มันซับซ้อนกว่าที่เราคิด เพราะการที่จะวางโครงสร้างของแพลตฟอร์มให้สามารถเก็บข้อมูล สร้างระบบ Machine learning และทำการ Deploy ได้นั้นไม่ใช่เรื่องง่าย และหนึ่งในอุปสรรคที่ใหญ่คือเรื่องของเวลา

อุปสรรคที่ใหญ่ของการพัฒนาระบบ Personalization หรือ Recommender System คือเรื่องของเวลา

เวลาทำให้อะไรหลาย ๆ อย่างไม่แน่นอน ยกตัวอย่างเช่น พฤติกรรรมการดูหนังของสมาชิก ดังนั้นการวางระบบ Personalize ให้ปรับตามการเปลี่ยนแปลงต่าง ๆ บนแพลตฟอร์มของเน็ตฟลิกซ์ถือเป็นโจทย์ที่ใหญ่ เน็ตฟลิกซ์ได้วางระบบที่จะมีการทดสอบโมเดลในออฟไลน์ ตามมาด้วย A/B Testing บนออนไลน์ การทำ A/B Testing เป็นกระบวนการที่ทดสอบว่า สมาชิกจะชอบการแนะนำหนังแบบไหน ภาพประกอบแบบไหนมากที่สุด เพื่อนำมาปรับปรุงตัวโมเดลเรื่อย ๆ หลังจากใช้งานจริง

เน็ตฟลิกซ์ให้ความสำคัญกับความเชื่อถือได้ (Reliability) ของโมเดล ขณะที่ Offline Model ต้องทดสอบอย่างเชื่อถือได้นั้น Online Model ก็ต้องแสดงผลอย่างเชื่อถือได้เช่นกัน การฝึกซ้ำ (Retraining) ของโมเดลต้องทำได้โดยอัตโนมัติ และสามารถทดสอบซ้ำได้เรื่อย ๆ

โมเดลในฝั่งออฟไลน์

แน่นอนว่าเวลาอาจทำให้ข้อมูลมีการเปลี่ยนแปลงโดยฉับพลัน หรืออาจมีปัญหาทางเทคนิคในขั้นตอนเก็บข้อมูล ซึ่งสองปัญหานี้จะส่งผลกับการแสดงผลของโมเดลเป็นแน่ ดังนั้นระบบในการตรวจจับปัญหาเป็นสิ่งที่จำเป็น เพื่อป้องกันไม่ให้โมเดลที่มีการแสดงผลต่ำถูกเลือกมาใช้บนแพลตฟอร์ม หนึ่งในระบบนี้ของเน็ตฟลิกซ์ใช้ Anomaly Detection เพื่อตรวจจับความผิดปกติในชุดข้อมูลที่นำมาใช้พัฒนาโมเดล

จากภาพจะเห็นได้ชัดว่า จำนวนตัวอย่างที่ใช้ Train ตกลงจนผิดปกติในบริเวณที่วงสีแดงไว้ เมื่อเกิดเหตุเช่นนี้ ระบบ Anomaly Detection ของเน็ตฟลิกซ์จะส่งสัญญาณเตือน และหยุดการเผยแพร่ (Publish) ไว้ก่อน นอกจากตัวอย่างนี้แล้ว ยังมีตัวอย่างอื่นอีกมากมายในส่วนของการ Training ในฝั่งออฟไลน์ เช่น การ Train โมเดลจากการสุ่มที่หลากหลาย เพื่อป้องกันการ Overfit ที่หมายถึงตัวแบบที่ได้เป็นการเรียนรู้ข้อมูลจาก Training Data set ดีมาก แต่ไม่สามารถนำไปใช้กับข้อมูลที่ไม่เคยพบมาก่อนได้ดี

โมเดลในฝั่งออนไลน์

ในฝั่งของด้านออนไลน์นั้น การตรวจสอบความผิดพลาดเป็นส่วนสำคัญ เพราะมันคือสิ่งที่ลูกค้าจะเห็น และเน็ตฟลิกซ์ได้ทำการเช็คค่าที่ควรจะคงที่ ยกตัวอย่างเช่น ค่าความน่าจะเป็น (Probability) ที่ไม่ควรมากกว่า 1 หรือในกรณีที่ Output ของโมเดลเป็น NaN หรือ infinity ซึ่งกรณีพวกนี้จะเกิดขึ้นได้ โดยการมี Unexpected Change, Bad Assumption หรือ Engineering Issue ดังนั้นจึงควรต้องมีการตั้งเงื่อนไขเพื่อป้องกันการนำโมเดลที่มีข้อบกพร่องไปใช้กับลูกค้า

หลังจากนั้น ส่วนหลักจะเป็นการเก็บผลลัพธ์ดูว่าตัวโมเดลที่เน็ตฟลิกซ์ได้ Deploy ไปนั้นดีแค่ไหน โดยการดูว่าสิ่งที่แนะนำไปสมาชิกถูกใจหรือเปล่า เมื่อเก็บผลมาได้แล้ว ก็จะมา Evaluate ตัวโมเดลกัน ซึ่งหากโมเดลปัจจุบันไม่สามารถทำงานได้ดี จะได้ดำเนินการแก้ไข เช่น การดึงโมเดลตัวเก่ามาใช้ไปพลาง แล้วค่อยหาสาเหตุว่าทำไมโมเดลถึงมี Performance ที่ต่ำลง อาจเป็นเพราะข้อมูลที่ใช้ Train มีการเปลี่ยนแปลง หรือข้อมูลที่ใช้ Train มีอายุที่เก่าเกินไปสำหรับพฤติกรรมการดูในปัจจุบัน จากตัวอย่างนี้จะเห็นได้ชัดว่า เน็ตฟลิกซ์ได้มีการวางแผนที่รอบคอบในการป้องกันความผิดพลาดเชิงเทคนิคต่าง ๆ ที่อาจเกิดขึ้นเมื่อไรก็ได้

การใช้ข้อมูลทำให้เน็ตฟลิกซ์ทราบว่าควรผลิต Content หรือออก Promotion อะไร

การใช้ข้อมูลให้เกิดผลประโยชน์มากที่สุด เป็นสิ่งที่เน็ตฟลิกซ์กำลังทำ และทำได้ดีอีกด้วย การใช้ข้อมูลของเน็ตฟลิกซ์ไม่ได้แค่สร้างความพึงพอใจให้กับสมาชิก แต่ยังสามารถทราบได้ว่าควรจะสร้างเนื้อหา (Content) หนังอะไร หรือออกโปรโมชั่นต่าง ๆ ที่เกี่ยวข้องกับแพลตฟอร์ม แน่นอนว่าตอนนี้หลาย ๆ บริษัท หลาย ๆ วงการเริ่มใช้ข้อมูลในการประกอบการตัดสินใจต่าง ๆ ถ้าเพื่อน ๆ ยังไม่สามารถใช้ข้อมูลให้เกิดประโยชน์มากที่สุดโดยเร็ว อาจเสียเปรียบให้กับคู่แข่งที่เล็งเห็นการใช้ข้อมูลให้เกิดประโยชน์ก็เป็นได้

………………………………………………………………………………………………………………

บทความโดย นายอรรถวิท ตุลยธัญ สถาบันส่งเสริมการวิเคราะห์และบริหารข้อมูลขนาดใหญ่ภาครัฐสำนักงานส่งเสริมเศรษฐกิจดิจิทัล และwww.depa.or.th บทความนี้ได้รับการเผยแพร่ครั้งแรกที่ BigData.go.th เว็บไซต์เพื่อการแบ่งปันความรู้และส่งเสริมการใช้ประโยชน์จากการวิเคราะห์ข้อมูลขนาดใหญ่ (Big Data Analytic