The Profit-by-Channel Framework

Bernard Foster

CEO Midlens

“It’s not about ideas. It’s about making ideas happen.”

Articels

92

Followers

192K

Why top-line revenue is lying to you (and what to track instead)

Most founders manage the business off a Shopify screenshot and a gut feel. Revenue up? Must be working. But revenue is motion, not direction. Until you isolate profit by channel—DTC, wholesale, marketplaces—you’re guessing.

This is the simple framework we use with $1M–$25M brands to replace guesswork with decisions.

Step 1: Split your P&L by channel (no exceptions)

If it sells in a different way, it gets its own P&L:

  • DTC (your site): traffic, conversion, AOV, discounts, refunds
  • Wholesale: purchase orders, terms, chargebacks, co-op
  • Marketplaces (e.g., Amazon): platform fees, FBA, returns

Why? Because blended numbers hide the truth. In your sheet, each tab is its own P&L with the same structure so you can compare apples to apples.

Step 2: Clean the inputs that distort reality

Your totals are only as good as these corrections:

  • Net Revenue = Gross – Discounts – Refunds + Other Revenue
    (Stop evaluating campaigns on gross. Net is the only real number.)
  • COGS = Landed product cost by SKU, not a fuzzy average
  • Shipping & Warehouse Labor: break these out (they’re real margin killers)
  • Platform/Payment Fees: Shopify, PayPal, Amazon fees → separate lines
  • Marketing: split ad spend vs. agency fees (different levers)

In the sheet, you’ll notice we track each as $ and % of revenue. That second column is where the insights live.

Step 3: Get to Contribution Margin (the control point)

For each channel:

Net Revenue

– Product COGS

– Shipping

– Warehouse Labor (pick/pack)

= Gross Margin $

– Marketing Spend (media)

– Agency Fees

– Platform/Payment Fees

= Contribution Margin $

Contribution is the line where most founders finally see what’s happening. Ads can be “working” on MER while the channel is quietly negative after labor, shipping, and fees. Your sheet shows this monthly and year-to-date—so you can’t hide from it.

Step 4: Read the % of revenue columns (and make the moves)

Once you have each input as a % of revenue, patterns jump out:

  • COGS % climbing? Cost creep or discounting. Renegotiate, re-price, or change mix.
  • Shipping/Labor % high? Ops bottleneck. Packaging, rates, or process fix beats “more ad spend.”
  • Marketing % high while Contribution % low? You’re buying revenue. Tighten targeting or move budget to higher-margin channels.
  • Platform fees heavy? Marketplaces are revenue-rich but margin-thin. Use them as acquisition, harvest profit in DTC.

The goal isn’t a perfect number—it’s control. When you can move a % by 1–2 points on purpose, you’re in charge again.

A quick story (pattern-matched from real clients)

A DTC founder swore Meta was her engine: +40% sales in 90 days. On the DTC P&L, Contribution was barely breakeven once shipping, warehouse labor, and platform fees were included. Meanwhile, Wholesale was quietly carrying 70% of profit at lower complexity.

We shifted: trimmed DTC discounts 2 pts, tightened CAC targets, moved two SKUs to wholesale priority, cleaned pick/pack flow.
Result: Contribution margin up ~6 pts in 60 days—with the same top-line.

That’s the power of channel truth.

What decisions this unlocks (fast)

  • Budgeting: Set ad spend as a % of revenue by channel, not blended.
  • Pricing/Promo: Run promotions where contribution can afford it.
  • Inventory: Stock to profit, not just velocity. Best-seller in revenue can be worst-seller in profit.
  • Team: Staff ops to the channels that actually make money.

How to use the template this week

  1. Duplicate the sheet and plug last 3–6 months for DTC, Wholesale, Marketplaces.
  2. Make sure discounts, refunds, and fees are explicit, not buried.
  3. Look at Contribution % by channel. Circle the winner. Fix the loser.
  4. Set three 30-day moves (one price, one ops, one media). Rinse monthly.

Clarity beats intensity. When you see profit by channel, you stop managing by vibe and start leading with truth

Want the Profit-by-Channel template we use with clients? Add it to your stack here

Categories :

Blogs

Share :