Customer Lifetime Value (CLV หรือบางค่ายอาจใช้ CLTV ) คือมูลค่า (Value) ที่ลูกค้าแต่ละรายใช้จ่ายในการซื้อสินค้า/เข้าใช้งาน platform หรือใช้บริการในธุรกิจของเรา ตั้งแต่ตอนที่เริ่มต้นใช้งานหรือซื้อครั้งแรก จนกระทั่งถึงวันที่เลิกเป็นลูกค้า
ซึ่งนิกเชื่อว่า CLV น่าจะเป็นคำที่นักการตลาดคุ้นเคยกันดี ทั้งในบริบทของ CLV คืออะไร? ทำไมเราถึงต้องให้ความสำคัญ? ตลอดจนเทคนิคในการเพิ่ม Customer Lifetime Value ด้วยวิธีต่างๆ เช่น การทำ Referral program ที่เน้นการบอกต่อ, การทำ Customized campaigns สำหรับลูกค้าแต่ละ segments, การใช้ Rewards , การสร้าง content ที่เกี่ยวข้องและตอบโจทย์ หรือการทำ CRM ที่มีการ get feedback จากลูกค้าเพื่อมาวิเคราะห์ข้อมูลต่อ เป็นต้น
ซึ่งก่อนหน้านี้การคำนวณ CLV จะเป็นการประเมินมูลค่าของลูกค้าจากสมการทางคณิตศาสตร์ โดยตัวแปรที่จะเอาไปใส่ในสมการเพื่อทำการคำนวณ ก็จะมีจำนวนตัวแปรที่จำกัด ตามสมการตั้งต้น และด้วยความจำกัดของตัวแปรนี้เองค่ะ ที่อาจทำให้ความแม่นยำในการประเมินถูกจำกัดไปด้วย แต่,,,, 😬🤯 เนื่องจากในปัจจุบันการเก็บข้อมูลแต่ละ transaction ของลูกค้ามีรายละเอียดเพิ่มมากขึ้น ทำให้เราสามารถนำ data ที่เพิ่มขึ้นมานี้มาใช้ประเมิน CLV ของลูกค้าแต่ละรายผ่านโมเดล Machine learning (ML) ที่เป็นการนำเทคโนโลยีมาช่วยเพิ่มความแม่นยำได้ค่ะ
หลักการคำนวณ CLV ด้วยสมการ
ตามสมการ นิยาม”มูลค่าตลอดอายุการใช้งานของลูกค้า” ว่าหมายถึง “จำนวนเงินทั้งหมดที่คาดว่าลูกค้าจะใช้จ่ายกับธุรกิจของเราจนกว่าจะสิ้นสุดการใช้งานหรือซื้อซ้ำ” ซึ่งสิ่งนี้เองค่ะจะป็นเกณฑ์ชี้วัด และช่วยตรวจสอบว่า สำหรับธุรกิจของเราควรจะใช้เงินลงทุนเท่าไหร่ในการรักษาลูกค้าเดิม (ซึ่งตามสถิติแล้วอัตราการก่อรายได้ของลูกค้าเก่ามีสูงถึง 70%) และลงทุนเท่าใดในการหาลูกค้าใหม่ โดยเป้าหมายคือการทำให้อัตราผลตอบแทนจากการลงทุน (ROI) เป็นบวก
ยกตัวอย่างเช่น หากลูกค้ามี CLV อยู่ที่ 100,000 บาท และมีค่าใช้จ่ายในการหาลูกค้าใหม่เพียง 500 บาท หมายความว่าธุรกิจนั้นจะสามารถมี revenue เพิ่มขึ้นได้เยอะมากจากการได้ลูกค้ารายใหม่ โดยสมการทางคณิตศาสตร์ที่ใช้คำนวณ มีหน้าตาดังนี้ค่ะ 😏🚀
เมื่อ AC (หรือ CAC: Customer Acquisition Cost) คือต้นทุนในการได้มาซึ่งลูกค้าใหม่ ซึ่งเป็นค่าใช้จ่ายด้านการตลาดรวมกับค่าจ่ายด้านการขาย, CRn คือกำไรที่ได้จากลูกค้า, Cn คือต้นทุนที่ใช้สำหรับการตลาดและการให้บริการลูกค้าหรือการผลิตสินค้า, R คือความน่าจะเป็นที่ลูกค้าจะไม่หายไป (Churn) ภายในระยะเวลาหนึ่งปี, n คือจำนวนปีทั้งหมดในการคำนวณ CLV และ d คือ Discount rate
นอกจากนี้ยังมีหลายค่ายที่ provide สมการที่ใช้คำนวณ Customer Lifetime Value ตามภาพด้านล่างค่ะ^^
source : A Definitive Guide for predicting Customer Lifetime Value
ซึ่งเวลาเมื่อประเมินด้วยวิธีการใช้สมการ ผลลัพธ์ที่(น่าจะ)เข้าใจและนำไปประเมินต่อง่ายก็มักจะออกมาในรูปแบบของตารางค่ะ
source : Customer lifetime value
เพื่อนๆ จะเห็นค่ะว่าสมการทางคณิตศาสตร์ข้างต้นค่อนข้างไม่ซับซ้อน ซึ่งน่าจะทำให้เราประเมิน CLV ได้ง่าย,,,,แต่สำหรับข้อมูลลูกค้าและ transaction ในปัจจุบันที่ถูกเก็บมาเพิ่มเติม กลับไม่ถูกนำมาพิจารณาร่วมด้วยในสมการ 😏🤓 เลยเป็นที่มาของหัวข้อต่อไปค่ะ ที่เราพยายามประเมิน หรือคาดการณ์ Value ที่รับได้จากลูกค้า และมูลค่าทางการเงินของลูกค้าในอนาคต จากข้อมูลแต่ละ transaction บน Database ของเรา 📈📰
=>> นิกขออนุญาตเล่าเพิ่มเติมคร่าวๆ ในส่วนของ Approach ที่ใช้ในการ model เพื่อประเมิน CLV ว่าแบ่งเป็น 2 ประเภทหลักๆ ได้ดังนี้ค่ะ
Historical Approach : กระบวนการวิเคราะห์จากข้อมูลอดีต ได้แก่
Agrreate Model: จะใช้ revenue เฉลี่ยต่อลูกค้าซึ่งคำนวณจาก transaction ในอดีต
Cohort Model: ทำการ grouping ลูกค้าจากข้อมูลต่างๆ เช่น transaction date, etc. แล้วทำการคำนวณเป็น revenue ต่อแต่ละ Cohort
Predictive Approach: กระบวนการคาดการณ์ล่วงหน้า ได้แก่
ML Model: ใช้ Machine Learing โมเดลในการประเมิน CLV 🧐 📈 (ซึ่งในส่วนต่อไปของบทความนี้ เราจะมาพูดถึงสิ่งนี้กันค่ะ)
Probabillistic Model: แบบจำลองความน่าจะเป็น
การประเมิน CLV ด้วย ML Model
Machine Learning ที่เราจะมาลองใช้งานกันเพื่อประเมิน Customer Lifetime Value คือ Linear Regression ค่ะ^^ โดยเราจะลองประเมิน CLV ล่วงหน้า 3 เดือนจากฐานข้อมูล UCI dataset ของธุรกิจค้าปลีกออนไลน์ (Online Retail) ที่จำหน่ายสินค้าประเภทของขวัญสำหรับทุกโอกาส ซึ่งมีลูกค้าบางส่วนเป็นภาคธุรกิจค้าส่ง
ซึ่งในแต่ละ Transaction ที่เกิดขึ้นมีการ Collect data ไว้ดังนี้
InvoiceNo: หมายเลขใบแจ้งหนี้ ซึ่งเป็นตัวเลข 6 หลัก และในกรณีที่ขึ้นต้นด้วยตัว “C” หมายความว่า transaction นั้นมีการยกเลิก
StockCode: รหัสสินค้า (รายการ) ซึ่งเป็นตัวเลข 5 หลักที่แต่ละหลักเป็นตัวบ่งชี้ถึงข้อมูลของผลิตภัณฑ์
Description: ชื่อสินค้า
Quantity: จำนวนการซื้อสินค้าในแต่ละ transaction
InvoiceDate: วัน/เวลา ในสร้างใบแจ้งหนี้
UnitPrice: ราคาต่อหน่วย
CustomerID: หมายเลขลูกค้า หรือรหัสของลูกค้าแต่ละราย
Country: ประเทศ
Parameters ในแต่ละ transaction ของกิจการค้าปลีกของ UCI dataset
📊 การจัดการ Features ของ Dataset
ซึ่งจากข้อมูลฐานข้อมูล UCI dataset เราจะทำการสร้าง Feature เพิ่มเติมในการประเมิน CLV ดังนี้
Frequency: ความถี่ในการซื้อ หรือจำนวนครั้งของการซื้อ
Recency: ความนานของวันที่ซื้อล่าสุด เทียบกับช่วงเวลาปัจจุบัน (หรือไม่ซื้อมานานแค่ไหนแล้ว)
total_amount: ยอดซื้อ หรือยอดค่าใช้จ่ายร่วมของลูกค้ารายนั้น
*เพื่อนๆ สังเกตเห็นไหมคะว่า คล้ายๆ Feature ในการแบ่งกลุ่มลูกค้าด้วยวิธี RFM เลย^^
Dataset หลังจากทำการกำหนด Features เพื่อใช้ในการประเมิน CLV
📈 Linear Regression
Linear Regression หรือสมการถดถอยเชิงเส้น เป็นวิธีเข้าใจง่ายและตรงไปตรงมาที่สุดในการนำข้อมูลในอดีตมาใช้งาน เพื่อทำการประมาณการในอนาคต โดยใช้หลักการการวิเคราะห์ความสัมพันธ์ระหว่างตัวแปร (Features; ซึ่งในบทความนี้ก็คือข้อมูลของรายละเอียดในแต่ละ transaction) กับสิ่งที่เราต้องการประเมิน (ซึ่งในที่นี้ก็คือ CLV นั่นเองค่ะ)
โดยสมการ Linear Regression คือสมการเส้นตรงทั่วไปที่เราเรียนกันตั้งแต่มัธยมต้น ซึ่งมีหน้าตาดังนี้ค่ะ^^
Linear regression equation
โดย Yi (ตัวแปรตาม) คือสิ่งที่เราสนใจ หรือคือผลลัพธ์นั่นเองค่ะ, Xi คือตัวแปรต้น ที่ส่งผลต่อค่าของตัวแปรตามหรือ Features ที่เราจะนำมาใส่, β0 คือค่า coefficient หรือค่าจุดตัดแกน Y (y-intercept) ซึ่งเป็นการบอกว่า กราฟยกตัวจากแกน X ขนาดไหน และ β1 ค่าความชันของเส้นตรง ซึ่งในเทอมของ ML จะหมายถึง weight ซึ่งคือค่าน้ำหนักของตัวแปร Xi นั้นๆ
แต่เนื่องจากข้อมูลของเรามีหลาย Features หรือมี Xi หลายตัว ซึ่งส่งผลให้หน้าตาของสมการจากที่มีความซับซ้อนน้อย หรือมีหนึ่ง X จากด้านบน กลายเป็นสมการด้านล่างนี้ค่ะ^^
ซึ่งสมการนี้ก็จะไปพยายามสร้างเส้นตรง (Linear) หรือระนาบ ซึ่งใช้เป็นตัวแทนของชุดข้อมูล โดยใช้ความสัมพันธ์ระหว่างแต่ละ X (ซึ่งก็คือ Features ต่างๆ จากขั้นตอนก่อนหน้า) กับค่า Y จากนั้นก็จะได้ผลลัพธ์การ Regression เป็นเส้นตรง หรือระนาบตามภาพด้านล่างค่ะ
Linear regression in two dimensions: source
🤗 💡 มาลองเล่น Linear regression กัน
(☞゚ヮ゚)☞ มาลองใช้ “ML model: Linear regression” เพื่อเอาไปประยุกต์ในการประเมิน Customer Lifetime Value จากข้อมูลธุรกิจค้าปลีกของ UCI database ให้เห็นตัวอย่างของการใช้ข้อมูลแบบ Big Data บริหารจัดการลูกค้าในธุรกิจของเรา แทนการใช้สมการแบบดั้งเดิม^^ (ถึงไม่ใช่ low code แต่ไม่ยากเกินไปแน่นอนค่ะ,,,,🐈🐈)
โดยตัว Libary ที่เราจะลองใช้กันจะเป็น Opensource Lib ที่ชื่อว่า scikit-learn ซึ่งความสามารถหลักๆ ของ scikit-learn คือการ provide การสร้าง ML บนโปรแกรมภาษา Python โดยสามารถทำได้ทั้งการ Classification, Regression และ Clustering
*ในบทความนี้จะ Focus ไปที่การใช้ scikit-learn ในบทบาทของการเป็น Regressor โดยใช้ Linear regression ค่ะ
scikit-learn “Linear regression”: source
สิ่งที่พวกเราจะทำกันคือ import ข้อมูลที่เรามีเข้ามาบน Google colab โดยในที่นี้นิกลองใช้เป็นการ import แบบ .read_excel ซึ่งใช้ import ข้อมูล .xlsx แล้ว ทำ Data Cleansing & Transformation แล้วสร้าง Features ใหม่เพื่อนำมาใช้ในการประเมินค่ะ
โดยการสร้าง ML: Linear regression model อันดับแรกจะเริ่มจากการ import ตัว scikit-learn เข้ามาใช้งานและสร้าง dataframe จากไฟล์ .xlsx ที่เรา import เข้ามา แล้วนำ Data input นั้นมาใช้ในการสร้างโมเดลเพื่อประเมิน CLV และพิจารณาค่าความแม่นยำของโมเดลนั้นต่อไปค่ะ
โดยสามารถใช้ Python script ตาม link นี้ => Github_Predict_CLTV_with_linear_regression
ซึ่งหลังจากที่ใช้งานในส่วนของโปรแกรมแล้วจะได้ผลลัพธ์ออกมาเป็น CLV ดังตาราง dataframe นี้ค่ะ 😎💡 และจากข้อมูลเราพบว่าสำหรับธุรกิจค้าปลีกนี้มีอัตราการซื้อซ้ำของลูกค้าประมาณ 12 ครั้งใน 1 ปี และลูกค้าที่ซื้อซ้ำมีระยะห่างจากการซื้อครั้งก่อนหน้าระหว่าง 12-50 วัน และที่น่าสนใจคือ CLV ของลูกค้าจากโมเดลมีความแม่นยำเกาะกลุ่มสำหรับค่าระหว่าง 1,000 -10,000 USD ทำให้เราสามารถตัดเอาข้อมูลลูกค้าที่เป็น Outlier ออก แล้วนำ data ที่มี Customer Lifetime Value ที่ดีมาทำ Customer Segmentation ต่อเพื่อจัดแคมเปญ และทำ CRM ค่ะ
Result of CLV prediction
*และแน่นอนค่ะว่า เมื่อเป็น ML model แล้วการประเมินความแม่นยำ ก็สำคัญค่ะ โดยในส่วนนี้เราจะใช้การประเมินค่า Actual เปรียบเทียบกับ Train set และ Test set ได้ผลลัพธ์ออกมาตามภาพ ☆*: .。. o(≧▽≦)o .。.:*☆
Model Evaluation
Last but not Least..
ท้ายสุด นิกหวังเป็นอย่างยิ่งค่ะว่าหลายๆ ท่านจะได้ไอเดียในการใช้ ML model ไปประยุกต์ใช้กับการวิเคราะห์ลูกค้าในธุรกิจของตัวเองกันนะคะ เพราะไม่เฉพาะแต่รายใหญ่เท่านั้นค่ะที่ต้องการการวิเคราะห์ข้อมูลดังกล่าว แต่ในรายย่อยก็เช่นเดียวกันค่ะ สำหรับการตลาดในยุค Digital Marketing ที่ข้อมูลทุกอย่างมีคุณค่าเสมอ…. ทั้งนี้เพื่อนๆ ที่ต้องการศึกษาเรื่อง RFM และ ML model เพิ่มเติมในการทำ Customer Segmentation สามารถลองอ่านได้ในบทความนี้เลยค่ะ =>> https://everydaymarketing.co/knowledge/customer-relationship-management/