Technical Architecture POC

CUSTOMER 360
AI Promotion Engine

Thay vì setup chiến dịch khuyến mãi bằng các rule tĩnh (if-else), POC này hệ thống hóa việc sử dụng Machine Learning để tự động phân bổ ngân sách. Mô hình tính toán việc cấp phát voucher dựa trên bối cảnh (context) của người dùng để tối ưu hóa Incremental ROI.

Pipeline Status
Data Ingestion & Feature Store
Streaming
Identity ResolutionMatched 98.2%
Feature Extraction12ms latency
Inference EngineOnline
01

Budget Allocation Strategy (Chiến lược phân bổ)

Từ Rule-based đến Data-Driven Next Best Action

Việc thiết lập các kịch bản phát voucher hiện nay đa số vẫn dựa trên kinh nghiệm (heuristic) hoặc các rule if-else tĩnh (ví dụ: cứ có sinh nhật là tặng mã 50k, hoặc giỏ hàng trên 500k thì freeship). Cách làm này dễ dẫn đến hai trường hợp: ném tiền qua cửa sổ cho những người vốn dĩ đằng nào cũng mua, hoặc bỏ sót những khách hàng chỉ thiếu một chút "động lực" để chốt đơn.

Kiến trúc này proof-of-concept việc feed Customer Context (lịch sử mua, hành vi tương tác, CSAT) vào một Policy Network. Input là tổng budget cho phép, Output là danh sách users kèm hệ số (mệnh giá voucher tương ứng) sao cho kỳ vọng Incremental ROI đạt mức cao nhất.

02

Data Foundation (Xây dựng Customer 360)

Để Machine Learning model có thể "hiểu" được khách hàng, ta cần một hệ thống Feature Store được chuẩn hóa từ nhiều nguồn dữ liệu phân mảnh.

Bitrix Contact (Identity)

  • 66,983 unique client_id
  • Schema: contact_id, phone, birth_year, name, address
  • Tác dụng: Master mapping định danh

Omni-channel Ticket

  • Signal: status, level 1/2/3, source (call, AI)
  • Schema: ticket_id, client_id, conversation_id
  • Tác dụng: Đo lường mức độ hài lòng (CSAT)

Message & Metadata

  • Source: Zalo, FB, GHN Portal
  • Schema: conversation_id -> map fb_metadata
  • Tác dụng: Thu thập transcript tương tác trực tiếp

Bitrix Call Logs

  • 667,862 unique phone numbers
  • Schema: transcript, call_id -> ticket_id
  • Tác dụng: Chuyển giọng nói thành Feature Vector

Fulfillment Data

  • GHN Shop logs -> client_id mapping
  • Schema: revenue, volume, frequency, first/last order
  • Tác dụng: Tính toán giá trị vòng đời (LTV)

Insider Master Profile

  • 652,019 client profiles (V2)
  • Schema: estimated_yield, is_kyc, customer_class
  • Tác dụng: Feature vector nòng cốt cho AI Inference

Identity Graph Architecture

Hệ thống sử dụng Client_ID / Phone làm trung gian để kết nối (Join) toàn bộ schema rỗng ở các base khác nhau về một profile duy nhất. Việc xử lý 652k profiles nòng cốt kết hợp với logs fulfillment giúp AI nhận diện được chính xác "điểm rơi" rủi ro của từng khách hàng.

03

System Architecture (Kiến trúc Hệ thống)

1

Identity Builder Pipeline

ELT pipeline gom data từ third-parties, chạy logic fuzzy matching để build Identity Graph cho mỗi Customer.

2

Feature Engineering & NLP

Module NLP phân tích sentiment từ transcript tổng đài/chat. Gắn cờ Churn Risk (Nguy cơ rời bỏ) nếu tỉ lệ negative sentiment vượt threshold.

3

Inference Model (AI Simulator)

Khi request cấp ngân sách hạ tầng (VD: 10M VND) được ban hành, Model sẽ tính toán expected LTV (Life-time value) và distribute budget theo trọng số tìm được nhằm max out ROI.

4

ML Logging & Retraining

Thu thập impression logs và redemption logs (user có click/sử dụng không) đẩy vào Message broker, dùng làm ground-truth để update lại model.

04

AI Feedback Loop (Vòng lặp Phản hồi)

Self-adjusting Mechanism (Cơ chế tự hiệu chỉnh)

Một mô hình không có feedback loop chỉ là một mô hình tĩnh. Ứng dụng concept của Reinforcement Learning, hệ thống map các tương tác của user thành dạng Reward để feed ngược lại lúc training.

  • 1
    Observation: Lưu vết các events `voucher_delivered`, `voucher_opened`, `checkout_completed`.
  • 2
    Reward Mapping: Thiết kế hàm reward. Ví dụ: Khách xài voucher nhưng mua thấp bé hơn avg order value -> Low Reward. Khách bơ voucher mà vẫn chốt đơn -> High Reward (vì tiết kiệm được budget).
  • 3
    Backprop & Update: Thuật toán tính toán loss giữa dự báo và thực tế, tinh chỉnh policy params. Các lượt batch-job ban đêm sẽ chạy weight update.
05

Pipeline Workflow (Quy trình Thực thi)

1Data Foundation (Xây dựng Customer 360)

Tại sao cần 360? Model không thể ra quyết định nếu thiếu context. Việc gom dữ liệu từ Web, App, Zalo, Call Center giúp AI hiểu được user không chỉ qua mã đơn hàng mà qua Feature Store đa chiều (ví dụ: đang có phàn nàn chưa giải quyết, tỷ lệ vào app xem nhưng không mua đang tăng đột biến). 360 là Single Source of Truth cung cấp input đủ sâu cho inference.

2Modeling & Inference (Mô hình hoá & Đề xuất)

AI không dự báo dựa trên cảm tính. Hệ thống trích xuất các Feature Vectors từ Customer 360 để tính toán và bẻ lái ngân sách dựa trên các signals trọng yếu:

Recency Weight

AI kết hợp last order và last visit để định vị độ trễ nhu cầu.

Churn Probability

Phân tích sentiment call center để detect KH sắp rời bỏ (High Risk).

Price Sensitivity

Lọc nhóm chỉ mua khi có mã để tối ưu mệnh giá voucher tối thiểu.

LTV Prediction

Dự báo giá trị vòng đời để ưu tiên ngân sách cho nhóm "High Growth".

Brand Affinity

Đo lường mức độ gắn bó với thương hiệu thông qua tần suất đóng góp feedback.

Purchase Frequency

Xác định chu kỳ mua sắm lặp lại để phát voucher vào đúng "điểm rơi".

Engagement Score

Điểm tương tác trên Zalo/FB để xác định kênh deliver voucher hiệu quả nhất.

Fraud Risk

Nhận diện hành vi săn mã (Abuse) để loại bỏ các user trục lợi chính sách.

Product Propensity

Dự báo sản phẩm tiếp theo user quan tâm để đính kèm vào voucher gợi ý.

3Hierarchical Budget Control (Kiểm soát đa tầng)

Trước khi chọn cá nhân, AI thực hiện bước Strategic Bucketing để chia nhỏ ngân sách tổng thành các "túi tiền" mục tiêu:

Group Strategic WeightBudget Split
Churn Prevention50% (High Priority)
Win-back Dormant30% (Growth)
VIP Upsell20% (Loyalty)

4Audit Loop (Điều chỉnh & Đối soát)

Sau mỗi đợt, hệ thống thực hiện đối soát Burn-rate và ROI thực tế để retrain model.

Reconciliation (Đối soát mã)

Đối soát mã từ fulfillment logs để khớp danh sách đã phát với thực tế.

Uplift Analysis (Đo lường tăng trưởng)

Đo lường Incremental Lift so với nhóm đối chứng (Control Group).

06

System Architecture Diagram (Sơ đồ Kiến trúc)

Apache Airflow

Sync Data (ETL)

Điều phối lấy dữ liệu định kỳ từ các nguồn: Web Events, Mobile App, ERP, CRM, Call Center.

ClickHouse

Centralized DWH

Lưu trữ tập trung khối lượng lớn dữ liệu raw & customer 360 với hiệu năng query cực cao.

Python Workers

Phân tích & Làm sạch

Xử lý dữ liệu thô, tính toán các Features (Recency, LTV, Sentiment). Sau đó thuật toán đánh trọng số (Weighting) khởi chạy để chấm điểm.

AI Engine

Model Building & Allocation

Phân bổ Customer vào các chương trình (Campaigns) nhằm tối đa hóa khả năng sinh lời hoặc chuyển đổi dựa trên ngân sách.

Web UI & Chotdon.ai

Delivery & Integration

Đưa kết quả Policy hiển thị lên WebUI. Tích hợp API sang Chotdon.ai để tạo Segments và triển khai Campaigns tự động.

Continuous Learning

Logs & Feedback Loop

Hệ thống ghi nhận Logs (Redemption, Increment Lift). Engine tự cập nhật chỉ số và tự điều chỉnh độ nhạy cho các đợt tiếp theo.

07

Technical Challenges (Thách thức Kỹ thuật)

1. Causal Inference & Cannibalization

Tránh việc cấp voucher cho khách đằng nào cũng mua bằng cách sử dụng Control Group và đo lường Increment Lift thay vì Conversion Rate thuần túy.

2. Concept Drift

Monitor sự thay đổi của features giữa các mùa lễ hội (sale mùa tết vs ngày thường) để tự động trigger retrain model với time-window ngắn hơn.

08

Case Study: Tăng Retention với 5tr

Campaign Goal
S = Σ(w_i * x_i) > Threshold
Total Budget
5,000,000 VND
Adaptive Threshold
0.75
Layer 1: Strategic Bucketing (Phân bổ Chiến lược)

Trước khi chọn cá nhân, Manager/AI chia 5tr thành các "túi tiền" mục tiêu để bảo vệ chiến lược:

Churn Prev.
2.5tr (50%)
Win-back
1.5tr (30%)
VIP Upsell
1.0tr (20%)
Layer 2: Individual Scoring (Chấm điểm Cá nhân)

Sau khi ngân sách được "đóng gói", AI chạy $S = Σw_ix_i$ trong nội bộ từng nhóm để tìm ra KH xứng đáng dựa trên Threshold = 0.75.

Cơ chế xác định ngưỡng (Threshold determination):

AI simulator sắp xếp 10k KH theo Score. Hệ thống duyệt danh sách và dừng lại khi tổng Budget chạm ngưỡng 5tr. Score của người cuối cùng là điểm cắt ROI (Threshold). KH dưới điểm này sẽ bị bỏ qua để bảo vệ ngân sách.

TARGETED

User A (Group: Churn Prevention)

x_recency: 0.4
x_churn: 0.9
x_price: 0.6
x_ltv: 0.8
x_affinity: 0.7
x_freq: 0.5
x_engage: 0.8
x_fraud: 0.0
x_prop: 0.9
Math Breakdown (Trọng số nhóm Churn)
Σ(w_i * x_i) = (0.3 * 0.9) + (0.2 * 0.8) + (0.15 * 0.6) + (0.1 * 0.4) + (0.1 * 0.9) + (0.1 * 0.8) + (0.05 * 0.8)
Total S = 0.27 + 0.16 + 0.09 + 0.04 + 0.09 + 0.08 + 0.04 = 0.77
Final Score (S):0.77 > 0.75

Phát Voucher 50k từ túi Churn Prev.

Skipped

User B (Group: Win-back)

x_recency: 0.9
x_churn: 0.3
x_price: 0.2
x_ltv: 0.1
x_affinity: 0.4
x_freq: 0.2
x_engage: 0.1
x_fraud: 0.8
x_prop: 0.3
Final Score (S):0.35 < 0.75

Bị loại do Score thấp & rủi ro Fraud cao.

Adaptive Feedback Loop (Tự điều chỉnh chiến lược)
Scenario: ROI thực tế thấp hơn dự kiến

Sau 48h vận hành, AI nhận thấy tỷ lệ Redemption (đổi mã) cao nhưng giá trị giỏ hàng (AOV) của nhóm được ưu tiên lại thấp → Burn-rate vượt ngưỡng an toàn.

AI Adjustment 1
Tăng Adaptive Threshold: 0.75 → 0.82

Siết chặt tiêu chí chọn khách để ưu tiên những profile cực kỳ tiềm năng.

AI Adjustment 2
Cấu hình lại Weight: x_ltv (+15%)

Tăng trọng số giá trị vòng đời để bù đắp chi phí phát voucher.

Optimization Result: Incremental ROI +12%
09

Technical FAQ (Hỏi đáp Kỹ thuật)

Q: Tại sao phải build Customer 360 trước?

Model không thể detect được "Rủi ro Churn" nếu chỉ nhìn vào log đơn hàng. Việc móc nối transcript phàn nàn từ Call Center (qua NLP) vào user profile là signals quan trọng nhất để predict user drop-off sớm.