เพราะ Big Data ไม่ใช่แค่การเก็บข้อมูล รองประธาน Agoda เล่าประสบการณ์การใช้ข้อมูลเพื่อการปรับปรุงบริการอย่างเป็นระบบ

2018-08-23

Agoda เป็นบริษัทขนาดใหญ่ที่มีธุรกิจทั่วโลก จากการให้บริการจองที่พักกว่า 2 ล้านรายการทั่วโลก รายการจองต่อปีมากกว่า 7,000 ล้านรายการ ที่หลายคนอาจจะไม่รู้คือ Agoda มีพนักงานทำงานด้านเทคโนโลยีกว่า 1,000 คนจากพนักงานรวม 3,000 คน และพนักงานด้านเทคโนโลยีเหล่านี้เกือบทั้งหมดอยู่ในกรุงเทพฯ ในงาน Blognone Tomorrow คุณ Idan Zalzberg รองประธานฝ่ายข้อมูลของ Agoda ก็มาเล่าถึงกระบวนการใช้ข้อมูลในบริษัทว่าสามารถนำข้อมูลที่ได้มาทำให้เกิดประโยชน์ได้อย่างไร

คุณ Idan เตือนบริษัทที่ต้องการลงทุนในการใช้ข้อมูลว่าการลงทุนเหล่านี้ใช้ระยะเวลากว่าการลงทุนจะเห็นผลที่ชัดเจน ตัว Agoda นั้นมีแนวทางร่วมกันที่จะลงทุนเพื่อใช้ข้อมูลมาพัฒนาบริการในระยะยาว

No Description

บริการแรกที่ Agoda ใช้งานข้อมูลอย่างหนักคือการลงโฆษณาเว็บค้นหาต่างๆ โดยลงโฆษณา 1.5 ล้านแบบต่อวัน สำหรับคำสำคัญ 250 ล้านคำบนเสิร์ชเอนจิน 12 ตัว รวมแล้วระบบประมูลคำค้นหา 1,500 ล้านครั้งต่อวัน โดยมีอัลกอริทึม 14 ตัวทำงานขนานกันที่เพื่อเปรียบเทียบประสิทธิภาพ

อีกส่วนที่หลายคนอาจจะไม่สังเกต คือหน้าเว็บของ Agoda นั้นผ่านการคัดเลือกและปรับปรุงโดยอัลกอริทึมทั้งหมด ตั้งแต่การเลือกภาพที่พัก, การจัดลำดับการค้นหา, ไปจนถึงสถานที่อื่นๆ ที่จะแนะนำให้ผู้ค้นหา เมื่อผู้ใช้กดดูที่พัก การจัดเรียงรูปภาพและการเลือกแสดงคำรีวิวก็ยังถูกจัดอันดับมาตามพฤติกรรมผู้ใช้ ไปจนถึงการแนะนำที่พักอื่นให้ผู้ใช้ กระบวนการเก็บข้อมูลที่มากถึง 5 ล้านรายการต่อวินาที บน Apache Cassandra และใช้ Grafana เพื่อคิวรีและแสดงผล

แต่จุดสำคัญที่สุดคือการทดลอง โดยแต่ละหน้าเว็บที่เราค้นหาจะมีการทดลองอัลกอริทึมหรือการออกแบบเปรียบเทียบกันจำนวนมาก โดยปกติบนเว็บ Agoda มีการทดลองพร้อมๆ กันแต่ละช่วงถึง 800 รายการ และเพียงผู้ใช้เข้าหน้าเว็บหนึ่งๆ ก็จะเห็นการทดลองเปรียบเทียบกันถึง 70 รายการ การเปลี่ยนแปลงต่างๆ ของเว็บจึงถูกยืนยันด้วยผลทดลองมาแล้วทั้งสิ้น

No Description

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

การที่ระบบ analytic ต้องตอบสนองต่อการทดลองต่างๆ ถึง 70 รายการในแต่ละหน้าเว็บ ทำให้ต้องเก็บข้อมูลว่าพฤติกรรมของผู้ใช้ในแต่ละหน้านั้นเป็นผลจากการทดลองใดบ้าง โดยรวมทำให้มีแมสเสจข้อมูล analytic ถึง 400,000 ล้านแมสเสจต่อวัน การตัดสินใจหนึ่งคือการเก็บแมสเสจเหล่านี้ต้องมี schema ทั้งหมดเพื่อให้แน่ใจว่าข้อมูลที่เก็บไปสามารถใช้งานได้จริง โดยภายใน Agoda มีระบบแจ้งเตือนผู้รับผิดชอบเมื่อนักพัฒนาขอแก้ไข schema ของแมสเสจ จะได้มีการตรวจสอบก่อนว่าการเปลี่ยนแปลงนั้นไปขัดกับข้อมูลที่โครงการอื่นๆ ใช้อยู่หรือไม่

นอกจากข้อมูลที่ต้องการเก็บแล้ว สิ่งหนึ่งที่สำคัญคือการเก็บ context ทั้งหมดของเหตุการณ์ในระบบ analytic เพื่อให้สำรวจได้ว่าเกิดอะไรขึ้น เช่น ผู้ใช้มาจากประเทศใด, เขากำลังกดปุ่มหรือดูหน้าใดอยู่, เขากดปุมที่กำลังทดลองจากหน้าไหน การเก็บข้อมูลทั้งหมดทำให้มีข้อมูลทั้งหมดถึง 322 คอลัมภ์

การประมวลผลข้อมูลเหล่านี้อาศัย Hadoop ประมวณผลข้อมูลขนาด 90TB-300TB ส่วนการคิวรีข้อมูลนั้นใช้ ETL ที่พัฒนาต่อจาก Spark เพื่อให้ผู้ใช้สามารถสร้างรายการประมวลผลที่ซับซ้อน และสร้างเงื่อนไขในการแสดงข้อมูลได้ เช่น การทดลองกับกลุ่มผู้ใช้ที่มีพฤติกรรมเฉพาะอย่าง ว่าการเปลี่ยนแปลงฟีเจอร์ในเว็บมีผลกับกลุ่มเป้าหมายจริงหรือไม่

เป้าหมายของ Agoda นั้นจะทำให้ให้ระบบ analytic สามารถรายงานความผิดปกติจากการทดลองได้ด้วยตัวเอง และเชื่อมโยงกับการทดลองต่างๆ มากขึ้น

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