วิเคราะห์พฤติกรรมลูกค้า เพื่อคาดการณ์การซื้อซ้ำ
ข้อมูลจากรอบ 16 ธ.ค. 2024 — 2 ม.ค. 2025
สร้าง 33 ตัวแปร จากพฤติกรรมการซื้อเท่านั้น (ไม่ใช้ข้อมูลส่วนบุคคล เช่น อายุ เพศ จังหวัด)
| กลุ่มตัวแปร | ตัวอย่าง | ความหมาย |
|---|---|---|
| ความถี่การซื้อ | purchase_frequency, active_last_3 | จำนวนรอบที่ซื้อ / ซื้อใน 3 รอบล่าสุด |
| มูลค่าการซื้อ | total_spent, avg_spent | ยอดซื้อรวม / เฉลี่ยต่อรอบ |
| แนวโน้มการซื้อ | trend_slope, momentum | ทิศทางยอดซื้อ ขาขึ้นหรือขาลง |
| ความสม่ำเสมอ | purchase_std, cv_purchase | ความผันผวนของยอดซื้อ |
| ความใกล้ชิด | recency_weighted, active_ratio | น้ำหนักการซื้อล่าสุด / สัดส่วนรอบที่ซื้อ |
หมายเหตุ: ใช้ข้อมูลเฉพาะรอบ 1 ถึง N-1 เท่านั้น ไม่ใช้ข้อมูลรอบ N (ที่เป็น target) เพื่อป้องกัน Data Leakage
สิ่งที่เห็น: ลูกค้าที่ ซื้อซ้ำ มีแนวโน้มซื้อบ่อยกว่า ยอดซื้อสูงกว่า และมีความสม่ำเสมอมากกว่าลูกค้าที่ Churn อย่างชัดเจน — นี่คือสัญญาณที่โมเดลใช้ในการทำนาย
ลูกค้าที่ซื้อสม่ำเสมอใน 3-6 รอบล่าสุด มีโอกาสกลับมาซื้อซ้ำสูงมาก
| โมเดล | AUC-ROC | AUC-PR | F1 Score | Accuracy |
|---|---|---|---|---|
| Logistic Regression | 0.813 | 0.733 | 0.693 | 74.4% |
| Random Forest | 0.831 | 0.758 | 0.715 | 75.5% |
| XGBoost | 0.835 | 0.766 | 0.720 | 75.8% |
| LightGBM | 0.836 | 0.767 | 0.721 | 75.9% |
สำหรับทีม Marketing: ลูกค้าที่เริ่ม "เงียบ" หรือยอดซื้อลดลงต่อเนื่อง คือกลุ่มที่ต้องเร่งดูแลก่อนจะสูญเสียไป
การกระจายคะแนนความเสี่ยง แยกตามผลลัพธ์จริง (Churn vs Retain)
Train จากงวดเดียว (Period 1) แล้วทำนาย 4 งวดถัดไป โดยไม่ train ใหม่ — ผลดีกว่างวด train ทุกงวด
| Period | ช่วงเวลา | ลูกค้า | Churn Rate | AUC-ROC | F1 | Accuracy |
|---|---|---|---|---|---|---|
| P1 (Train) | 16 ธ.ค. → 2 ม.ค. | 571,080 | 48.3% | 0.7627 | 0.6935 | 69.3% |
| P2 | 2 ม.ค. → 17 ม.ค. | 540,159 | 42.8% | 0.7941 | 0.7001 | 71.0% |
| P3 | 17 ม.ค. → 1 ก.พ. | 612,867 | 42.9% | 0.7848 | 0.6949 | 69.5% |
| P4 | 1 ก.พ. → 16 ก.พ. | 615,232 | 41.3% | 0.7955 | 0.6932 | 70.0% |
| P5 | 16 ก.พ. → 1 มี.ค. | 636,589 | 44.6% | 0.7965 | 0.7126 | 71.0% |
| Risk Level | P2 Churn จริง | P3 Churn จริง | P4 Churn จริง | P5 Churn จริง |
|---|---|---|---|---|
| Low (0-25) | 7.9% | 7.5% | 6.5% | 7.9% |
| Medium (26-50) | 27.3% | 26.7% | 24.1% | 27.6% |
| High (51-75) | 55.1% | 52.9% | 51.6% | 55.9% |
| Critical (76-100) | 78.3% | 76.5% | 76.9% | 80.4% |
สรุป: โมเดล ไม่ได้ Overfit — ทดสอบครบ 5 งวด ผลเสถียรมาก Critical Risk ยังคง churn จริง 76-80% ทุกงวด สามารถนำไปใช้จริงได้ทันที
Train ด้วย 1.72 ล้านราย (P1+P2+P3) → Validate บน P4 → Test บน P5
| Model | Single-Period (P1 only) | Multi-Period (P1+P2+P3) | Delta AUC | ||
|---|---|---|---|---|---|
| AUC-ROC | Accuracy | AUC-ROC | Accuracy | ||
| Random Forest | 0.7969 | 70.9% | 0.7986 | 71.8% | +0.0017 |
| LightGBM | 0.7965 | 71.0% | 0.7981 | 71.9% | +0.0016 |
| XGBoost | 0.7966 | 71.0% | 0.7981 | 71.8% | +0.0016 |
| Logistic Regression | 0.7903 | 70.5% | 0.7914 | 71.3% | +0.0010 |
Insight: Multi-Period ช่วย Accuracy เพิ่ม ~1% แต่ AUC เพิ่มเพียงเล็กน้อย (+0.002) เพราะ features ที่สร้างมีคุณภาพสูงอยู่แล้ว — แม้ train จากงวดเดียวก็ generalize ได้ดี ไม่จำเป็นต้อง retrain ทุกงวด
ใช้ RF Multi-Period ทำนาย 594,368 คน ที่ซื้องวด 0301 ว่าจะซื้อซ้ำงวด 0316 หรือไม่
| Model | Train Data | AUC (P5) | ใช้ตัดสิน |
|---|---|---|---|
| RF Multi-Period | 1.72M (3 งวด) | 0.7986 | risk_level, action |
| LGB Single-Period | 590K (1 งวด) | 0.7627 | เปรียบเทียบ |
Insight: ถ้าทั้งสองโมเดลให้ score สูงทั้งคู่ → มั่นใจว่าเสี่ยง churn จริง | ถ้า score ต่างกันมาก → ลูกค้าอยู่ใน gray zone ควรพิจารณาเพิ่ม
Cluster ลูกค้ารวม 3.66 ล้านราย จาก 6 ไฟล์ทุก Period ด้วย binary purchase array (ซื้อ/ไม่ซื้อ) ย้อนหลัง 30 งวด + behavioral features
| Period | ลูกค้าซื้องวด | ดูว่าซื้อต่องวด | จำนวน | Rounds | Label |
|---|---|---|---|---|---|
| Period 1 (1216→0102) | 1216 | 0102 | 590,644 | 66 | มี |
| Period 2 (0102→0117) | 0102 | 0117 | 557,461 | 67 | มี |
| Period 3 (0117→0201) | 0117 | 0201 | 631,970 | 68 | มี |
| Period 4 (0201→0216) | 0201 | 0216 | 633,479 | 69 | มี |
| Period 5 (0216→0301) | 0216 | 0301 | 655,296 | 70 | มี |
| Period 6 — Predict (0301→0316) | 0301 | 0316 | 594,368 | 65 | ไม่มี (predict) |
| รวมทั้งหมด | 3,663,218 | ||||
Churn Rate คำนวณจาก 5 ไฟล์ training ที่มี label จริง | Pattern = avg binary purchase last 30 rounds
Key Insight: Pattern การซื้อ สม่ำเสมอตลอดทั้ง 5 periods — กลุ่มลูกค้าที่พบในงวดหนึ่งก็พบ pattern เดียวกันในงวดอื่น แสดงว่าพฤติกรรมเหล่านี้เป็นลักษณะถาวรของลูกค้า ไม่ใช่แค่ชั่วคราว
เนื่องจาก 5 ไฟล์ training มี label จริง → ตรวจสอบได้ว่าแต่ละ cluster churn จริงกี่ %
SHAP (SHapley Additive exPlanations) อธิบายว่า feature ไหนมีผลมากที่สุดในการทำนาย Churn
active_last_6 (ซื้อกี่งวดใน 6 งวดล่าสุด) มีอิทธิพลมากที่สุด — มากกว่าอันดับ 2 ถึง 2 เท่า
Top 5 features รวมกันอธิบายได้มากกว่า 70% ของการตัดสินใจโมเดล
สรุปให้ Marketing: ถ้าลูกค้าซื้อน้อยลงใน 6 งวดล่าสุด + ช่วงว่างระหว่างซื้อถี่ขึ้น → โอกาส Churn สูงมาก
เปรียบเทียบ SHAP values เฉลี่ยในแต่ละกลุ่มความเสี่ยง
ซื้อแค่ 1 งวดใน 6 งวดล่าสุด → SHAP +0.65
ช่วงว่างระหว่างซื้อยาว + ความถี่ซื้อต่ำ
แทบไม่มีปัจจัยช่วยรั้ง Churn
ซื้อ ~4 งวดใน 6 งวดล่าสุด → SHAP +0.37
เริ่มห่างจากพฤติกรรมปกติ
ยังมี tenure ช่วยรั้งอยู่บ้าง
active_last_6 ช่วยลด Churn → SHAP -0.11
ยังซื้อสม่ำเสมออยู่ แต่มีสัญญาณอ่อนๆ
ส่ง offer เบาๆ รักษาความสัมพันธ์
ซื้อครบ 6/6 งวด → SHAP -0.65
ซื้อทุกงวด + tenure ยาว + ยอดสูง
ลูกค้าภักดี ไม่ต้องดำเนินการ
0316 — Each customer's top 3 factors • Bar: purchase history (30 rounds) • ● bought ● no purchase
Train 20 files (Feb–Dec 2025) • Val 3 files • Test 2 files • 4 models × 2 feature sets = 8 models
| Feature Set | Model | AUC-ROC | F1 |
| v2 (45) | Random Forest | 0.7981 | 0.6943 |
| v1 (33) | Random Forest | 0.7978 | 0.6946 |
| v2 (45) | XGBoost | 0.7975 | 0.6955 |
| v2 (45) | LightGBM | 0.7974 | 0.6961 |
v2 (45 features) ชนะ v1 เล็กน้อย — AUC-ROC +0.0003 (RF), +0.0012 (LR) •
vs Phase 7 (3 periods): ใกล้เคียง (0.7981 vs 0.7986)
Model อิ่มตัวที่ AUC ~0.80 — ข้อมูลเพิ่มช่วย stability แต่ไม่เพิ่ม accuracy อย่างมีนัย •
Best model: Random Forest (v2, 45 feats) → saved as churn_v3_extended.joblib
เทียบ Risk Score ที่ทำนายไว้กับข้อมูลจริง • ลูกค้าซื้อ/ไม่ซื้องวด 0316
| Risk Level | จำนวนลูกค้า | Actual Churn Rate |
| Low (0-25) | 125,465 | 7.7% |
| Medium (26-50) | 163,167 | 26.1% |
| High (51-75) | 188,775 | 53.0% |
| Critical (76-100) | 91,680 | 76.1% |
Validation ยืนยัน: AUC-ROC 0.7958 (ใกล้เคียง training 0.7981) — โมเดล stable ในข้อมูลจริง
Churn Rate เรียงตาม Risk Level: Low 7.7% → Medium 26.1% → High 53.0% → Critical 76.1% • โมเดลแยกกลุ่มได้ดี
ใช้ Model v3 (45 features) ทำนายลูกค้าที่ซื้องวด 0316 ว่าจะซื้อ 0401 หรือไม่
| Risk Level | งวด 0316 | งวด 0401 | เปลี่ยนแปลง |
| Low | 125,465 (22.0%) | 154,248 (25.1%) | +28,783 |
| Medium | 163,167 (28.7%) | 174,470 (28.4%) | +11,303 |
| High | 188,775 (33.2%) | 196,093 (31.9%) | +7,318 |
| Critical | 91,680 (16.1%) | 90,054 (14.6%) | −1,626 |
Model v3 (Random Forest, 45 features, 25-file training) → Score ลูกค้างวด 0401
Export: Churn_RiskScore_2026_0401.csv + Churn_RiskScore_Explained_2026_0401.csv (SHAP top 5 reasons)
อิงจากผลจริงงวด 0316 → ตั้งเป้าสำหรับงวด 0401 ด้วยวิธี Midpoint (เฉลี่ยระหว่าง Target เดิม กับ Actual)
| Risk Level | จำนวนลูกค้า (0401) | Target เดิม (0316) | Actual Churn (0316) | New Target (0401) | Action |
|---|---|---|---|---|---|
| Critical | 90,054 | 70% | 76.1% | 73% | Immediate intervention |
| High | 196,093 | 50% | 53.0% | 52% | Proactive outreach |
| Medium | 174,470 | 25% | 26.1% | 26% | Monitor closely |
| Low | 154,248 | 5% | 7.7% | 6% | Maintain engagement |
ทดลองใช้ Survival Analysis เพื่อทำนาย "เมื่อไหร่" ลูกค้าจะ Churn — ไม่ใช่แค่ "จะ Churn หรือไม่"
Conclusion: Kaplan-Meier & WeibullAFT ให้ insight เพิ่มเติม แต่ Survival Analysis แบบเต็มรูปแบบ (BG/NBD) ต้องการ order-level transaction data จึงจะทำงานได้ถูกต้อง
Recommendation: หากมี data ระดับ order จะสามารถทำนาย CLV และ expected purchases ได้แม่นยำขึ้น
ใช้ Deep Learning อ่าน pattern การซื้อตามลำดับเวลา — ไม่ต้อง Feature Engineering
| Model | AUC-ROC | Features |
| RF v3 | 0.7981 | 45 engineered features |
| LSTM | 0.7983 | Raw sequences only |
รวมจุดแข็งของทั้งสองโมเดล — Feature-based (RF) + Sequence-based (LSTM)
| Risk Level | Actual Churn Rate (Ensemble) | RF v3 Alone | Separation Quality |
|---|---|---|---|
| Critical | 81.4% | 76.1% | ▲ ดีขึ้น |
| High | 61.7% | 53.0% | ▲ ดีขึ้น |
| Medium | 34.3% | 26.1% | ▲ แยกชัดขึ้น |
| Low | 10.7% | 7.7% | ● ใกล้เคียง |
เพิ่มข้อมูล Transaction เข้าสู่โมเดล
tx_days_spread และ tx_n_days เป็น TX features ที่สำคัญที่สุด — ลูกค้าที่กระจายวันซื้อมากกว่ามีโอกาส Churn ต่ำกว่า
เทรนด้วยข้อมูล TX เต็ม 20 ไฟล์ — 16M rows → subsample 2M
| Model | Features | AUC-ROC | vs Baseline |
|---|---|---|---|
| v3 pretrained | 45f | 0.7981 | baseline |
| v5 TX 1-file | 56f | 0.8003 | +0.22% |
| v7 TX 20-file | 56f | 0.8001 | +0.21% |
เพิ่ม training data จาก 1 ไฟล์เป็น 20 ไฟล์ ไม่ได้ช่วยปรับปรุง TX features — base features เรียนรู้เพียงพอแล้วจากข้อมูลเดิม
เทรนด์พฤติกรรม 3 งวดต่อเนื่อง — 8 Trend Features ใหม่
Trend incremental เพิ่มแค่ +0.01% แต่ txt_periods_present ติด Top 3 features — ลูกค้าที่ซื้อทุกงวดใน 3 งวดล่าสุดมีโอกาส Churn ต่ำมาก
วิเคราะห์ภาพรวมธุรกิจจากข้อมูล Transaction ทั้งหมด
ผลรวมจากการเพิ่ม Transaction data เข้าสู่ Pipeline
ลูกค้าซื้อ 'เมื่อไหร่' สำคัญกว่า 'เท่าไหร่'
| Model | Features | AUC-ROC | Note |
|---|---|---|---|
| v3 baseline | 45 | 0.7981 | purchase only |
| v5 TX agg | 56 | 0.8001 | ซื้ออะไร/เท่าไหร่ |
| v9a time only | 56 | 0.8011 | time > agg! |
| v9b full | 67 | 0.8013 | Best! |
Time features (เมื่อไหร่ที่ซื้อ) AUC 0.8011 ดีกว่า TX aggregate (ซื้ออะไร/เท่าไหร่) AUC 0.8001 — ลูกค้าที่ซื้อกระจายหลายวัน vs ซื้อวันเดียวมีพฤติกรรม Churn ต่างกัน
Random Forest ดีที่สุดสำหรับข้อมูลนี้
| Algorithm | Features | AUC-ROC | Result |
|---|---|---|---|
| Random Forest v9b | 67 | 0.8013 | BEST |
| XGBoost | 67 | 0.7997 | −0.0016 |
| LightGBM | 67 | 0.7991 | −0.0022 |
Random Forest เป็น algorithm ที่ดีที่สุดสำหรับข้อมูลชุดนี้ — RF handles this lottery data's feature structure better than boosting algorithms — ทั้ง 3 algorithms ใช้ 67 features เหมือนกัน แต่ RF ให้ AUC สูงสุด
67 → 32 features โดยไม่เสีย AUC
| Method | Features | AUC-ROC | Result |
|---|---|---|---|
| RFE (Recursive Feature Elimination) | 32 | 0.8007 | BEST (selected) |
| Top-K (K=35) | 35 | 0.8006 | more features |
| Correlation Pruned | 53 | 0.8008 | 53 still too many |
31 highly correlated pairs found (|r| > 0.9) — Final AUC: 0.8010, F1: 0.7015
Model ง่ายลงครึ่งหนึ่ง ประมวลผลเร็วขึ้น — ลด features จาก 67 เหลือ 32 ด้วย RFE โดยไม่เสีย AUC แม้แต่น้อย — F1 ยังดีขึ้นจาก 0.6997 เป็น 0.7015 (+0.26%)
อายุ เพศ จังหวัด — ช่วยทำนาย Churn ได้แค่ไหน?
Data Quality: อายุมี outliers (เช่น 0, 150 ปี) — ใช้ age bins แทน raw age
จังหวัดอาจไม่ตรง (ย้ายถิ่นฐาน/ที่อยู่ตามบัตร) — province ไม่มีผลต่อ churn
| Model | Features | AUC-ROC | Result |
|---|---|---|---|
| Base (v3 Churn only) | 45 | 0.7981 | Baseline |
| Base + Demo (v11) | 52 | 0.7984 | +0.03% เท่านั้น |
| Demo only | 7 | 0.5844 | แทบไม่ต่างจากสุ่ม |
Demographics เดี่ยวๆ ไม่สามารถทำนาย churn ได้ (AUC 0.5844 ≈ random)
ตามอายุ
20-30: 52.4% (สูงสุด)
31-40: 44.8%
41-50: 40.2%
51-60: 37.1% (ต่ำสุด)
ตามเพศ
หญิง: 46.3%
ชาย: 39.4%
ต่างกัน: +6.9%
ตามจังหวัด
ไม่มีผลต่อ churn
(ข้อมูลอาจไม่แม่นยำ)
สรุป: Demographics เพียงอย่างเดียวไม่พอทำนาย churn — พฤติกรรมการซื้อสำคัญกว่าข้อมูลส่วนตัวมาก — แต่ Age segments มีประโยชน์สำหรับ Marketing targeting (อายุ 20-30 churn 52.4% ควรเน้น retention campaign กลุ่มนี้)
ข้อมูลการถูกรางวัลเปลี่ยนเกม — ทะลุ AUC ceiling!
Winner vs Non-winner:
คนถูกรางวัล churn เพียง 20.4% vs ไม่ถูกรางวัล 47.3%
— ต่างกัน 26.9%!
FN ลดลง 17,632 ราย — จับ churners ได้มากขึ้น
| Model | Features | AUC-ROC | vs Baseline |
|---|---|---|---|
| v3 (Churn only) | 45 | 0.7981 | Baseline |
| v9b (TX+Time) | 67 | 0.8013 | +0.32% |
| v12 (Churn+Prize) | 57 | 0.8050 | +0.69% |
| v12b (Full+Prize) | 79 | 0.8081 | +1.01% |
| Prize Feature | Rank | Description |
|---|---|---|
| prize_rounds_since_last_win | #14 | ระยะห่างจากถูกรางวัลล่าสุด |
| prize_total_wins | — | จำนวนครั้งที่ถูกรางวัลรวม |
| prize_win_rate | — | อัตราการถูกรางวัล |
Key Insight: คนที่เคยถูกรางวัล churn น้อยกว่าอย่างมาก — ข้อมูลรางวัลช่วยทำลาย AUC ceiling ที่ 0.8013 — v12b รวม 79 features จาก Churn + TX + Time + Prize ได้ AUC 0.8081 (NEW BEST!)
โมเดลเสถียรแค่ไหน? ลูกค้ากลับมาไหม? Segment model ช่วยอะไร?
Model Stability (Phase 36): AUC 0.7856±0.013 across 25 periods
Range: 0.7557–0.8114 — สม่ำเสมอทุกงวด, 80% ผ่านเป้า
Churn Recovery (Phase 37): 94.8% ของ churners กลับมาซื้อภายหลัง
Golden window = 3 งวดแรก หลัง churn — ช่วงเวลาทองในการดึงกลับ
Segment Models (Phase 38): Global model robust — segment-specific models ไม่ชนะ
ยกเว้น Fading segment ที่ได้ประโยชน์สูงสุดจาก specialized model
| Recovery Window | กลับมา (%) | Action |
|---|---|---|
| 1-3 งวดแรก | สูงสุด | ติดต่อทันที! |
| 4-6 งวด | ปานกลาง | ส่ง re-engagement |
| 7+ งวด | ต่ำ | Low-cost campaign |
Key Insight: โมเดลเสถียรข้าม 25 งวด — 94.8% ของ churners กลับมา ถ้าติดต่อภายใน 3 งวด (golden window) — Global model แข็งแกร่ง ไม่ต้อง segment-specific
Prize Impact Deep Dive — ข้อมูลที่ทรงพลังที่สุดของ Pipeline
แต่ละครั้งที่ถูกรางวัลเพิ่ม Churn Rate ลดลงเกือบครึ่ง
Effect lasts 3-6+ periods depending on prize type
Honeymoon period: 3 งวด (post-win boost)
รางวัลที่ 4: effect คงอยู่ 5 งวด (sweet spot)
Even Critical risk winners → 57% become Low risk
Revenue from winners = 2.0x prize payouts
ถูกรางวัลบ่อยๆ ดีกว่าถูกครั้งเดียวใหญ่
Star Insight: การถูกรางวัลเป็น single most powerful churn reducer — +68.2% more tickets, churn halves per win, ROI 2.0x — Congratulate winners immediately + special offers within 1 period
ถูกรางวัลประเภทนี้ → ซื้อเพิ่มเท่าไหร่ → ต่อเนื่องกี่งวด — ข้อมูลจาก 101,259 คน (72.2% ซื้อเพิ่มจริง)
| ประเภทรางวัล | เงินรางวัล | จำนวนคนถูก | ซื้อก่อนถูก | ซื้อหลังถูก (peak) | % เพิ่ม | effect คงอยู่ |
|---|---|---|---|---|---|---|
| เลขท้าย 2 ตัว | 2,000 | 244,540 | 30.9 ใบ | 40.7 ใบ | +32% | 3 งวด |
| เลขท้าย 3 ตัว | 4,000 | 55,122 | 44.0 ใบ | 58.5 ใบ | +33% | 3 งวด |
| เลขหน้า 3 ตัว | 4,000 | 63,370 | 61.1 ใบ | 75.3 ใบ | +30% | 2 งวด |
| รางวัลที่ 5 | 20,000 | 3,734 | 73.6 ใบ | 103.4 ใบ | +40% | 3 งวด |
| ⭐ รางวัลที่ 4 | 40,000 | 2,039 | 76.1 ใบ | 112.5 ใบ | +48% | 5 งวด |
| รางวัลที่ 3 | 80,000 | 417 | 84.4 ใบ | 165.6 ใบ | +96% | 2 งวด |
| ใกล้เคียงที่ 1 | 100,000 | 88 | 104.5 ใบ | 162.5 ใบ | +55% | 3 งวด |
| รางวัลที่ 2 | 200,000 | 235 | 52.7 ใบ | 124.7 ใบ | +137% | 6+ งวด |
| รางวัลที่ 1 | 6,000,000 | 51 | 15.5 ใบ | 247.5 ใบ | +1,499% | 6+ งวด |
| ประเภทรางวัล | P Number | ก่อนถูก (3 งวด) | หลังถูก (3 งวด) | % เพิ่ม |
|---|---|---|---|---|
| รางวัลที่ 1 (6M) | P6126733 | 50, 13, 10 ใบ | 77, 169, 219 ใบ | +537% |
| รางวัลที่ 2 (200K) | P9625615 | 10, 39, 10 ใบ | 116, 86, 143 ใบ | +485% |
| ใกล้เคียงที่ 1 (100K) | P12326827 | 13, 64, 132 ใบ | 519, 191, 265 ใบ | +367% |
| รางวัลที่ 3 (80K) | P9694506 | 14, 11, 15 ใบ | 29, 35, 36 ใบ | +150% |
| ⭐ รางวัลที่ 4 (40K) | P6314310 | 3, 10, 5 ใบ | 38, 59, 34 ใบ | +628% |
| รางวัลที่ 5 (20K) | P8979560 | 34, 56, 44 ใบ | 64, 91, 51 ใบ | +54% |
| เลขหน้า 3 ตัว (4K) | P6271280 | 35, 43, 33 ใบ | 270, 163, 51 ใบ | +336% |
| เลขท้าย 3 ตัว (4K) | P11738146 | 0, 22, 59 ใบ | 676, 119, 189 ใบ | +1,115% |
| เลขท้าย 2 ตัว (2K) | P8783832 | 200, 487, 456 ใบ | 1,059, 754, 632 ใบ | +114% |
Sweet Spot: รางวัลที่ 4 (40K) — ซื้อเพิ่ม +48% และ effect คงอยู่ 5 งวด (ยาวนานที่สุดรองจากรางวัลที่ 1-2) —
เงินรางวัลพอดี ไม่มากจนเลิกซื้อ ไม่น้อยจนไม่ตื่นเต้น |
4,284 shift up targets (High/Critical ที่เพิ่งถูกรางวัล) พร้อมใช้ใน winning_effect_shift_targets.json
15 insights + ตัวอย่างลูกค้าจริง สำหรับ 4 ทีม (Ads, Marcom, SEO, Revenue)
แต่ละ insight มี: metric, customer example (P-code), action, team owner, priority
Key Insight: Cross-team insights ช่วยแปลง data เป็น action สำหรับแต่ละทีม — insight_catalog.json พร้อมใช้ใน production, มีตัวอย่างลูกค้าจริงประกอบทุก insight
เหตุการณ์และจุดเริ่มต้นที่เปลี่ยนพฤติกรรมลูกค้า — จาก 57 ตัวอย่างลูกค้าจริงพร้อม bar chart
Note: ทุก insight มี bar chart ตัวอย่างลูกค้าจริง 3 คน — รวม 57 ตัวอย่าง พร้อมดูที่ charts/
Pattern การซื้อและจังหวะเวลาที่บ่งบอกพฤติกรรม — actionable signals สำหรับ retention
Key Takeaway: Pattern ชี้ชัด — สั่งหลายครั้ง/งวด churn แค่ 19.7% vs ครั้งเดียว 52.3% | Dip 50% เป็น early warning (84.4% churn) — ทุก insight มี bar chart ตัวอย่างลูกค้าจริง 3 คน รวม 57 ตัวอย่าง
จากข้อมูลดิบ → สู่ Action Plan พร้อมใช้งานจริง
Pipeline ครบวงจร: ข้อมูลดิบ → Feature Engineering → Model Training → Cross-Validation → Scoring → Segmentation → SHAP → Extended Retrain → Validation → Survival → LSTM → Ensemble → TX Integration → TX Trends → Time TX → Feature Selection → Demographics → Prize Features → Model Validation → Winning Effect → Cross-Team Insights → 20 Behavior Insights
42 Phases — AUC 0.8081 (v12b) — 79 features, 3.7M customers, 20 behavior insights, พร้อม deploy