How to Calculate True Net Margin by Channel for CPG Brands
Gross margin is the same number whether you sell through UNFI, Amazon, or your own website. Net margin is not. Here is how to calculate the real number for each channel.
Most CPG brands know their gross margin. Fewer know their net margin by channel. The gap between those two numbers is where most of the financial surprises in CPG come from.
Gross margin tells you how much you make after subtracting the cost to produce the product. Net margin by channel tells you how much you actually keep after every fee, deduction, and cost associated with selling through that specific channel. For a typical CPG brand, gross margin might be 45%. Net margin on the wholesale channel might be 12%. Net margin on Amazon might be 8%. Net margin on DTC might be 22%. Those are three very different businesses, and you cannot optimize what you do not measure.
Why Gross Margin Misleads CPG Brands
Gross margin subtracts COGS from revenue. For a CPG brand, COGS covers raw materials, packaging, co-packer fees, and inbound freight to the 3PL. That is a real cost, but it is not the full cost of selling the product. The channel costs come after COGS, and they vary dramatically by where you sell.
When a brand sells through UNFI to Whole Foods, the channel costs include the distributor margin (typically 18-22% off invoice), promotional allowances (5-15% depending on the program), freight from the 3PL to the UNFI warehouse, broker commissions (5% of net sales is common), and a spoilage allowance (1-3%). Stack all of that on top of a 45% gross margin and the net margin on that channel can easily be 10-15%.
When the same brand sells on Amazon, the channel costs are different: referral fee (8% for grocery), FBA fulfillment fee (weight-based, typically $3-5 per unit), advertising cost (15-25% of revenue for most food brands), and storage fees. No broker, no distributor margin, but a very different fee structure that requires its own calculation.
The Worked Example: A $10 MSRP Product Across Three Channels
Consider a 6oz organic granola bar with a $10 MSRP and a landed COGS of $2.50. Here is what the brand actually nets in each channel.
Channel 1: Wholesale via UNFI to Natural Grocery
The brand sells to UNFI at a suggested wholesale price of $5.50 (a 45% gross margin). But that $5.50 is the invoice price, not what the brand receives.
| Item | Amount | Notes |
|---|---|---|
| Invoice price to UNFI | $5.50 | Wholesale price |
| Distributor off-invoice allowance | -$0.55 | 10% promotional allowance |
| Freight to UNFI warehouse | -$0.18 | ~3% of invoice, FOB destination |
| Broker commission | -$0.25 | 5% of net sales |
| Spoilage allowance | -$0.11 | 2% of net sales |
| Net revenue per unit | $4.41 | |
| Landed COGS | -$2.50 | |
| Net margin per unit | $1.91 | 19.1% of invoice price |
Channel 2: Amazon FBA
The brand lists at $10.99 on Amazon. Here is the full fee stack.
| Item | Amount | Notes |
|---|---|---|
| Amazon selling price | $10.99 | Listed price |
| Referral fee (8%) | -$0.88 | Grocery category |
| FBA fulfillment fee | -$3.22 | Small standard, 6oz product |
| Monthly storage fee | -$0.08 | Estimated per unit |
| Advertising cost | -$1.65 | 15% of revenue (typical for food) |
| Inbound freight to Amazon | -$0.20 | Per unit to FBA warehouse |
| Net revenue per unit | $4.96 | |
| Landed COGS | -$2.50 | |
| Net margin per unit | $2.46 | 22.4% of selling price |
Channel 3: Shopify DTC
The brand sells at $12.99 on their own website with free shipping over $35. Most orders contain 2-3 units.
| Item | Amount | Notes |
|---|---|---|
| Selling price | $12.99 | DTC price premium |
| Discount / promo codes | -$0.65 | 5% average discount rate |
| Payment processing (Shopify) | -$0.41 | 2.9% + $0.30, allocated per unit |
| Outbound shipping label | -$1.80 | Allocated per unit in multi-unit order |
| DTC packaging (shipper box, fill) | -$0.45 | Channel BOM overlay cost |
| Returns / chargebacks | -$0.26 | 2% return rate allocated |
| Net revenue per unit | $9.42 | |
| Landed COGS | -$2.50 | |
| Net margin per unit | $6.92 | 53.3% of selling price |
The Channel Comparison
| Channel | Selling Price | Net Revenue/Unit | Net Margin/Unit | Net Margin % |
|---|---|---|---|---|
| Wholesale (UNFI) | $5.50 invoice | $4.41 | $1.91 | 19.1% |
| Amazon FBA | $10.99 | $4.96 | $2.46 | 22.4% |
| Shopify DTC | $12.99 | $9.42 | $6.92 | 53.3% |
DTC is dramatically more profitable per unit, but it requires customer acquisition spend (not included above) that wholesale and Amazon do not. The point is not that DTC is always better. The point is that you cannot make channel allocation decisions without knowing these numbers.
The Channel BOM Overlay
One concept that most brands miss is the channel BOM overlay. Your base landed COGS covers the product as it sits in your 3PL in a master case. But selling through DTC requires additional packaging: a branded shipper box, void fill, a packing slip, and sometimes a branded insert card. Those costs are real and they belong in your DTC COGS, not in your base COGS. If you use the same COGS number for DTC and wholesale, your DTC margin is overstated.
Similarly, selling on Amazon requires inbound prep (poly bags, labels, case pack configuration for FBA). Those costs belong in your Amazon COGS. Guidance applies a channel BOM overlay to each channel automatically, so the COGS used in each channel margin calculation reflects the true cost of getting the product to that channel's customer.
Manual Calculation vs. Guidance
| Task | Manual Process | With Guidance |
|---|---|---|
| Building a channel P&L | Separate Excel tabs for each channel, manually entering fee rates and deduction estimates | Guidance calculates net margin per channel per SKU automatically from live data |
| Keeping fee rates current | Manually updating referral fee percentages, FBA rates, and distributor terms when they change | Guidance stores your Terms Configuration Objects and applies them to every calculation |
| Applying channel BOM overlay | Manually adding DTC packaging costs to a separate COGS column for DTC orders | Guidance applies the channel BOM overlay automatically based on the channel each order ships through |
| Seeing all channels at once | Switching between tabs or building a summary sheet manually | Guidance shows net margin by channel for every SKU on a single dashboard |
| Updating when COGS changes | Manually recalculating every channel P&L when an ingredient price changes | Guidance propagates the cost change through all channels automatically |
Frequently Asked Questions
Why is gross margin not enough for CPG brands?
Gross margin only subtracts COGS from revenue. For CPG brands, the real costs come after COGS: distributor deductions, Amazon fees, freight, trade spend, and broker commissions. Two channels can have the same gross margin but wildly different net margins once those costs are applied.
What is a good net margin for wholesale CPG?
After all deductions, freight, and trade spend, most CPG brands net 10-20% on wholesale revenue. Brands with heavy promotional programs or high freight costs can be at 5-10% or even negative on specific accounts.
Is Amazon always less profitable than wholesale?
Not necessarily. Amazon has high fees but no broker commissions, no slotting fees, and no trade spend requirements. For brands with strong organic rankings and low advertising costs, Amazon can be more profitable than wholesale on a net margin basis.
What is a channel BOM overlay?
A channel BOM overlay adds channel-specific packaging and freight costs on top of the base landed COGS. A DTC order requires a shipper box, void fill, and a label that a wholesale pallet shipment does not. These costs must be added to the COGS before calculating DTC net margin.
How do I calculate net margin for Shopify DTC?
Start with gross revenue, subtract discounts, payment processing fees (2.9% + $0.30 per order), shipping label costs, DTC packaging, and any returns or chargebacks. The result is net revenue. Subtract your landed COGS to get net margin.
Slater built Guidance after running Claros Farm, a certified organic CPG brand sourcing ingredients from 14 countries. He wrote Guidance to solve the operations problems he could not find software for.
Know your real margin on every channel.
Guidance calculates true net margin per channel per SKU automatically, applying your exact distributor terms, Amazon fee structure, and DTC cost stack.
Get Early Access