Appearance
🧠 Case Study — Industry Analytics: Marketing, Finance, Supply Chain
Trong buổi học này, chúng ta đã nắm KPI và bài toán riêng của Marketing Analytics, Finance Analytics, và Supply Chain Analytics. Bây giờ hãy xem 3 doanh nghiệp lớn áp dụng domain-specific analytics như thế nào — từ Meta Ads campaign optimization, đến VPBank risk analytics, và Vinamilk demand forecasting.
Case Study 1: Meta Ads — Marketing Analytics: Campaign Optimization & Attribution
Bối cảnh
Meta Ads (Facebook & Instagram Ads) — nền tảng quảng cáo lớn nhất Đông Nam Á với hơn 70 triệu users tại Việt Nam (2025). Hàng nghìn doanh nghiệp Việt chi hàng trăm tỷ/năm cho Meta Ads — nhưng đa số chỉ nhìn vào vanity metrics (reach, impressions) thay vì actionable metrics (ROAS, incremental revenue, attribution).
GlowUp — thương hiệu skincare D2C (Direct-to-Consumer) Việt Nam, doanh thu 120 tỷ/năm, 60% revenue từ online channels. Marketing team chạy 15-20 campaigns/tháng trên Meta Ads với budget 2.5 tỷ/tháng. GlowUp có Marketing DA team 3 người — và câu hỏi lớn nhất: "2.5 tỷ/tháng chi cho Meta Ads — ROI thực sự bao nhiêu? Nên dồn vào campaign nào?"
Vấn đề: "ROAS 5x" nhưng thực sự có lãi không?
Ad Manager report tháng 1/2026:
| Campaign | Spend | Revenue (Last-Touch) | ROAS | Status |
|---|---|---|---|---|
| Brand Awareness | 400M | 240M | 0.6x | 🔴 |
| Product Launch (Serum) | 600M | 3,600M | 6.0x | 🟢 |
| Retargeting Cart | 350M | 2,100M | 6.0x | 🟢 |
| Lookalike Audience | 500M | 2,000M | 4.0x | 🟢 |
| Seasonal Promo (Tết) | 650M | 2,600M | 4.0x | 🟢 |
| Total | 2,500M | 10,540M | 4.2x | 🟢 |
Marketing Director nhìn: "ROAS 4.2x tổng, Brand Awareness lỗ — cắt Brand Awareness, dồn vào Product Launch và Retargeting."
Nhưng DA team không đồng ý. Họ chạy multi-touch attribution analysis thay vì last-touch:
Multi-Touch Attribution Analysis
DA team track 50,000 customer journeys trong tháng 1, phát hiện purchase path phổ biến nhất:
Typical Customer Journey (12,500 customers — 25% sample):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Day 1: 👀 Brand Awareness ad (Instagram Story)
Day 3: 🔍 Google search "GlowUp serum review"
Day 5: 📱 Product Launch ad (Facebook Feed)
Day 7: 🛒 Visit website, add to cart, leave
Day 8: 🎯 Retargeting ad (Cart reminder)
Day 8: 💳 Purchase — 450K VND
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Last-Touch attribution: 100% credit → Retargeting. Brand Awareness = 0 credit.
Multi-Touch (U-Shape):
| Touchpoint | Last-Touch Credit | U-Shape Credit | Thay đổi |
|---|---|---|---|
| Brand Awareness | 0% | 40% (first touch) | ↑↑↑ |
| Product Launch | 0% | 10% | ↑ |
| Retargeting | 100% | 40% (last touch) | ↓↓↓ |
| Organic Search | 0% | 10% | ↑ |
Khi re-attribute bằng U-Shape:
| Campaign | ROAS (Last-Touch) | ROAS (U-Shape) | Insight |
|---|---|---|---|
| Brand Awareness | 0.6x 🔴 | 3.2x 🟢 | Massive undervaluation! |
| Product Launch | 6.0x | 4.5x | Still great |
| Retargeting | 6.0x | 2.8x 🟡 | Overvalued by last-touch |
| Lookalike | 4.0x | 3.8x | Stable |
| Seasonal Promo | 4.0x | 3.5x | Stable |
Insight lớn: Brand Awareness campaign KHÔNG lỗ — nó là top-of-funnel đưa khách vào pipeline. Cắt Brand Awareness = 3 tháng sau Retargeting cũng giảm vì không có ai để retarget.
RFM Segmentation for Campaign Targeting
DA team phân 180,000 customers thành RFM segments → target khác nhau:
| Segment | Size | Avg LTV | Campaign Strategy | Budget Allocation |
|---|---|---|---|---|
| Champions (555) | 12,000 | 4.2M | VIP early access, referral rewards | 5% (low cost) |
| Loyal (445-455) | 28,000 | 2.8M | Cross-sell serum → toàn bộ skincare line | 15% |
| New Customers (511-521) | 35,000 | 800K | Onboarding email series, welcome discount | 20% |
| At Risk (145-245) | 22,000 | 2.1M | Win-back campaign — priority! | 25% |
| Lost (111) | 45,000 | 350K | Low-cost automated email, sunset after 90 days | 5% |
| Potential Loyalists (334-344) | 38,000 | 1.5M | Loyalty program invitation, bundle deals | 30% |
Impact
Sau 3 tháng áp dụng multi-touch attribution + RFM-based targeting:
| Metric | Before | After | Change |
|---|---|---|---|
| Blended ROAS | 4.2x | 5.8x | +38% |
| Brand Awareness budget | Đang cắt | Tăng 20% | Protected top-of-funnel |
| Customer Re-activation (At Risk) | 8% | 22% | +175% |
| CAC (blended) | 62K | 48K | -23% |
| Monthly revenue | 10.5 tỷ | 13.2 tỷ | +26% |
Case Study 2: VPBank — Finance Analytics: Risk Scoring & Loan Portfolio
Bối cảnh
VPBank (Ngân hàng Việt Nam Thịnh Vượng) — top 5 ngân hàng tư nhân Việt Nam (2025):
- Tổng tài sản: ~750,000 tỷ VND
- Dư nợ cho vay: ~450,000 tỷ VND
- Khách hàng: 25 triệu (bao gồm FE Credit — consumer finance)
- Nhân viên: 27,000+
- DA team: 120+ staff trong Data & Analytics Division
VPBank nổi tiếng là ngân hàng data-driven nhất Việt Nam — CEO Nguyễn Đức Vinh từng nói: "VPBank là công ty công nghệ có giấy phép ngân hàng." DA team chịu trách nhiệm credit scoring, portfolio monitoring, và regulatory reporting.
Vấn đề: NPL tăng — Khoản vay nào sẽ "xấu"?
Q3/2025, NPL ratio (Non-Performing Loans) tăng từ 2.1% → 3.4% — chủ yếu từ consumer finance (FE Credit) và SME loans. Board yêu cầu DA team: "Predict khoản vay nào sẽ default trong 12 tháng tới — để provision sớm và giảm exposure."
Credit Scoring Model
DA team xây Application Scoring Model — đánh giá rủi ro tại thời điểm cho vay:
| Feature Category | Features | Weight | Source |
|---|---|---|---|
| Credit History | CIC score, past defaults, credit utilization | 35% | CIC Bureau (Trung tâm Thông tin Tín dụng) |
| Financial Capacity | Income, DTI ratio, existing debt | 25% | Application form + bank statements |
| Stability | Employment tenure, residence stability, years with bank | 15% | Application + internal data |
| Loan Characteristics | Loan amount, tenor, LTV ratio, purpose | 15% | Application |
| Behavioral | Transaction patterns, salary trend, savings habit | 10% | Internal transaction data |
Scoring output:
| Score Range | Risk Grade | PD (Probability of Default) | Decision | Pricing |
|---|---|---|---|---|
| 800-1000 | A (Excellent) | < 1% | Auto-approve | Base rate |
| 650-799 | B (Good) | 1-3% | Auto-approve | Base + 1% |
| 500-649 | C (Fair) | 3-8% | Manual review | Base + 3% |
| 350-499 | D (Poor) | 8-15% | Require collateral | Base + 5% |
| < 350 | E (High Risk) | > 15% | Reject | N/A |
Loan Portfolio Analysis
DA team phân tích portfolio 450,000 tỷ theo segment:
VPBank Loan Portfolio — Risk Dashboard Q3/2025:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Segment Outstanding Share NPL% Trend
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Corporate 175,000 tỷ 38.9% 1.2% → Stable
SME 85,000 tỷ 18.9% 4.8% ↑ Rising ⚠️
Retail Mortgage 105,000 tỷ 23.3% 1.5% → Stable
Consumer (FE) 60,000 tỷ 13.3% 8.2% ↑↑ Alert 🔴
Other 25,000 tỷ 5.6% 2.0% → Stable
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Total 450,000 tỷ 100% 3.4%Early Warning System (EWS)
DA team xây Behavioral Scoring — track hành vi khách vay SAU khi giải ngân:
| Warning Signal | Score Impact | Logic |
|---|---|---|
| Salary deposit giảm 30%+ trong 2 tháng | -80 pts | Income instability |
| Credit card utilization > 90% | -60 pts | Cash flow stress |
| Late payment 1-15 ngày (DPD) | -50 pts | Early delinquency signal |
| Tài khoản tiết kiệm withdraw hết | -40 pts | Emergency liquidity need |
| Nhiều hard inquiries (hỏi vay ngân hàng khác) | -30 pts | Seeking credit elsewhere |
| Giảm transaction frequency 50%+ | -25 pts | Behavioral change |
Result: EWS flagged 12,000 khách FE Credit có risk score giảm > 100 pts trong 3 tháng. DA team recommend: proactive restructuring (gia hạn, giảm lãi) cho 12,000 khách TRƯỚC khi default.
Variance Analysis — Q3 Profitability
python
# VPBank Q3/2025 Variance Analysis
import pandas as pd
pnl = pd.DataFrame({
'line_item': ['Net Interest Income', 'Fee & Commission', 'Trading Income',
'Operating Expense', 'Provision for Bad Debt', 'Pre-tax Profit'],
'budget_bn': [12500, 2800, 1200, -6500, -3200, 6800],
'actual_bn': [11800, 3100, 950, -6800, -4500, 4550]
})
pnl['variance'] = pnl['actual_bn'] - pnl['budget_bn']
pnl['var_pct'] = (pnl['variance'] / pnl['budget_bn'].abs() * 100).round(1)
print("📊 VPBank Q3/2025 P&L Variance:")
for _, r in pnl.iterrows():
flag = '🟢' if (r['variance'] >= 0 and r['budget_bn'] >= 0) or (r['variance'] <= 0 and r['budget_bn'] < 0) else '🔴'
print(f" {flag} {r['line_item']:25s} | Budget: {r['budget_bn']:>+7,} | Actual: {r['actual_bn']:>+7,} | Var: {r['variance']:>+6,} ({r['var_pct']:>+5.1f}%)")Impact
Sau 6 tháng triển khai enhanced credit scoring + EWS:
| Metric | Before (Q2/2025) | After (Q4/2025) | Change |
|---|---|---|---|
| NPL Ratio | 3.4% | 2.6% | -0.8pp |
| Provision cost | 4,500 tỷ/quý | 3,200 tỷ/quý | -29% |
| Approval rate | 62% | 58% | -4pp (tighter standards) |
| Default rate (new loans) | 5.2% | 2.8% | -46% |
| Pre-tax profit | 4,550 tỷ/quý | 6,200 tỷ/quý | +36% |
VPBank Chief Risk Officer: "DA team không chỉ build model — họ change cách bank nghĩ về risk. Trước đây, provision = reactive. Bây giờ, EWS cho chúng tôi 3-6 tháng warning trước khi khoản vay xấu."
Case Study 3: Vinamilk — Supply Chain: Demand Forecasting & Inventory Optimization
Bối cảnh
Vinamilk — công ty sữa lớn nhất Việt Nam (2025):
- Doanh thu: ~62,000 tỷ VND/năm
- Sản phẩm: 250+ SKUs — sữa tươi, sữa chua, sữa bột, nước trái cây
- Nhà máy: 13 nhà máy trên cả nước + nước ngoài
- Phân phối: 220,000+ điểm bán (đại lý, siêu thị, CVS)
- Thách thức unique: Sữa tươi shelf life 7-10 ngày → forecast PHẢI chính xác
Vinamilk Supply Chain team đặt mục tiêu: "Zero waste, zero stockout." Với 250+ SKUs, 13 nhà máy, 220K điểm bán — bài toán demand forecasting cực kỳ phức tạp.
Vấn đề: Waste + Stockout = Mất 180 tỷ/năm
| Problem | Impact/năm | Root Cause |
|---|---|---|
| Sữa tươi expired (waste) | 95 tỷ VND | Over-forecast → sản xuất thừa → quá hạn |
| Stockout (hết hàng) | 85 tỷ VND lost revenue | Under-forecast → không đủ → khách chuyển sang TH True Milk |
| Emergency shipment | 15 tỷ VND logistics | Hết hàng → ship gấp → chi phí gấp 3x |
| Tổng | ~195 tỷ VND/năm | Forecast accuracy chỉ 72% (nên là > 85%) |
Demand Forecasting Model
SC Analytics team xây forecasting model cho sữa tươi — sản phẩm nhạy cảm nhất:
| Factor | Impact on Demand | Data Source |
|---|---|---|
| Seasonality | Hè +20%, Đông -10% | 3 năm POS data |
| Day-of-week | Weekend +30%, Thứ 2 -15% | POS hourly data |
| Promotion | Flash sale +45%, BOGO +60% | Marketing calendar |
| Weather | Nắng nóng > 35°C → +25% nước trái cây | Weather API |
| Holiday | Tết +80%, 30/4 +40% | Vietnamese holiday calendar |
| Competitor activity | TH True Milk promo → -12% Vinamilk | Market intelligence |
| Distribution | New store opening → +demand in zone | Expansion plan |
python
# Vinamilk Demand Forecast Accuracy Tracking
import pandas as pd
import numpy as np
# Monthly forecast accuracy by product category
np.random.seed(14)
categories = ['Sữa tươi', 'Sữa chua', 'Sữa bột', 'Nước trái cây', 'Sữa đặc']
print("📊 VINAMILK — Forecast Accuracy Tracking (6-month)")
print(f"{'Category':15s} | {'Old Acc%':>8s} | {'New Acc%':>8s} | {'Improve':>8s} | {'Waste Reduction':>15s}")
print("─" * 70)
accuracies_old = [72, 78, 85, 68, 88]
accuracies_new = [87, 89, 91, 82, 93]
waste_old = [95, 42, 8, 35, 5] # tỷ VND/năm
for i, cat in enumerate(categories):
improve = accuracies_new[i] - accuracies_old[i]
waste_reduction = waste_old[i] * (improve / 100)
print(f"{cat:15s} | {accuracies_old[i]:>7}% | {accuracies_new[i]:>7}% | {improve:>+7}pp | {waste_reduction:>12.1f} tỷ/năm")Inventory Optimization — Safety Stock Calculation
Vinamilk áp dụng dynamic safety stock — thay đổi theo demand variability:
Trong đó:
= service level factor (1.65 cho 95% service level) = standard deviation of daily demand = lead time (days)
| Product | Avg Daily Demand | σ_d | Lead Time | Safety Stock | DOS |
|---|---|---|---|---|---|
| Sữa tươi 180ml | 85,000 | 12,000 | 2 days | 28,000 | 2.3 days |
| Sữa chua Vinamilk | 62,000 | 8,500 | 3 days | 24,300 | 2.4 days |
| Sữa bột Dielac | 15,000 | 3,200 | 7 days | 14,000 | 5.6 days |
SCOR Metrics Dashboard
Vinamilk SC team áp dụng SCOR Model (Supply Chain Operations Reference) để đo toàn bộ supply chain:
| SCOR Process | Metric | Target | Actual | Gap |
|---|---|---|---|---|
| Plan | Forecast Accuracy | ≥ 85% | 87% | ✅ +2pp |
| Source | Supplier On-Time | ≥ 95% | 92% | ⚠️ -3pp |
| Make | Production Yield | ≥ 98% | 97.5% | ⚠️ -0.5pp |
| Deliver | OTIF | ≥ 93% | 91% | ⚠️ -2pp |
| Deliver | Order Cycle Time | ≤ 48h | 52h | ⚠️ +4h |
| Return | Return Rate | ≤ 1% | 0.8% | ✅ |
Impact
Sau 12 tháng triển khai AI-powered demand forecasting + dynamic inventory:
| Metric | Before | After | Change |
|---|---|---|---|
| Forecast Accuracy | 72% | 87% | +15pp |
| Sữa tươi waste | 95 tỷ/năm | 38 tỷ/năm | -60% |
| Stockout incidents | 1,200/tháng | 420/tháng | -65% |
| Inventory carrying cost | 280 tỷ/năm | 215 tỷ/năm | -23% |
| OTIF | 86% | 91% | +5pp |
| Total savings | — | ~120 tỷ/năm | — |
Vinamilk Supply Chain Director: "Data Analytics team biến supply chain từ reactive thành predictive. Trước đây, chúng tôi sản xuất rồi cầu nguyện bán hết. Bây giờ, chúng tôi forecast, produce, và deliver đúng lúc đúng chỗ."
🔗 So sánh 3 Case Studies
| Dimension | Meta Ads / GlowUp | VPBank | Vinamilk |
|---|---|---|---|
| Industry | Marketing / E-commerce | Banking / Finance | FMCG / Supply Chain |
| Key technique | Attribution + RFM | Credit scoring + EWS | Demand forecast + Safety stock |
| Core KPI | ROAS, CAC, LTV by segment | NPL ratio, PD, Provision cost | Forecast accuracy, OTIF, Waste |
| Key insight | Last-touch overvalues retargeting, undervalues awareness | Behavioral scoring predicts default 3-6 months early | Weather + promotion = major demand drivers |
| Action | Switch to multi-touch, RFM-based budget allocation | Proactive restructuring 12K risky loans | Dynamic safety stock + AI forecasting |
| Business impact | ROAS +38%, Revenue +26% | NPL -0.8pp, Profit +36% | Waste -60%, Savings 120 tỷ/năm |
💡 Lesson chung từ 3 cases
Domain-specific KPIs are everything. Marketing DA đo ROAS attribution, not just clicks. Finance DA đo PD and provision, not just revenue. Supply Chain DA đo OTIF and waste, not just orders shipped.
Models are means, not ends. Credit scoring model tại VPBank chỉ hữu ích khi gắn với EWS → proactive action. Forecast model Vinamilk chỉ có giá trị khi gắn với safety stock → reduce waste.
Cross-functional impact. GlowUp marketing attribution changed budget allocation. VPBank scoring changed lending policy. Vinamilk forecasting changed production planning. DA impact transcends the analytics team.
Data quality = model quality. VPBank cần CIC + internal behavioral data. Vinamilk cần POS + weather + promotion calendar. Without domain-specific data integration, no model works.