Hướng dẫn đọc chỉ số
Giải thích ý nghĩa, cách dùng, và tình trạng thật của toàn bộ ~30 chỉ số trong 6 module của dashboard — không chỉ liệt kê công thức, mà nói rõ chỉ số này giúp quản lý ra quyết định gì.
1. Kinh doanh
Câu hỏi module này trả lời: "Công ty đang bán được bao nhiêu, và có thực sự lãi không?"
GMV — Tổng giá trị đơn hàng
Đã làmLà gì: GMV = tổng giá trị hàng hoá bán ra, TRƯỚC khi trừ mọi chi phí. GMV cao không có nghĩa là kiếm được nhiều tiền.
Ví dụ: 100 đơn × 500.000đ = 50 triệu GMV — không có nghĩa là đã kiếm được 50 triệu.
Dùng để: Trả lời: quy mô kinh doanh đang lớn lên hay nhỏ đi? Khi GMV đổi, luôn phân rã GMV = Số đơn × AOV để biết tăng/giảm do nhiều đơn hơn, giá trị đơn cao hơn, ads, khuyến mãi hay 1 campaign đặc biệt.
Lưu ý: 4 đòn bẩy tăng GMV: tăng traffic, tăng conversion, tăng số đơn, tăng AOV.
Trạng thái thật: Có GMV theo ngày/tháng, toàn bộ lịch sử thật 22 tháng (10/2024 → nay), không phải số giả.
Số đơn & AOV
Đã làmLà gì: Số đơn = số giao dịch thật xảy ra. AOV (Average Order Value) = GMV / Số đơn — giá trị trung bình 1 đơn mang lại.
Ví dụ: GMV 1 tỷ: 1.000 đơn → AOV 1 triệu; 2.000 đơn → AOV 500k. Cùng GMV nhưng chiến lược kinh doanh khác hẳn.
Dùng để: AOV thấp có thể cải thiện bằng combo, mua 2 giảm giá, upsell/cross-sell, freeship theo ngưỡng.
Lưu ý: Cẩn thận: AOV tăng nhờ giảm giá quá mạnh thì doanh thu tăng nhưng margin có thể giảm — AOV tăng không đồng nghĩa lãi tăng.
Trạng thái thật: Có sẵn trên Overview, tính từ đơn hàng thật.
% đạt KPI
Đã làmLà gì: % đạt = Thực tế / Mục tiêu (KPI) đặt ra.
Ví dụ: KPI GMV tháng = 2 tỷ, thực tế 1,6 tỷ → % đạt = 80%.
Dùng để: Không chỉ hỏi "đạt bao nhiêu %", mà hỏi "vì sao không đạt?" — thiếu traffic? conversion thấp? AOV thấp? hết hàng? campaign không hiệu quả?
Trạng thái thật: Đổi mô hình 2026-08-16: target chỉ nhập theo (Platform, Quý) — "Cả năm"/"All Channels" chỉ là VIEW cộng lại đúng những ô đã nhập, quý/kênh nào chưa nhập thì bỏ qua, không suy đoán. Đã thêm dự báo tốc độ đạt KPI ("At this pace, projected X% by [ngày cuối kỳ]") — chỉ là suy diễn tuyến tính đơn giản (actual ÷ ngày đã qua × tổng ngày trong kỳ), không phải dự báo nhu cầu/mùa vụ thật, luôn có disclaimer.
COGS — Giá vốn hàng bán
Một phầnLà gì: Chi phí trực tiếp để có sản phẩm bán cho khách (giá nhập/sản xuất).
Ví dụ: Bán 500k, giá vốn 250k → COGS = 250k.
Dùng để: Là nền tảng để tính Lợi nhuận gộp = Doanh thu − COGS.
Lưu ý: COGS cao có thể do giá nhập cao, sản xuất đắt, SKU margin thấp, hao hụt, hoặc giá bán quá thấp. Cải thiện: đàm phán nhà cung cấp, tăng MOQ, tối ưu sản xuất, tăng giá, loại SKU margin thấp.
Trạng thái thật: Cơ chế tính đúng (tự nổ SKU bundle + tra đúng giá vốn theo thời điểm đơn hàng), nhưng hiện chỉ 1/23 tháng có giá vốn đầy đủ — 25/38 SKU chưa từng được nhập giá vốn, 13 SKU còn lại chỉ áp dụng từ 01/2026. Đã có chế độ "Estimated margin" (giả định 50% margin cho đúng phần còn thiếu, luôn đánh dấu rõ bằng dấu *) để xem trước hình dạng đầy đủ trong lúc chờ nhập giá vốn thật.
Lợi nhuận gộp
Một phầnLà gì: Lợi nhuận gộp = Doanh thu − COGS. Gross Margin % = Lợi nhuận gộp / Doanh thu.
Ví dụ: Doanh thu 1 tỷ, COGS 600tr → Gross Profit 400tr, Margin 40%.
Dùng để: Nếu doanh thu tăng mà gross profit không tăng tương ứng → chất lượng tăng trưởng đang có vấn đề (giảm giá quá nhiều, bán SKU margin thấp, COGS tăng, khuyến mãi quá mạnh).
Trạng thái thật: Phụ thuộc trực tiếp vào COGS — cùng tình trạng ở trên. Đây là con số quan trọng nhất cần nhập đủ giá vốn thật để tin được. Đã thêm cảnh báo tự động (2026-08-16): tháng nào ĐÃ có đủ giá vốn thật (costDataComplete) mà margin âm (lỗ ròng) sẽ tự báo ở Alert Center — nếu đã nhập target gross_margin_pct thì báo sớm hơn khi lệch target 5-10 điểm %, chưa nhập target thì chỉ báo khi lỗ ròng thật.
2. Marketing
Câu hỏi module này trả lời: "Tiền marketing bỏ ra có tạo ra doanh thu hợp lý không?"
Chi phí Ads
Đã làmLà gì: Tổng tiền chi cho quảng cáo, theo từng platform.
Ví dụ: Facebook 100tr + TikTok 150tr + Shopee Ads 50tr = 300tr.
Dùng để: Bản thân số này không nói tốt/xấu — phải nhìn cùng ROAS/ACOS, CAC, MER.
Trạng thái thật: Đã đo thật cho Shopee Ads, verify khớp Ads Manager (sai lệch dưới 2%). Lưu ý: Shopee giới hạn cứng chỉ cho đọc 6 tháng gần nhất — không sửa được bằng code.
ROAS / ACOS
Đã làmLà gì: ROAS = Doanh thu Ads / Chi phí Ads. ACOS = Chi phí Ads / Doanh thu Ads (2 cách nhìn ngược nhau).
Ví dụ: Ads 100tr → Doanh thu 500tr → ROAS = 5, ACOS = 20%.
Dùng để: Đo hiệu quả từng kênh/campaign quảng cáo.
Lưu ý: Bẫy lớn: ROAS cao không chắc có lời — phải trừ tiếp COGS + phí sàn mới biết lãi thật, không dừng ở ROAS.
Trạng thái thật: ROAS blended all-time hiện 12.2x (khoẻ), ROAS 7 ngày gần nhất được Alert Center theo dõi riêng.
% ngân sách dùng
Một phầnLà gì: = Đã tiêu / Ngân sách đặt ra.
Ví dụ: Ngân sách 500tr, đã tiêu 400tr → 80%.
Dùng để: Biết tiêu ngân sách nhanh/chậm so với kế hoạch — tiêu quá nhanh giữa tháng = overspend, tiêu quá chậm = không scale được.
Trạng thái thật: Cơ chế đã có sẵn, nhưng chưa ai nhập ads_budget target nên đang hiện "—". Chỉ cần nhập qua form KPI target là có số ngay. Đã thêm cảnh báo tự động (2026-08-16): nếu tiêu ads nhanh hơn hẳn tốc độ ngày trôi qua trong tháng (>1.3x = warning, >1.6x = critical), Alert Center sẽ báo — nhưng cũng CHỈ chạy khi đã có target, chưa nhập thì chưa có cảnh báo này.
MER — Marketing Efficiency Ratio
Đã làmLà gì: = Tổng doanh thu / Tổng chi phí marketing — nhìn TOÀN BỘ marketing công ty, không phải riêng 1 campaign.
Dùng để: ROAS trả lời "1 campaign hiệu quả không", MER trả lời "toàn bộ marketing công ty hiệu quả không" — hữu ích cho CEO/Owner.
Trạng thái thật: Có card riêng trên Marketing & Ads.
CAC / CAC-AOV
Đã làmLà gì: CAC = Chi phí marketing / Số khách mới. Đặt cạnh AOV để xem chi phí mua khách có ăn quá nhiều vào giá trị đơn đầu không.
Ví dụ: AOV 500k, CAC 100k → ổn. AOV 200k, CAC 150k → đáng lo.
Trạng thái thật: Hiện CAC chỉ RM 8,7/khách — rất rẻ so với AOV, đúng vì hiện chỉ có 1 kênh Shopee organic mạnh.
3. SKU & Tồn kho
Câu hỏi module này trả lời: "Sản phẩm nào đang kiếm tiền? Sản phẩm nào đang chôn tiền? Có đủ hàng để bán không?"
Sản lượng & GMV theo SKU
Đã làmLà gì: GMV và số lượng bán ra của từng SKU.
Dùng để: Biết SKU nào bán chạy, SKU nào tạo doanh thu — nhưng đừng chỉ nhìn GMV, phải nối tiếp GMV → Gross Profit → tồn kho (SKU GMV cao có thể margin thấp, SKU GMV thấp có thể margin cực cao).
Trạng thái thật: Có bảng đầy đủ theo SKU (38 SKU thật từng bán, tự nổ bundle ra sản phẩm thật).
Giá vốn / đơn vị
Đã làmLà gì: Giá vốn của từng SKU — nền tảng để quyết định giá bán, discount, ads tối đa, SKU nào nên scale.
Ví dụ: Giá bán 500k, giá vốn 200k → gross profit trước chi phí khác = 300k.
Trạng thái thật: Có form nhập/sửa/xoá giá vốn theo từng đợt thời gian đầy đủ (kể cả đổi ngày áp dụng an toàn) — nhưng số liệu thật chưa nhập hết, xem mục COGS ở module 1.
Sell-through rate
Đã làmLà gì: = Số bán / (Số bán + Tồn cuối kỳ) — hàng nhập vào có bán được nhanh không.
Dùng để: Cao = hàng chạy tốt. Thấp = sản phẩm không hấp dẫn/giá cao/marketing yếu/nhập quá nhiều — dùng để quyết định nhập thêm hay dừng nhập.
Trạng thái thật: Đã tính theo đúng công thức trên (Shopee không cho tồn đầu kỳ nên dùng công thức này thay vì công thức chuẩn ngành).
Tồn kho đầu/cuối kỳ
Một phầnLà gì: Lượng vốn đang nằm trong kho — mục tiêu không phải "càng thấp càng tốt" mà là vừa đủ để không mất doanh thu nhưng không chôn quá nhiều vốn.
Trạng thái thật: Chỉ có tồn CUỐI kỳ (hiện tại) đọc từ Shopee — không có tồn đầu kỳ (Shopee API không trả lịch sử nhập/xuất). Đang chờ xác nhận: tồn kho thật của công ty nằm ở hệ thống Misa (CRM/kho), chưa kết nối — số trên Shopee có thể KHÔNG phải tồn thật.
Tỷ lệ hoàn/hủy
Đã làmLà gì: = Đơn hoàn/hủy / Tổng đơn.
Dùng để: Chỉ số cảnh báo mạnh — nên phân theo SKU × Kênh × campaign × lý do để tìm đúng nguyên nhân (sản phẩm, đóng gói, logistics, CSKH...), không chỉ nhìn tổng.
Trạng thái thật: Đã tính theo SKU thật từ toàn bộ lịch sử (95/1.576 đơn, 6,0%). Riêng lý do hoàn/hủy (reason code) không làm được — đã xác nhận Shopee không trả field này ở bất kỳ API nào. Đã thêm cảnh báo tự động (2026-08-16): so tỷ lệ hoàn/hủy 30 ngày gần nhất với baseline ~150 ngày trước, chỉ đánh giá SKU có đủ mẫu ở cả 2 cửa sổ (>=10 đơn) để tránh nhiễu.
4. Kênh & Thị trường
Câu hỏi module này trả lời: "Doanh nghiệp đang kiếm tiền từ đâu?"
GMV theo kênh
Đã làmLà gì: GMV tách theo từng sàn/kênh bán (Shopee, Lazada, TikTok Shop...).
Trạng thái thật: Đã có, hiện chỉ Shopee thật có dữ liệu (5 sàn còn lại chưa kết nối — Plan 4).
% phí sàn / GMV
Đã làmLà gì: Một phần doanh thu đang bị nền tảng lấy đi bao nhiêu — dùng để so sánh "kênh nào thực sự kiếm được nhiều tiền hơn", không chỉ "kênh nào bán nhiều hơn".
Trạng thái thật: Verify khớp phí thật trên Seller Center.
Giao đúng hạn
Một phầnLà gì: % đơn giao đúng hạn — ảnh hưởng trải nghiệm khách, rating, tỷ lệ hoàn, khả năng mua lại.
Trạng thái thật: Shopee không trả mốc SLA/ngày giao dự kiến nào để tính % "đúng hạn" thật — không có cách nào bịa ra con số này trung thực. Đã thay bằng chỉ số thật khác: Thời gian giao hàng trung bình (hiện ~2,3 ngày, tính từ đặt đơn đến giao thành công thật).
Payout TB
Đã làmLà gì: Số tiền thực tế nền tảng trả về sau khấu trừ (phí, commission, voucher, refund...) — trung bình.
Dùng để: Hữu ích để quản lý dòng tiền theo từng kênh — nếu GMV 1 tỷ mà payout chỉ 700tr, phải biết rõ 300tr còn lại nằm ở đâu.
Trạng thái thật: Verify khớp payout thật trên Seller Center.
5. Khách hàng & Affiliate
Câu hỏi module này trả lời: "Khách mua một lần rồi biến mất, hay tiếp tục tạo ra tiền cho doanh nghiệp?"
Phí & ROI Affiliate
Chưa làmLà gì: Hiệu quả tiền hoa hồng trả cho affiliate/KOL so với doanh thu/lợi nhuận họ tạo ra.
Trạng thái thật: Đã chốt từ đầu dự án: doanh nghiệp không chạy affiliate/KOL nào — không nằm trong phạm vi dự án, không phải "chưa làm được".
LTV — Customer Lifetime Value
Đã làmLà gì: Một khách hàng trung bình mang lại bao nhiêu giá trị trong suốt thời gian họ mua hàng.
Dùng để: Phải nhìn cùng CAC — CAC 200k mà khách chỉ mua 1 lần 250k thì rất khó, nhưng nếu khách mua đời 2 triệu thì CAC 200k lại rất hấp dẫn.
Trạng thái thật: Tính all-time (trọn đời), hiện RM 106/khách trung bình.
LTV : CAC ratio
Đã làmLà gì: Quyết định có nên tiếp tục đổ tiền mua khách không.
Ví dụ: LTV 1,5tr, CAC 500k → LTV:CAC = 3:1 — 1 đồng mua khách tạo ra khoảng 3 đồng giá trị đời khách.
Lưu ý: Ratio thấp (vd 1,2:1) → acquisition nguy hiểm. Ratio tốt → có thể scale marketing.
Trạng thái thật: Hiện 12.2x (rất khoẻ) sau khi có đủ 22 tháng dữ liệu thật — trước đó khi mới có ~1 tháng data từng hiện 0.86x (báo động đỏ), là ví dụ thật cho thấy cỡ mẫu dữ liệu ảnh hưởng lớn đến độ tin cậy của chỉ số này.
Repeat Rate
Đã làmLà gì: Tỷ lệ khách hàng quay lại mua.
Dùng để: Repeat rate thấp → phải liên tục mua khách mới → mất khách → lại mua khách mới, chi phí marketing ngày càng nặng.
Lưu ý: Cải thiện bằng CRM, chăm sóc sau mua, loyalty, remarketing, ưu đãi mua lại.
Trạng thái thật: Hiện 14,6% (173/1.184 khách) — mẫu đủ lớn để tin được sau khi có đủ 22 tháng dữ liệu. Đã thêm cảnh báo tự động (2026-08-16): so cumulative repeat rate tháng gần nhất với đúng 3 tháng trước, báo khi giảm >=3 điểm % (chỉ khi mẫu >=50 khách) — 1 cú giảm thật thường nghĩa là tốc độ acquire khách mới đang vượt xa tốc độ khách cũ quay lại mua.
Chu kỳ mua lại TB
Đã làmLà gì: Số ngày trung bình khách quay lại mua đơn thứ 2.
Dùng để: Dùng để lập kế hoạch remarketing — nếu chu kỳ 45 ngày, có thể bắt đầu remarketing từ ngày 30-40.
Trạng thái thật: Hiện ~108 ngày (n=173 khách mua lại).
6. Vận hành & Kế hoạch
Câu hỏi module này trả lời: "Biến dữ liệu thành hành động quản trị thực tế."
Kế hoạch vs thực hiện
Đã làmLà gì: So sánh nhiều chỉ số cùng lúc (GMV, đơn, Ads) với kế hoạch — phát hiện tình huống lệch pha, ví dụ doanh thu thấp hơn kế hoạch NHƯNG ads lại vượt ngân sách.
Trạng thái thật: = chính "% đạt KPI" ở module 1, dùng lại đúng cơ chế, không phải chỉ số riêng.
Ghi nhận vấn đề vận hành
Chưa làmLà gì: Không phải KPI — là nhật ký vấn đề (đóng gói chậm, hết SKU, sai tồn kho...) kèm số lần + mức ảnh hưởng, để nối "số liệu → nguyên nhân → hành động".
Trạng thái thật: Chưa làm — đang chờ quyết trang nào chứa (đã đề xuất gộp vào 1 trang "Operations" mới, chưa được xác nhận).
Tồn kho / hết hàng theo SKU
Một phầnLà gì: Phát hiện "có tiền mà không bán được vì không có hàng" — đặc biệt nguy hiểm khi marketing đang đẩy ads cho đúng SKU sắp hết hàng.
Trạng thái thật: Có cảnh báo tự động khi SKU sắp/đã hết hàng (Alert Center) + trạng thái hiện tại trên Products — nhưng chưa có log lịch sử hết hàng theo thời gian.
Hiệu suất từng chương trình Ads
Đã làmLà gì: Đồng bộ trực tiếp từng chiến dịch Shopee Ads (không phải campaign tự nhập tay) — tên, SKU, ngân sách, trạng thái, và impression/click/chi phí/GMV theo từng ngày.
Lưu ý: direct_* = quy về đúng SKU đang chạy ads; broad_* = tính cả đơn từ SKU khác trong shop sau khi khách bấm ads.
Trạng thái thật: Cập nhật 2026-08-16: ĐÃ đồng bộ tự động vào DB (93 campaign, 4.785 dòng performance), có cron riêng chạy hàng ngày cho cả Shopee Ads (nội sàn) và Meta Ads (ngoại sàn, chạy CPAS vào Shopee) — xem PROJECT_STATUS.md mục 2b. Lưu ý: lịch sử Shopee Ads chỉ tới 6 tháng gần nhất (giới hạn cứng Shopee, không sửa được).
ROAS theo từng chương trình Ads
Đã làmLà gì: ROAS tính riêng cho từng chiến dịch ads (direct_roi/broad_roi) — biết chương trình nào nên Scale / Giữ / Giảm / Dừng, thay vì chỉ nhìn ROAS trung bình cả tháng.
Trạng thái thật: Cập nhật 2026-08-16: Shopee Ads dùng ROAS thật Shopee tự tính (roasSource: native); Meta Ads không có ROAS thật (Shopee không cho cài Pixel) nên tự tính bằng cách đối chiếu order_items thật cùng SKU/khung ngày (roasSource: computed, luôn đánh dấu rõ). Có popup giải thích cơ chế ngay trên trang.