Home

/

Claude Skills

/

Channel Profitability

Channel Profitability

by

  • PROFITABILITY
  • CHANNELS
  • MARGIN
  • ECOMMERCE
Works with the AI tools you already use
+19 agents

Channel profitability for ecommerce teams: load every channel with its shipping, returns and product cost, then issue a verdict and a budget action per channel on one definition of margin.

Channels get judged on the number their own platform reports, which is why a channel can be the best performer in one dashboard and the worst in the finance model. The costs that decide the answer sit somewhere else entirely: shipping on heavier baskets, a return rate that runs double the site average, a product mix skewed toward the low margin end of the catalog. This skill loads every channel with its own shipping, returns and product cost, computes contribution margin on one definition, and returns a verdict and a budget action for each channel rather than a ranking that changes depending on who is reading it.

What It Does

  • Pulls spend, orders and revenue for every channel on one definition.
  • Attaches shipping cost, return rate and product cost to each channel's own order mix.
  • Computes contribution margin per channel after all of it.
  • Compares margin per channel against blended CAC and against payback period.
  • Flags channels whose ranking flips once real costs are loaded.
  • Issues a verdict and a budget action per channel: grow, hold, or wind down.

Use Cases

  • Settle the recurring argument between a platform dashboard and the finance model.
  • Find the channel that looks strong on ROAS and loses money after returns.
  • Justify a budget shift to a board with the cost build shown line by line.
  • Review channel mix quarterly on the same definition every time.

Example Session

Rank our channels on contribution margin after shipping and returns, and tell me where the budget should go.

Two channels change places once real costs are loaded. Every column is a share of that channel's revenue, so the build reads left to right.

  • Channel | Revenue | Gross | Returns | Shipping | Ad cost | Contribution | Verdict
  • Paid search | $240k | 58% | 6% | 4% | 17% | 31% | Grow
  • Paid social | $310k | 54% | 14% | 7% | 14% | 19% | Hold
  • Email | $145k | 61% | 5% | 4% | 10% | 42% | Grow
  • Marketplace | $98k | 49% | 9% | 11% | 21% | 8% | Wind down

Paid social outsells paid search by 29% and contributes less in absolute terms, because its return rate runs more than double and its basket ships heavier. Marketplace at 8% contribution is below your cost of capital once you count the fee and the shipping subsidy, so wind it down over a quarter rather than cutting it at once. Move the marketplace budget to email first, paid search second.

Why This Beats Prompting It Yourself

Platform Reporting vs Loaded Margin: The Hidden Risk

A generic prompt ranks channels on whatever margin figure it is handed, usually gross. Ask which channel is most profitable and you get an answer that ignores the return rate, the shipping weight and the product mix specific to each one, which are precisely the three things that decide the ranking. The output looks decisive and reverses the moment someone loads the real costs.

When You Still Need The Cost Build Shown

A budget shift between channels has to survive the person who owns the P&L. This skill shows 54% gross becoming 19% contribution on paid social, with the return rate and the shipping line that did it, next to email at 42%. Every figure carries the cost it was loaded with, which is what turns a channel argument into a decision that holds for a quarter.

Known Limitations

Return rate and shipping cost have to be attributable to orders for the load to be accurate, and where they are only available at the account level the skill spreads them evenly and flags that it did. Marketplace fee structures vary enough that a fee schedule not supplied will be estimated from observed net revenue rather than read directly. It compares channels as they are currently mixed and does not forecast what margin would look like at twice the spend.

Install It

  • Download the ZIP.
    It is free and there is no account to create.
  • Unzip it into your agent's skills folder.
    Claude Code reads ~/.claude/skills/, which is hidden by default: the command in the folder block opens it. Other agents scan their own directory, so drop the same folder there instead.
  • Ask your agent to use it.
    Restart the agent if it was already running, then it picks the skill up with no config.

skills folder

Copy

~/.claude/skills/channel-profitability/
  SKILL.md
  references/cost-loading.md
  reports/
  # one build per run, with the cost assumptions

# macOS: create the folder and open it in Finder
mkdir -p ~/.claude/skills && open ~/.claude/skills

# Windows: paste in the Explorer address bar
%USERPROFILE%\.claude\skills\

Frequently asked questions

How is this different from a ROAS report?

ROAS stops at revenue. This carries each channel's own return rate, shipping cost and product mix into contribution margin, which is where channel rankings usually change places. The answer ends on a verdict and a budget action, with the cost build shown so it can be argued with.

Which agents does the skill run in?

Any agent that supports the open SKILL.md format: Claude Code, Cursor, Codex CLI, GitHub Copilot, Gemini CLI, Manus, Grok and others load it unmodified. The format is portable, the location is not. Each agent scans its own skills directory, so you drop the same folder into whichever one yours uses. There is no config file to edit and no API key to provision.

What does it need connected to work?

Orders with their channel attribution, ad spend, product cost, shipping cost and returns. Missing any one of those does not stop it: the affected line is estimated, marked as estimated, and the verdict says how much it depends on that estimate.

Why does it wind channels down rather than cut them?

Because a channel carries fixed learnings, supplier terms and sometimes a contract, and cutting it in a week usually costs more than the margin it was losing. Where an immediate stop is the right call the skill says so, but the default for a thin channel is a staged exit.

Does it handle marketplaces and retail differently?

Yes. Marketplaces get their fee schedule and shipping subsidy loaded explicitly, because those two lines decide the answer far more than the ad cost does. If a fee schedule is not supplied it estimates from observed net revenue and labels the figure.

What is included with the skill?

The skill itself, the cost loading reference, the channel report template, and the fee schedules for the marketplaces most ecommerce teams sell on. It is free and security scanned. We re-publish the ZIP when fee structures change, so download it again if a marketplace line stops reconciling.

Channel verdicts change once every cost is in.

Polar defines contribution margin once across 45+ sources, so a channel is judged after shipping, returns and product cost rather than on platform ROAS.

Book a demo

Popular in E-commerce

<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"How is this different from a ROAS report?","acceptedAnswer":{"@type":"Answer","text":"ROAS stops at revenue. This carries each channel's own return rate, shipping cost and product mix into contribution margin, which is where channel rankings usually change places. The answer ends on a verdict and a budget action, with the cost build shown so it can be argued with."}},{"@type":"Question","name":"Which agents does the skill run in?","acceptedAnswer":{"@type":"Answer","text":"Any agent that supports the open SKILL.md format: Claude Code, Cursor, Codex CLI, GitHub Copilot, Gemini CLI, Manus, Grok and others load it unmodified. The format is portable, the location is not. Each agent scans its own skills directory, so you drop the same folder into whichever one yours uses. There is no config file to edit and no API key to provision."}},{"@type":"Question","name":"What does it need connected to work?","acceptedAnswer":{"@type":"Answer","text":"Orders with their channel attribution, ad spend, product cost, shipping cost and returns. Missing any one of those does not stop it: the affected line is estimated, marked as estimated, and the verdict says how much it depends on that estimate."}},{"@type":"Question","name":"Why does it wind channels down rather than cut them?","acceptedAnswer":{"@type":"Answer","text":"Because a channel carries fixed learnings, supplier terms and sometimes a contract, and cutting it in a week usually costs more than the margin it was losing. Where an immediate stop is the right call the skill says so, but the default for a thin channel is a staged exit."}},{"@type":"Question","name":"Does it handle marketplaces and retail differently?","acceptedAnswer":{"@type":"Answer","text":"Yes. Marketplaces get their fee schedule and shipping subsidy loaded explicitly, because those two lines decide the answer far more than the ad cost does. If a fee schedule is not supplied it estimates from observed net revenue and labels the figure."}},{"@type":"Question","name":"What is included with the skill?","acceptedAnswer":{"@type":"Answer","text":"The skill itself, the cost loading reference, the channel report template, and the fee schedules for the marketplaces most ecommerce teams sell on. It is free and security scanned. We re-publish the ZIP when fee structures change, so download it again if a marketplace line stops reconciling."}}]}</script>