Đi đến nội dung chính
D2 Group

Commerce case study · Multi-SKU food commerce

Doanh thu tăng chưa đủ khi mỗi SKU mang một cost structure khác nhau.

Wins Food cho thấy vì sao multi-SKU commerce phải được đọc từ product economics. D2 đưa Orders, Settlement/Income, Ads, product cost và packaging vào cùng một control model để quyết định dựa trên contribution và product mix thay vì topline alone.

Direct answer

D2 giải bài toán gì cho Wins Food?

Tách total-shop growth khỏi SKU-level economics. Một VND doanh thu từ hai product groups khác nhau không nhất thiết tạo cùng contribution. Vì vậy sales phải được nối về đúng cost master, packaging, Ads và marketplace deductions trước khi quyết định tăng budget hay assortment attention.

Why multi-SKU economics matters

Cùng một mức doanh thu không tạo cùng một mức contribution.

01

Mỗi SKU có economics khác nhau

Product groups có ingredient, unit cost, bundle structure và packaging khác nhau không thể được đánh giá bằng một blended margin giả định cho toàn shop.

02

Ads có thể tăng nhanh hơn contribution

Paid traffic có thể kéo topline lên trong khi Ads, fees và product cost hấp thụ phần margin còn lại; GMV tăng không tự động có nghĩa economics tốt hơn.

03

Packaging là một phần của unit economics

Với food commerce, product cost không phải order-level cost duy nhất. Packaging cần đứng riêng để contribution không bị overstate.

04

Product mix có thể làm total-shop number gây hiểu nhầm

Shop có thể tăng doanh thu nhưng mix chuyển sang nhóm sản phẩm contribution thấp hơn, khiến total-shop growth che nơi margin thực sự được tạo hoặc mất đi.

05

Monthly reporting quá chậm cho operating decision

Ads, campaign participation, pricing và assortment có thể thay đổi economics trong vài ngày; review cycle phải đủ ngắn để sửa trước khi thành month-end surprise.

Profitability model

Sales → deductions → Ads → COGS → packaging → contribution.

Mục tiêu không phải tạo một spreadsheet lớn hơn. Mục tiêu là giữ từng commercial layer đủ tách biệt để thấy product mix hoặc cost layer nào đang thay đổi kết quả.

01

Sales activity

Bắt đầu từ sales period, order mix và product mix thực tế trên marketplace.

02

Revenue basis

Tách marketplace sales activity khỏi adjustments và settlement timing để biết đang đọc sales-period economics hay cash movement.

03

Platform + promotion cost

Fees, vouchers và campaign economics được attach theo basis tương ứng thay vì gộp tất cả thành một tỷ lệ giả định cố định.

04

Ads

Paid acquisition cost được đặt trong cùng period với product/category decision mà spend đang hỗ trợ.

05

COGS + packaging

Áp đúng cost structure theo SKU/product group và order-level packaging trước khi đọc contribution.

06

Contribution

Management operating view dùng để quyết định scale, reprice, rebundle, hold Ads hoặc fix leakage; không mặc định là statutory accounting profit.

Evidence basis

Năm nguồn trả lời năm câu hỏi khác nhau.

Sales-period evidence, settlement evidence và cost evidence được giữ riêng trước khi reconcile. Điều đó bảo toàn khác biệt giữa marketplace activity, cash movement và profitability.

01

Orders

Cho biết sản phẩm nào bán, số lượng, bundle/product combination và sales-period identity trong kỳ đã khai báo.

02

Settlement / Income

Cho biết marketplace-side income, deductions, adjustments và cash-settlement timing; nguồn này không được dùng thay sales-period economics.

03

Ads spend

Paid acquisition layer cần được căn về cùng review period và commercial basis trước khi so với product contribution.

04

Product cost master

Nguồn COGS ở cấp SKU hoặc product group. Missing cost không được thay bằng zero và blended shop-level guess không được dùng để che khác biệt thật.

05

Packaging cost

Order-level cost được giữ visible riêng để food-commerce contribution không bị overstate hoặc lẫn vào product cost một cách khó audit.

Cost controls

COGS chỉ hữu ích khi identity, period và exceptions được kiểm soát.

01

Canonical SKU / product-group mapping

Order line cần map tới đúng SKU hoặc product group trước khi attach cost; mapping gap phải visible thay vì đẩy về một default margin.

02

Historical cost basis

Khi cost thay đổi theo thời gian, review lịch sử phải dùng effective-period cost phù hợp thay vì mặc định áp current cost ngược về toàn bộ quá khứ.

03

Packaging tách khỏi COGS

Tách packaging giúp team thấy leakage nằm ở product economics hay order-level handling thay vì chỉ nhìn một cost bucket tổng.

04

Missing cost là exception

Nếu SKU chưa có cost hoặc mapping chưa chắc chắn, record phải đi vào exception state; zero chỉ được dùng khi zero là source-backed truth.

05

Bundle economics cần explicit allocation

Bundle hoặc combo cần rule phân bổ cost rõ nếu decision được đọc ở cấp component/SKU; không nên chia đều theo giả định nếu source logic không support.

Guardrail: missing COGS, unmatched SKU hoặc cost version chưa xác định phải được giữ như exception. Không được biến data gap thành margin tốt hơn bằng cách mặc định cost = 0.

Operating loop

Từ consolidation sang short-cycle commercial control.

Normalize product economics

Chuẩn hóa cost basis, SKU identity và product-group rules để contribution không bị distorted bởi một blended margin assumption.

Reconcile commercial sources

Orders, Settlement/Income, Ads, product cost và packaging được đưa về cùng review basis trước khi so sánh performance.

Read product mix

Xác định nhóm nào đang tạo contribution, nhóm nào hấp thụ spend và nhóm nào cần pricing, bundle hoặc traffic decision.

Keep exceptions visible

Missing cost, mapping gap, unmatched settlement hoặc unexplained difference phải còn visible đến khi được xử lý.

Shorten the review cycle

Dùng review window ngắn hơn để campaign, Ads và assortment changes được sửa trước khi một tháng dữ liệu xấu tích tụ.

Decision framework

Scale, reprice, hold, shift hoặc fix — theo economics.

01

Scale

Tăng traffic hoặc operating attention cho product group vẫn nằm trong contribution guardrail và có data confidence đủ để support quyết định.

02

Reprice / rebundle

Thay selling structure khi demand có nhưng current offer để lại contribution headroom quá thấp sau fees, Ads, COGS và packaging.

03

Hold Ads

Không tăng paid traffic khi SKU/campaign economics chưa đủ mạnh để hấp thụ acquisition cost cao hơn.

04

Shift assortment attention

Dịch budget, merchandising hoặc operating focus về nhóm có economics tốt hơn khi product mix đang kéo total-shop contribution xuống.

05

Fix leakage

Sửa fee, cost, packaging, mapping hoặc reconciliation issue trước khi coi reported result là decision-ready.

What this case demonstrates

Multi-SKU growth cần một economics model đủ chi tiết để ra quyết định.

Giá trị của case nằm ở việc nối product identity, cost structure, packaging, Ads và settlement vào cùng decision loop. Điều đó giúp team biết tăng trưởng đến từ nhóm nào và margin đang bị rò ở đâu.

Claim boundary

Page không biến incomplete cost data thành quantified success.

Không public quantified lift khi basis chưa đủ: Case không công bố GMV lift, profit lift hoặc contribution uplift nếu reporting period, cost basis và reconciliation scope chưa được xác nhận để public.

Topline growth không bằng profitability: Revenue tăng có thể đi cùng product-mix deterioration hoặc Ads/cost leakage; case không dùng topline làm proxy cho profit.

Missing COGS không bằng zero: SKU thiếu cost hoặc mapping chưa chắc chắn là exception state, không phải bằng chứng rằng sản phẩm có cost bằng zero.

Current cost không mặc định là historical cost: Nếu cost master thay đổi, historical economics chỉ reproducible khi effective period hoặc cost version phù hợp được giữ lại.

Contribution không bằng payout: Contribution đọc economics của sales period; Settlement/Payout đọc cash movement và platform timing. Hai view phải được giữ riêng.

Case không phải accounting statement: Contribution view là management operating model trong scope đã định nghĩa; không thay báo cáo tài chính hoặc statutory accounting.

Wins Food case study FAQ

Những gì case này chứng minh — và không chứng minh.

D2 đã làm gì trong case Wins Food?

D2 tổ chức multi-SKU commerce reporting quanh Orders, Settlement/Income, Ads, product cost master và packaging để team có thể đọc contribution theo SKU hoặc product group thay vì chỉ nhìn tổng doanh thu shop.

Tại sao shop nhiều SKU không nên chỉ nhìn tổng GMV hoặc doanh thu?

Vì mỗi nhóm sản phẩm có thể có COGS, packaging, promotion và Ads economics khác nhau. Total-shop growth có thể tăng trong khi product mix chuyển sang nhóm contribution thấp hơn.

Wins Food case dùng những nguồn dữ liệu nào?

Evidence basis gồm Orders, Settlement/Income, Ads spend, product cost master và packaging cost. Các nguồn này được giữ vai trò riêng và reconcile trước khi kết luận contribution.

Packaging cost có thật sự cần tách riêng không?

Có nếu packaging là order-level variable cost có ý nghĩa. Tách riêng giúp tránh overstate contribution và giúp phân biệt leakage nằm ở product cost hay fulfillment/handling layer.

Nếu một SKU chưa có COGS thì D2 tính bằng 0 được không?

Không. Missing COGS là exception cần được xử lý hoặc đánh dấu incomplete. Chỉ dùng zero khi source truth thực sự xác nhận cost bằng zero.

Tại sao historical COGS quan trọng?

Nếu cost thay đổi theo thời gian, dùng current cost cho toàn bộ lịch sử có thể làm sai historical contribution. Reproducible reporting cần effective-period cost hoặc cost version phù hợp.

Contribution có phải lợi nhuận kế toán của Wins Food không?

Không mặc định. Contribution trong case là management operating view sau các variable costs được định nghĩa trong scope; nó không thay statutory accounting hoặc báo cáo tài chính.

Contribution có giống payout từ TikTok Shop hoặc Shopee không?

Không. Contribution trả lời economics của sales period, còn Settlement/Payout phản ánh cash movement, deductions và platform timing. Hai view phải được tách trước khi reconcile.

Short-cycle reporting giúp gì cho multi-SKU food commerce?

Nó giúp team thấy sớm tác động của Ads, pricing, campaign và product mix lên contribution để sửa trong vài ngày hoặc một review window ngắn hơn thay vì chờ month-end.

Case Wins Food có công bố GMV hoặc profit lift không?

Không có quantified lift được public nếu reporting period, cost basis và reconciliation scope chưa đủ xác nhận. Case này chứng minh evidence model, operating method và decision logic.

Case này dẫn tới những quyết định vận hành nào?

Các quyết định gồm Scale, Reprice/Rebundle, Hold Ads, Shift assortment attention và Fix leakage tùy product economics và data confidence.

Nếu doanh thu tăng thì khi nào vẫn nên Hold Ads?

Khi tăng trưởng topline không đi cùng contribution headroom đủ lớn sau fees, Ads, COGS và packaging, hoặc khi data quality chưa đủ để chứng minh economics chịu được spend cao hơn.

From case to scope

Nếu shop có nhiều SKU, proposal nên bắt đầu từ cost truth và product mapping.

D2 có thể bắt đầu từ Orders, Ads, settlement, cost master và packaging hiện có để xác định data coverage, exception gap và commercial review model phù hợp trước khi automation hoặc dashboard hóa.

Xem Commerce Reporting