การทำ Customer Targeting ด้วย Causal Inference Uplift Model

สวัสดีค่ะทุกท่าน สำหรับบทความนี้จะเป็นภาคต่อของบทความ “การทำ Customer Targeting ด้วยหลักการ Causal Inference ML” https://everydaymarketing.co/knowledge/customer-targeting-causal-ml/ ที่จะพาเจาะลึกลงไปอีกถึงรายละเอียดของกาทำ Customer Targeting เพื่อการส่งเสริมการขายที่ตรงเป้าหมาย ซึ่งเป็นสิ่งสำคัญที่จะช่วยเพิ่มผลลัพธ์และประสิทธิภาพในการลงทุน (ROI) ขอแบรนด์ ซึ่งจะมาเล่าต่อในส่วนของเครื่องมือที่ทรงพลังซึ่งสามารถช่วยให้เราสามารถตัดสินใจได้ว่าจะส่งข้อเสนอหรือโปรโมชั่นไปยังกลุ่มลูกค้าคนไหนดี ซึ่งคือ Uplift Modeling โดยเฉพาะ Uplift Trees ซึ่งถูกออกแบบมาเพื่อระบุว่าการตลาด เช่น คูปองหรือโปรโมชั่น จะสร้างผลกระทบเชิงบวกให้กับลูกค้าอย่างไร

ในการสร้างแบบจำลอง Uplift มีสองเทคนิคหลักที่ใช้กันอย่างแพร่หลาย ได้แก่ Meta-Learners และ Tree-based Methods ซึ่งแต่ละวิธีต่างก็มีจุดเด่น และการประยุกต์ใช้ที่แตกต่างกันไปตามวัตถุประสงค์ และข้อมูลที่มีอยู่ของแบรนด์ โดยแต่ละเทคนิคมีรายละเอียดดังนี้ค่ะ

1.1 Meta-Learners

Meta-Learners เป็นหนึ่งในวิธีที่ใช้ในงาน Uplift Modeling ที่มีประสิทธิภาพโดยมีแนวคิดหลักคือการนำ Forecasting Model ที่มีอยู่แล้ว เช่น Logistic regression หรือ Clustering ต่างๆ มาทำงานในลักษณะคู่ขนานกันเพื่อเปรียบเทียบผลลัพธ์ของลูกค้าที่ได้รับแคมเปญการตลาดและกลุ่มที่ไม่ได้รับ

โดยหลักการทำงานของ Meta-Learners คือการสร้างโมเดลสองชุดขึ้นมา หนึ่งชุดสำหรับทำนายผลลัพธ์ของกลุ่มที่ได้รับการTreated (หมายถึงกลุ่มที่เราทำการตลาดด้วยนั้นเองค่ะ) และอีกชุดสำหรับกลุ่มที่ไม่ได้รับการ Treated ซึ่งคือกลุ่ม Control นั่นเองค่ะ จากนั้นเราจะเปรียบเทียบผลลัพธ์ของโมเดลทั้งสอง เพื่อดูว่าใครมีแนวโน้มที่จะตอบสนองต่อการ Treat ในทางบวกมากที่สุด

การทำ Customer Targeting ด้วย Causal Inference Uplift Model
source: sklearn uplift 0.5.1

ขั้นตอนการทำงานของ Meta-Learners

  1. แยกกลุ่ม Treated และกลุ่มควบคุม: ในการทำงาน Meta-Learners จะทำการแยกกลุ่มลูกค้าที่ได้รับการ  Treat เช่น การได้รับคูปอง หรือโปรโมชั่น กับลูกค้าที่ไม่ได้รับการ Treat เพื่อให้สามารถวิเคราะห์ความแตกต่างระหว่างทั้งสองกลุ่มได้
  2. การทำนายผลลัพธ์: สร้างโมเดลทำนายผลลัพธ์สำหรับแต่ละกลุ่ม เช่น ทำนายว่าลูกค้าจะทำการซื้อสินค้าหรือไม่หลังจากได้รับการ Treat หรือในกรณีของกลุ่มควบคุม โมเดลจะทำนายว่าจะมีการซื้อเกิดขึ้นหรือไม่แม้ไม่ได้รับการTreat
  3. คำนวณ Uplift Score: นำผลลัพธ์จากโมเดลทั้งสองมาคำนวณหาค่าความแตกต่าง (Uplift) โดยสูตรคือ:

Uplift=P(Treated)−P(Control)Uplift = P(Treated) – P(Control)Uplift=P(Treated)−P(Control)

ค่า Uplift นี้จะแสดงให้เห็นว่าลูกค้ารายนั้นมีความน่าจะเป็นที่จะตอบสนองต่อการ Treat ในทางบวกมากน้อยเพียงใด ซึ่งหากค่าความแตกต่างเป็นบวก แสดงว่าลูกค้ารายนั้นมีโอกาสตอบสนองได้ดีค่ะ

ข้อดีของ Meta-Learners

  • ความเรียบง่าย: วิธีนี้ไม่ซับซ้อนและสามารถประยุกต์ใช้กับข้อมูลประเภทต่างๆ ได้ง่าย
  • ประยุกต์ใช้ได้หลากหลาย: เนื่องจากใช้โมเดลที่มีอยู่แล้ว ทำให้สามารถใช้งานได้กับโมเดลทำนายผลลัพธ์หลายประเภท เช่น Logistic Regression, Random Forest, หรือ Gradient Boosting

ข้อเสียของ Meta-Learners

  • ประสิทธิภาพในการจัดการข้อมูลหลายกลุ่ม: Meta-Learners มักจะเหมาะกับกรณีที่มีเพียงสองกลุ่ม (Treated และ Control) แต่ถ้าต้องการวิเคราะห์การรักษาหลายกลุ่ม เช่น การเปรียบเทียบโปรโมชั่นหลายแบบ วิธีนี้จะซับซ้อนและอาจไม่เหมาะสม

1.2 Tree-based Methods

Tree-based Methods หรือการใช้ Decision Tree เช่น Uplift Trees และ Uplift Random Forests เป็นแนวทางที่ออกแบบมาเฉพาะสำหรับการสร้างแบบจำลอง Uplift ซึ่งวิธีการนี้จะใช้โครงสร้างต้นไม้ที่มีการแบ่งโหนดตามฟีเจอร์ต่างๆ เพื่อให้สามารถแยกกลุ่มลูกค้าที่ได้รับ Treat และกลุ่มควบคุมได้อย่างมีประสิทธิภาพ

หลักการทำงานของ Tree-based Methods

  1. สร้างโครงสร้างต้นไม้: โมเดลจะถูกสร้างขึ้นโดยการเลือกฟีเจอร์ที่ทำให้เกิดการแยกที่ดีที่สุด เช่น อายุ สถานที่ หรือพฤติกรรมการซื้อ เพื่อสร้างโหนดที่สามารถแบ่งกลุ่มลูกค้าได้
  2. การแยกโหนดด้วยเกณฑ์เฉพาะ: ในการแบ่งโหนดของ Uplift Trees จะใช้ตัวชี้วัดทางสถิติเช่น Kullback-Leibler Divergence หรือ Euclidean Distance เพื่อวัดความแตกต่างระหว่างกลุ่มที่ได้รับการ Treat และกลุ่มควบคุม
  3. การสร้างกลุ่มเป้าหมาย: เมื่อต้นไม้ถูกสร้างขึ้นแล้ว จะสามารถใช้ข้อมูลจากโหนดต่างๆ ในการระบุกลุ่มลูกค้าที่มีแนวโน้มจะตอบสนองต่อการ Treat ได้ดีที่สุด โดยการวิเคราะห์การแยกของแต่ละโหนด

ข้อดีของ Tree-based Methods

  • จัดการข้อมูลหลายกลุ่มได้ดี: Tree-based Methods เหมาะสำหรับการวิเคราะห์ที่มีการ Treat หลายประเภทพร้อมกัน เช่น การเปรียบเทียบโปรโมชั่นหลายแบบ หรือการวิเคราะห์ประสิทธิภาพของการตลาดหลายช่องทาง
  • ใช้งานได้ในธุรกิจจริง: วิธีนี้มีความยืดหยุ่นสูงและใช้งานได้ง่าย ทำให้เหมาะสำหรับการนำไปประยุกต์ใช้ในธุรกิจจริงที่ต้องการตัดสินใจทางการตลาดอย่างแม่นยำ

ข้อเสียของ Tree-based Methods

  • ซับซ้อนกว่า Meta-Learners: การสร้างและโมเดลสำหรับ Uplift Modeling มีความซับซ้อนกว่าวิธี Meta-Learners และอาจต้องการข้อมูลจำนวนมากเพื่อเพิ่มความแม่นยำ

สรุปความแตกต่างของ Meta-Learners และ Tree-based Methods มีดังนี้ค่ะ

  • Meta-Learners เหมาะกับการวิเคราะห์ข้อมูลที่มีการทำการตลาด (Treat) เพียงไม่กี่กลุ่มและสามารถใช้งานได้ง่าย ในขณะที่ Tree-based Methods เหมาะกับการวิเคราะห์ที่ซับซ้อนและต้องการการจัดการข้อมูลหลายกลุ่มพร้อมกัน
  • Meta-Learners เน้นการคาดการณ์ผลลัพธ์จากข้อมูลที่มีอยู่ ส่วน Tree-based Methods เน้นการสร้างโครงสร้างการตัดสินใจที่สามารถระบุกลุ่มเป้าหมายได้อย่างมีประสิทธิภาพ

ซึ่งทั้งสองวิธีนี้เป็นเครื่องมือที่มีประสิทธิภาพในงาน Uplift Modeling โดยสามารถเลือกใช้ตามลักษณะของข้อมูลและความต้องการในธุรกิจของเราได้เลยค่ะ^^

หลังจากที่เราเข้าใจในหลักการของเทคนิค Meta-Learners และ Tree-based Methods กันแล้ว ในบทความนี้จะเจาะลึกไปที่หลักการแบบ Tree-based Methods กันค่ะ เพราะในยุคปัจจุบันการวิเคราะห์ข้อมูลแคมเปญการตลาดผ่านช่องทางต่างๆ มีความซับซ้อนมากยิ่งขึ้น

ดังนั้นเราจะมาพิจารณาเปรียบเทียบรายละเอียด Traditional Decision Trees และ Uplift Trees เป็นสิ่งสำคัญที่จะช่วยให้เราเข้าใจถึงวิธีการทำงานและความแตกต่างในแง่ของการวิเคราะห์เชิงสาเหตุ (causal analysis) ในงานการตลาดหรือธุรกิจที่เกี่ยวข้องกับการจัดการ Treat ลูกค้า โดยที่การ Treat ในบทความนี้จะหมายถึงการให้โปรโมชั่น/โฆษณา หรือข้อเสนอพิเศษให้กับลูกค้าค่ะ

2.1 Traditional Decision Trees

Traditional Decision Trees เป็นอัลกอริทึมที่ใช้กันอย่างแพร่หลายสำหรับการทำนายผลลัพธ์ เช่น การทำนายว่าลูกค้าจะซื้อสินค้าหรือไม่ (Classification) หรือลูกค้าจะทำการตอบสนองอย่างไรต่อแคมเปญใดๆ (Regression)

โดยหลักการทำงานของ Traditional Decision Trees คือการแบ่งข้อมูลออกเป็นโหนด (nodes) โดยใช้ฟีเจอร์ที่ทำให้เกิดการแยกข้อมูลที่เหมาะสมที่สุด

ตัวอย่างวิธีการทำงานของ Traditional Decision Trees
  1. การสร้างโครงสร้างของ Tree
    โดย Tree จะเริ่มต้นด้วยโหนดหลัก (root node) ซึ่งข้อมูลทั้งหมดอยู่ในโหนดนี้ หลังจากนั้น Tree จะเลือกฟีเจอร์ที่ดีที่สุดในการแยกข้อมูลออกเป็นสองกลุ่ม โดยวัดจากเกณฑ์เช่น Gini Impurity หรือ Entropy เพื่อประเมินว่าฟีเจอร์ใดทำให้เกิดการแยกข้อมูลที่ชัดเจนที่สุด
  2. การใช้ฟีเจอร์ในการแยกข้อมูล
    แต่ละฟีเจอร์ (เช่น อายุ, รายได้, สถานที่) จะถูกประเมินว่าเหมาะสมในการแบ่งข้อมูลหรือไม่ ตัวอย่างเช่น หากต้องการทำนายว่าลูกค้าจะซื้อสินค้าหรือไม่ ฟีเจอร์เช่น “อายุ” หรือ “รายได้” อาจถูกใช้ในการแบ่งกลุ่มเพื่อสร้างโหนดใหม่
ตัวชี้วัดการแยก (Splitting Criteria)

ในการเลือกฟีเจอร์สำหรับแบ่งข้อมูลตัวโมเดล Traditional Decision Trees  จะใช้ตัวชี้วัดดังนี้ค่ะ

  • Gini Impurity: เป็นค่าที่ใช้วัดว่าข้อมูลในแต่ละกลุ่มที่ถูกแบ่งออกมามี ” Impurity ” มากแค่ไหน ยิ่งโหนดที่ถูกแบ่งมีการแยกที่ชัดเจนมากเท่าไร ค่า Impurity ก็จะยิ่งต่ำลง ตัวอย่างเช่น หากมีการแยกที่สมบูรณ์แบบ (ทุกคนในโหนดเดียวกันซื้อสินค้า หรือทุกคนในอีกโหนดไม่ซื้อสินค้า) ค่า Gini จะเท่ากับ 0
  • Entropy: ใช้ใน Tree ที่มุ่งเน้นการจำแนกข้อมูลให้มีการกระจายตัวน้อยที่สุด การแยกฟีเจอร์ที่ลดค่า entropy ลงได้มากที่สุดจะถูกเลือกเพื่อสร้างโหนดใหม่
ตัวอย่างการวัดผลการแยก

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

ยังไม่สับสนกันใช่ไหมคะ,,,, ไปต่อที่ Uplift Trees กันค่ะ >>

2.2 Uplift Trees

ซึ่ง Uplift Trees จะเป็นการขยายแนวคิดของ Traditional Decision Trees  โดยเน้นไปที่การวิเคราะห์เชิงสาเหตุ (causal analysis) เพื่อระบุว่าลูกค้าคนไหนมีแนวโน้มที่จะได้รับผลกระทบเชิงบวกจากการรักษา (treatment) เช่น การส่งคูปองหรือการเห็นโฆษณา เป้าหมายของ Uplift Trees คือการเพิ่ม “การยกระดับ” (Uplift) ในการตัดสินใจของลูกค้า ซึ่งก็คือการเพิ่มความแตกต่างระหว่างอัตราการซื้อของกลุ่มที่ได้รับการทำการตลาดหรือ Treated กับกลุ่มที่ไม่ได้รับค่ะ

หลักการทำงานของ Uplift Trees
  1. การสร้างโครงสร้าง Trees ที่แตกต่างจาก Traditional Decision Trees 
    ในขณะที่ Traditional Decision Trees  มุ่งเน้นไปที่การแบ่งกลุ่มเพื่อทำนายผลลัพธ์ (เช่น การซื้อสินค้า) Uplift Trees จะเน้นไปที่การเปรียบเทียบผลลัพธ์ระหว่างกลุ่มที่ได้รับการ Treat (เช่น กลุ่มลูกค้าที่ได้รับคูปอง) และกลุ่มควบคุม ทั้งนี้ เพื่อระบุว่าฟีเจอร์ใดมีผลต่อการตัดสินใจของลูกค้ามากที่สุด
  2. การแบ่งโหนดตามเกณฑ์การแยกทางสถิติ
    ในการสร้างโหนด Uplift Trees จะใช้เกณฑ์การแยกที่เฉพาะเจาะจงมากกว่า เช่น ระยะทางแบบยุคลิด (Euclidean Distance) หรือ การแยกทาง Kullback-Leibler (KL Divergence) ซึ่งใช้ในการวัดความแตกต่างระหว่างการกระจายตัวของกลุ่มการ Treated และกลุ่มควบคุม
  3. การกำหนดเป้าหมายกลุ่มที่ได้รับประโยชน์จากการรักษา
    Uplift Tree จะสามารถระบุได้ว่าใครควรได้รับการ Treat โดยดูจาก Uplift Score ที่คำนวณได้จากความแตกต่างระหว่างอัตราการซื้อของกลุ่มที่ได้รับการรักษากับกลุ่มควบคุม โหนดที่มีความแตกต่างสูงสุดจะถูกเลือกให้เป็นกลุ่มเป้าหมาย
ตัวชี้วัดการแยกใน Uplift Trees

แทนที่เราจะใช้ Gini Impurity หรือ Entropy ในการแบ่งโหนด Uplift Trees จะใช้เกณฑ์การแยกที่ช่วยให้เห็นความแตกต่างระหว่างกลุ่ม Treated และกลุ่มควบคุมได้ชัดเจน ดังนี้ค่ะ

  • Euclidean Distance: วัดระยะทางระหว่างความน่าจะเป็นของการซื้อในกลุ่ม Treated และกลุ่มควบคุม ยิ่งค่าระยะทางสูง แสดงว่าฟีเจอร์นั้นมีผลต่อการตอบสนองของลูกค้ามากขึ้น
  • Kullback-Leibler Divergence: ใช้ในการวัดความแตกต่างระหว่างการกระจายตัวของการตอบสนองในกลุ่มที่ได้รับการ Treat และกลุ่มควบคุม
การวัดผลของ Uplift Trees

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

2.3 สรุปข้อเปรียบเทียบระหว่าง Uplift Trees และ Traditional Decision Trees

  • เป้าหมายการทำนาย: Traditional Decision Trees มุ่งเน้นไปที่การทำนายผลลัพธ์โดยไม่สนใจว่าลูกค้าจะได้รับการตลาดหรือไม่ ขณะที่ต้นไม้ Uplift มุ่งเน้นไปที่การวิเคราะห์ว่าใครควรได้รับการตลาดเพื่อเพิ่มอัตราการตอบสนอง
  • เกณฑ์การแยก: Traditional Decision Trees ใช้ Gini Impurity หรือ Entropy ในการแบ่งโหนด ขณะที่ Uplift Trees ใช้เกณฑ์ทางสถิติที่วัดความแตกต่างระหว่างกลุ่ม Treated และกลุ่มควบคุม
  • การประยุกต์ใช้งาน: Traditional Decision Trees เหมาะกับการทำนายผลลัพธ์ทั่วๆ ไป เช่น การทำนายการซื้อสินค้าหรือการตอบสนองต่อแคมเปญ แต่ Uplift Trees เหมาะกับการวิเคราะห์เชิงสาเหตุในการตัดสินใจว่าควรกำหนดเป้าหมายลูกค้าคนใดเพื่อให้เกิดผลลัพธ์ที่ดีที่สุด

3.1 ไลบรารีที่ใช้
สำหรับการสร้างแบบจำลอง Uplift เราสามารถใช้ไลบรารีที่ชื่อว่า CausalML ซึ่งเป็นไลบรารีที่ถูกออกแบบมาเฉพาะสำหรับงานนี้ นอกจากนี้ยังสามารถใช้ scikit-uplift เพื่อนำเข้าชุดข้อมูลที่มีการแบ่งแยกลูกค้าตามการรับการรักษาและผลลัพธ์ที่เกิดขึ้นได้

การทำ Customer Targeting ด้วย Causal Inference Uplift Model
source: sklearn

3.2 การแสดงภาพและการประเมินผล
หลังจากฝึกโมเดล Uplift ด้วยข้อมูลที่มีการแบ่งกลุ่มการรักษาและการควบคุมแล้ว เราสามารถใช้ Uplift Curve เพื่อประเมินประสิทธิภาพของโมเดล โดยคะแนน AUUC (Area Under the Uplift Curve) จะช่วยให้เรารู้ว่าโมเดลสามารถกำหนดกลุ่มลูกค้าที่เหมาะสมได้ดีเพียงใด โดยคะแนนที่ใกล้ 1 หมายถึงโมเดลมีประสิทธิภาพสูง

  • 😎😄
Panaya Sudta

ท้ายสุด,, การสร้างแบบ Uplift Model ถือเป็นอีกหนึ่งวิธีที่จะมาช่วยให้ธุรกิจสามารถระบุและจัดลำดับความสำคัญลูกค้าที่จะได้รับผลประโยชน์จากการทำการตลาดได้ดีที่สุด ไม่ว่าจะเป็นการใช้ Meta-Learners หรือ Uplift Trees ก็ตามค่ะ เพราะทั้งสองวิธีนี้ต่างก็มีประโยชน์ต่อการตัดสินใจในการทำแคมเปญการตลาดที่มีประสิทธิภาพสูง ทั้งนี้หากเพื่อนๆ ท่านใดสนใจเนื้อหาก่อนหน้าที่กล่าวถึงที่มาของ Causal Inference สามารถอ่านได้ที่ >>

Hi, I am Nick,,,,Panaya Sudta (●'◡'●) Engineer during the daytime. Researcher at night. Reader in spare time. (❁´◡`❁) วิศวกร/นักวิจัย/ Market research ค่ะ หวังเป็นอย่างยิ่งว่าจะได้แชร์มุมมองกันนะคะ

Leave a Reply

Your email address will not be published. Required fields are marked *