รู้จัก Firebase Predictions ตั้งแต่ Zero จนเป็น Hero

Jirawatee
Firebase Thailand

--

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

Firebase Predictions เป็นเครื่องมือที่ช่วยให้เราสามารถกำหนดและทำนายกลุ่มผู้ใช้งานแอปของเรา ซึ่งอิงจากข้อมูลพฤติกรรมการใช้งานที่ผ่านมา นำมาสร้างเป็น Machine Learning Model โดยมีเบื้องหลังเป็น Google Machine Learning ซึ่งจะช่วยให้เราพยากรณ์พฤติกรรมของผู้ใช้งานและตัดสินใจได้อย่างมีประสิทธิภาพ อีกทั้งสามารถนำข้อมูลเหล่านั้นมาใช้กับ Firebase Notifications, Firebase Remote Config และ A/B Testing

ทั้งนี้ข้อมูลจาก Firebase Predictions ยังอัพเดทให้แบบรายวัน ทำให้เรามั่นใจได้ว่าข้อมูลการทำนายจะเป็นปัจจุบันอยู่เสมอ และที่สำคัญคือมัน…ฟรี! ทั้ง Android และ iOS นะคร้าบ

เริ่มใช้งาน Firebase Predictions

Firebase Predictions นั้นใช้ข้อมูลจาก Google Analytics for Firebase มาใช้ในการทำนายแบบ supervised learning โดยใช้ข้อมูลพฤติกรรมการใช้งานของผู้ใช้ 100 วันก่อนหน้าเข้าไป train และใช้ข้อมูลพฤติกรรมการใช้งาน 2–3 วันก่อนหน้าเข้าไป test ในการทำนายพฤติกรรมในอีก 7 วันข้างหน้า

ดังนั้นถ้าหากใครยังไม่ได้ใช้งาน Google Analytics for Firebase ก็สามารถไปอ่านบทความนี้ได้เลย

ส่วนใครที่ใช้อยู่แล้วก็แสนจะง่ายดาย ด้วยการคลิก YES, I’M IN ที่เมนู Predictions ใน Firebase Console เป็นอันเริ่มใช้งาน

เมื่อเข้ามาในเมนู Predictions ครั้งแรก ก็จะพบการพยากรณ์ที่ Firebase Predictions เตรียมมาให้เราเป็นพื้นฐานแบ่งเป็น 4 กลุ่มด้วยกัน

  1. Churn คือกลุ่มของผู้ใช้ที่ถูกทำนายว่าจะไม่ใช้งานแอปในอีก 7 วันข้างหน้า
  2. Not_Churn คือกลุ่มของผู้ใช้ที่ถูกทำนายว่าจะใช้งานแอปต่อไปในอีก 7 วันข้างหน้า
  3. Spend คือกลุ่มของผู้ใช้ที่ถูกทำนายว่าจะใช้จ่าย in-app purchase ในอีก 7 วันข้างหน้า
  4. Not_Spend คือกลุ่มของผู้ใช้ที่ทำนายว่าจะไม่ใช้จ่าย in-app purchase ในอีก 7 วันข้างหน้า

ถ้าคุณเพิ่งเริ่มใช้งาน จะต้องรอให้ Firebase Predictions ทำการประมวลผลข้อมูลที่มีก่อน จะเห็นว่าสถานะของแต่ละกลุ่มการทำนายคือ กำลังเตรียมข้อมูล

เมื่อ Firebase Predictions ประมวลผลเสร็จเรียบร้อยแล้ว คุณจะได้รับการแจ้งเตือนว่าข้อมูลกลุ่มใดพร้อมใช้งานผ่านทางอีเมล

และเมื่อกลับเข้าไปที่เมนู Predictions ใน Firebase Console ก็จะพบว่าข้อมูลที่ทำนายเสร็จพร้อมใช้งานแล้ว

นอกจากข้อมูล 4 กลุ่มนี้แล้ว Firebase Predictions ก็ยังให้เราสามารถกำหนดกลุ่มที่ต้องการทำนายและสร้างได้เพิ่มอีก 5 กลุ่ม โดยในเมนู Predictions คุณจะเห็นกล่องหน้าตาแบบนี้

ให้กดปุ่ม วัยรุ่นใจร้อนอยากมีเรื่อง(บวก ทันที)

จะเจอ Popup ที่ให้เราระบุได้ว่า จะทำหรือไม่ทำอะไร โดยค่าที่เลือกถัดมาจะเป็น Event ที่เราตั้ง Conversion ไว้แล้ว จากนั้นก็ระบุชื่อของกลุ่มที่เราต้องการทำนาย จากตัวอย่างผมต้องการทราบว่าใครจะ level up ในอีก 7 วันถัดไป เมื่อผมได้ผลการทำนายมาแล้ว ผมอาจยิง Notifications แจ้งถึง item ใหม่ หรือ อาชีพ ใหม่ในเกม เพื่อดึงดูดให้ผู้เล่น รีบปั๊มเวลตัวเอง

การเลือกความแม่นยำจากการทำนาย (Prediction Risk Tolerance)

ในการทำนายพฤติกรรมของผู้ใช้ด้วย Machine Learning นั้น ก็จะมีค่าความแม่นยำมาก, ปานกลาง และ ต่ำ เช่นถ้าเราเลือกข้อมูลการทำนายผู้ใช้ที่จะไม่ใช้แอปเราต่อใน 7 วันข้างหน้า(churn) ที่มีค่าความแม่นยำปานกลาง กลุ่มเป้าหมายจะมีทั้งคนที่จะไม่ใช้แอป และคนที่อาจจะใช้แอปรวมอยู่ด้วย

ซึ่ง Firebase Predictions ให้เราสามารถเลือกความแม่นยำที่ต้องการใช้งานได้ออกเป็น 3 ประเภท

  1. High Risk Tolerance ประเภทนี้ความเสี่ยงสูง กลุ่มผู้ใช้เป้าหมายจะมีขนาดใหญ่ แต่ความแม่นยำก็จะน้อยหน่อย
  2. Medium Risk Tolerance ประเภทนี้ความเสี่ยงปานกลาง กลุ่มผู้ใช้เป้าหมายจะมีขนาดปานกลาง และความแม่นยำปานกลาง
  3. Low Risk Tolerance ประเภทนี้ความเสี่ยงต่ำ เป้าหมายจะมีขนาดเล็ก แต่ความแม่นยำสูง
ตัวอย่างเมื่อเลื่อนตัว toggle ซ้ายขวาเพื่อเลือกความแม่นยำ

ซึ่งเมื่อเราเลือกความแม่นยำที่ต้องการแล้ว จะเห็นว่าตัวเลข % ของกลุ่มเป้าหมายจะเปลี่ยนแปลง และจะเห็นจำนวนตัวเลขของผู้ใช้ที่ถูกกำหนด

ใช้งานกับกลุ่มเป้าหมาย

หลังจากที่เราเลือกกลุ่มการทำนาย และเลือกความแม่นยำที่ต้องการใน Firebase Console แล้ว ก็ถึงเวลาใช้งานจริง โดยให้เรากดปุ่ม TARGET USERS จะพบ Popup ลักษณะนี้ขึ้นมา

จาก Popup นี้เราจะเห็นว่ามีบริการใน Firebase ให้ใช้ 2 ตัวด้วยกันคือ Firebase Remote Config และ Firebase Notifications

การใช้งานร่วมกับ Remote Config

Firebase Predictions และ Firebase Remote Config จะช่วยให้คุณมอบประสบการณ์ที่แตกต่างกันของผู้ใช้งานแอปจากข้อมูลการทำนายพฤติกรรมของผู้ใช้แต่ละคน ตัวอย่างเช่น

  • สำหรับแอปที่มีโฆษณา แอปจะไม่แสดงโฆษณาสำหรับผู้ใช้ที่ถูกทำนายว่าจะใช้จ่าย(Spend) ใน 7 วันข้างหน้า แต่จะแสดงโฆษณาสำหรับผู้ใช้ที่ถูกทำนายว่าจะไม่ใช้จ่ายในแอป(Not_Spend)
  • สำหรับแอปข่าว แอปจะแสดงปุ่มแชร์อย่างโดดเด่นในกรณีที่ข้อมูลผู้ใช้ถูกทำนายว่าจะแชร์ข่าว โดยใช้ข้อมูล “Share” ซึ่งเป็น event จาก Google Analytics for Firebase มาทำการสร้าง Custom Prediction และแสดงปุ่มแชร์ตามปกติสำหรับผู้ใช้ส่วนที่เหลือ
  • สำหรับแอปแนวเกม แอปจะปรับ Level ของเกมจาก High เป็น Medium หรือจาก Medium เป็น Easy สำหรับผู้เล่นที่ถูกทำนายว่าจะไม่ใช้งานแอป(Churn) ในอีก 7 วันข้างหน้า

สำหรับใครที่ยังไม่เคยใช้ Firebase Remote Config แนะนำให้อ่านบทความนี้ก่อน

ขั้นตอนการใช้งานเมื่อเลือก TARGET USERS เป็น Remote Config คุณก็จะพบกับหน้าจอประมาณนี้

ตัวอย่างเลือกข้อมูลผู้ใช้ที่จะไม่ใช้งานต่อใน 7 วันข้างหน้า (Churn)

ให้ระบุชื่อตัวแปร และ Value ที่ต้องการจากนั้นกด Continue จะเจอหน้าจอให้รีวิวตามนี้

ถ้ามั่นใจก็กด Publish ปล่อยคิวต่อได้เลย

เมื่อเสร็จเรียบร้อย ก็จะมีข้อมูลใน Remote Config ให้เราไปใช้ต่อได้ละ

การใช้งานร่วมกับ Notifications

Firebase Predictions และ Firebase Cloud Messaging จะช่วยให้คุณส่งข้อความหาผู้ใช้ของคุณเพื่อส่งเสริมการเพิ่มยอดขาย, เพื่อให้ผู้ใช้ยังคงใช้งานแอป หรือ เพื่อให้เกิดเหตุพฤติกรรมที่คุณต้องการได้ ตัวอย่างเช่น

  • สำหรับแอป commerce เราสามารถส่งข้อความโปรโมชันให้กับผู้ใช้ที่ถูกทำนายว่าจะไม่ใช้จ่าย หรือจะไม่ใช้งานแอปของเราในอีก 7 วันข้างหน้า (Churn) เพื่อกระตุ้นให้ผู้ใช้ใช้จ่ายหรือใช้งานแอปต่อไป
  • สำหรับแอปข่าว เราสามารถส่งข้อความข่าวที่มีผู้ชมสูงสุดในรอบ 24 ชม. ไปให้กลุ่มผู้ใช้ที่ถูกทำนายว่าจะแชร์ข่าว โดยใช้ข้อมูล “Share” ซึ่งเป็น event จาก Google Analytics for Firebase มาทำการสร้าง Custom Prediction

สำหรับใครที่ยังไม่เคยใช้งาน Firebase Cloud Messaging แนะนำให้อ่านบทความนี้ก่อนครับ

ขั้นตอนการใช้งานเมื่อเลือก TARGET USERS เป็น Notifications คุณก็จะพบกับหน้าจอระบุรายละเอียดเพื่อยิง notification ซึ่งในส่วนของ Target audience ก็จะมีกลุ่มของผู้ใช้ที่ถูกทำนายว่าจะไม่ใช้งานแอปเราในอีก 7 วันข้างหน้า(Churn) ขึ้นมา

ที่เหลือก็ระบุค่าต่างๆที่ต้องการส่งข้อความก็เป็นอันว่าเรียบร้อย

การใช้งานร่วมกับ A/B Testing

Firebase Predictions และ Firebase A/B Testing จะช่วยเลือกกลุ่มเป้าหมายที่ถูกทำนาย ในการทดลองที่มีตัวแปรต้นตั้งแต่ 2 ตัวขึ้นไปได้ ตัวอย่างเช่น

  • สำหรับแอป commerce เราสามารถทำ A/B Testing กับผลิตภัณฑ์ที่เราจะทำโปรโมชันโดยแบ่งโปรโมชันเป็น 2 แบบ(Variant) สำหรับผู้ใช้ที่ถูกทำนายว่าจะใช้จ่ายในแอปในอีก 7 วันข้างหน้า(Spend) เพื่อดูว่าโปรโมชันแบบไหนจะถูกใจผู้ใช้มากกว่ากัน

สำหรับใครที่ยังไม่รู้จัก Firebase A/B Testing ก็แนะนำให้ไปอ่านบทความของคุณ Nui.swift ได้ที่นี่ครับ

ส่งท้ายบทความ

วันที่เขียนบทความนี้ Firebase Predictions ก็ยังอยู่ในสถานะ Beta ซึ่งทีม Firebase ก็กำลังพัฒนาและปรับปรุงอยู่อย่างต่อเนื่อง เชื่อว่าเมื่อเข้าสู่สถานะ GA น่าจะมี surprise อีกก็เป็นได้ และถ้านักพัฒนาท่านใดมีคำถาม, ข้อเสนอแนะ หรือแจ้ง bugs ก็สามารถส่งไปที่ทีม Firebase ได้ที่ https://firebase.google.com/support/ ขอให้สนุกกับการเป็นเทพธิดาพยากรณ์กันทุกคนนะจ๊ะ สวัสดีปีใหม่ 2018 จ้า

--

--

Jirawatee
Firebase Thailand

Technology Evangelist at LINE Thailand / Google Developer Expert in Firebase