Skip to content

🧠 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:

CampaignSpendRevenue (Last-Touch)ROASStatus
Brand Awareness400M240M0.6x🔴
Product Launch (Serum)600M3,600M6.0x🟢
Retargeting Cart350M2,100M6.0x🟢
Lookalike Audience500M2,000M4.0x🟢
Seasonal Promo (Tết)650M2,600M4.0x🟢
Total2,500M10,540M4.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):

TouchpointLast-Touch CreditU-Shape CreditThay đổi
Brand Awareness0%40% (first touch)↑↑↑
Product Launch0%10%
Retargeting100%40% (last touch)↓↓↓
Organic Search0%10%

Khi re-attribute bằng U-Shape:

CampaignROAS (Last-Touch)ROAS (U-Shape)Insight
Brand Awareness0.6x 🔴3.2x 🟢Massive undervaluation!
Product Launch6.0x4.5xStill great
Retargeting6.0x2.8x 🟡Overvalued by last-touch
Lookalike4.0x3.8xStable
Seasonal Promo4.0x3.5xStable

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:

SegmentSizeAvg LTVCampaign StrategyBudget Allocation
Champions (555)12,0004.2MVIP early access, referral rewards5% (low cost)
Loyal (445-455)28,0002.8MCross-sell serum → toàn bộ skincare line15%
New Customers (511-521)35,000800KOnboarding email series, welcome discount20%
At Risk (145-245)22,0002.1MWin-back campaign — priority!25%
Lost (111)45,000350KLow-cost automated email, sunset after 90 days5%
Potential Loyalists (334-344)38,0001.5MLoyalty program invitation, bundle deals30%

Impact

Sau 3 tháng áp dụng multi-touch attribution + RFM-based targeting:

MetricBeforeAfterChange
Blended ROAS4.2x5.8x+38%
Brand Awareness budgetĐang cắtTăng 20%Protected top-of-funnel
Customer Re-activation (At Risk)8%22%+175%
CAC (blended)62K48K-23%
Monthly revenue10.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 CategoryFeaturesWeightSource
Credit HistoryCIC score, past defaults, credit utilization35%CIC Bureau (Trung tâm Thông tin Tín dụng)
Financial CapacityIncome, DTI ratio, existing debt25%Application form + bank statements
StabilityEmployment tenure, residence stability, years with bank15%Application + internal data
Loan CharacteristicsLoan amount, tenor, LTV ratio, purpose15%Application
BehavioralTransaction patterns, salary trend, savings habit10%Internal transaction data

Scoring output:

Score RangeRisk GradePD (Probability of Default)DecisionPricing
800-1000A (Excellent)< 1%Auto-approveBase rate
650-799B (Good)1-3%Auto-approveBase + 1%
500-649C (Fair)3-8%Manual reviewBase + 3%
350-499D (Poor)8-15%Require collateralBase + 5%
< 350E (High Risk)> 15%RejectN/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 SignalScore ImpactLogic
Salary deposit giảm 30%+ trong 2 tháng-80 ptsIncome instability
Credit card utilization > 90%-60 ptsCash flow stress
Late payment 1-15 ngày (DPD)-50 ptsEarly delinquency signal
Tài khoản tiết kiệm withdraw hết-40 ptsEmergency liquidity need
Nhiều hard inquiries (hỏi vay ngân hàng khác)-30 ptsSeeking credit elsewhere
Giảm transaction frequency 50%+-25 ptsBehavioral 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:

MetricBefore (Q2/2025)After (Q4/2025)Change
NPL Ratio3.4%2.6%-0.8pp
Provision cost4,500 tỷ/quý3,200 tỷ/quý-29%
Approval rate62%58%-4pp (tighter standards)
Default rate (new loans)5.2%2.8%-46%
Pre-tax profit4,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

ProblemImpact/nămRoot Cause
Sữa tươi expired (waste)95 tỷ VNDOver-forecast → sản xuất thừa → quá hạn
Stockout (hết hàng)85 tỷ VND lost revenueUnder-forecast → không đủ → khách chuyển sang TH True Milk
Emergency shipment15 tỷ VND logisticsHết hàng → ship gấp → chi phí gấp 3x
Tổng~195 tỷ VND/nămForecast 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:

FactorImpact on DemandData Source
SeasonalityHè +20%, Đông -10%3 năm POS data
Day-of-weekWeekend +30%, Thứ 2 -15%POS hourly data
PromotionFlash sale +45%, BOGO +60%Marketing calendar
WeatherNắng nóng > 35°C → +25% nước trái câyWeather API
HolidayTết +80%, 30/4 +40%Vietnamese holiday calendar
Competitor activityTH True Milk promo → -12% VinamilkMarket intelligence
DistributionNew store opening → +demand in zoneExpansion 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:

Safety Stock=Z×σd×L

Trong đó:

  • Z = service level factor (1.65 cho 95% service level)
  • σd = standard deviation of daily demand
  • L = lead time (days)
ProductAvg Daily Demandσ_dLead TimeSafety StockDOS
Sữa tươi 180ml85,00012,0002 days28,0002.3 days
Sữa chua Vinamilk62,0008,5003 days24,3002.4 days
Sữa bột Dielac15,0003,2007 days14,0005.6 days

SCOR Metrics Dashboard

Vinamilk SC team áp dụng SCOR Model (Supply Chain Operations Reference) để đo toàn bộ supply chain:

SCOR ProcessMetricTargetActualGap
PlanForecast Accuracy≥ 85%87%✅ +2pp
SourceSupplier On-Time≥ 95%92%⚠️ -3pp
MakeProduction Yield≥ 98%97.5%⚠️ -0.5pp
DeliverOTIF≥ 93%91%⚠️ -2pp
DeliverOrder Cycle Time≤ 48h52h⚠️ +4h
ReturnReturn Rate≤ 1%0.8%

Impact

Sau 12 tháng triển khai AI-powered demand forecasting + dynamic inventory:

MetricBeforeAfterChange
Forecast Accuracy72%87%+15pp
Sữa tươi waste95 tỷ/năm38 tỷ/năm-60%
Stockout incidents1,200/tháng420/tháng-65%
Inventory carrying cost280 tỷ/năm215 tỷ/năm-23%
OTIF86%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

DimensionMeta Ads / GlowUpVPBankVinamilk
IndustryMarketing / E-commerceBanking / FinanceFMCG / Supply Chain
Key techniqueAttribution + RFMCredit scoring + EWSDemand forecast + Safety stock
Core KPIROAS, CAC, LTV by segmentNPL ratio, PD, Provision costForecast accuracy, OTIF, Waste
Key insightLast-touch overvalues retargeting, undervalues awarenessBehavioral scoring predicts default 3-6 months earlyWeather + promotion = major demand drivers
ActionSwitch to multi-touch, RFM-based budget allocationProactive restructuring 12K risky loansDynamic safety stock + AI forecasting
Business impactROAS +38%, Revenue +26%NPL -0.8pp, Profit +36%Waste -60%, Savings 120 tỷ/năm

💡 Lesson chung từ 3 cases

  1. 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.

  2. 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.

  3. 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.

  4. 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.