contribution-margin-check-ecommerce
Turns COGS, fee, shipping, refund, and ad spend exports into per-SKU contribution margin so the store can see which products actually make money after all…
Skill by mardab96
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/mardab96-contribution-margin-check-ecommerce
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: marketing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/contribution-margin-check-ecommerce
What's inside
- Skill name
contribution-margin-check-ecommerce- Description
- Turns COGS, fee, shipping, refund, and ad spend exports into per-SKU contribution margin so the store can see which products actually make money after all variable costs. Use when ROAS looks fine but profit does not, before scaling spend on a product, or when the owner asks which SKUs are worth promoting.
- License
- MIT
- Instructions
- 107 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Contribution Margin Check - E-commerce ## Use this skill when The user needs to know which products earn money after every variable cost, not just after product cost. Common requests: - "ROAS is 3 and we still made nothing. Where does it go?" - "Which SKUs can I afford to advertise?" - "Work out our real margin per product." - "Is this bestseller actually profitable?" ## Required input Minimum useful input: - Product-level sales export: units, revenue, discounts. - COGS per SKU, landed if available. - Payment processing and platform fee rates. - Shipping cost basis: real cost per order or per zone. Recommended additional input: - Refund and return rate per SKU. - Ad spend attributed to product or collection. - Pick, pack, and packaging cost assumptions. - Payout or settlement report from the payment provider. - Marketplace or channel commission rates. ## Before analysis 1. Confirm the period and whether revenue is gross, net of discounts, or net of refunds. 2. Confirm whether COGS is unit cost only or landed cost including duty and freight. 3. State every assumption you have to make, and mark it as an assumption inside the output. 4. Confirm whether the owner wants contribution margin per unit, per order, or per SKU for the period. 5. Do not blend fixed overhead into contribution margin. Name it separately if the owner asks about breakeven. ## Analysis workflow 0. **Run `../scripts/margin_stack.py` before forming any view.** If the inputs are a CSV, run `../scripts/margin_stack.py <file> --payment-fee-pct <rate> --payment-fee-fixed <fee>`. It builds the stack per SKU, computes CM2, CM3 and breakeven ROAS exactly, and lists which cost columns were absent so they can be marked as assumptions. Reserve manual calculation for a handful of SKUs pasted into chat, and even then show the working. 1. Build the cost stack per SKU in this order: gross revenue, discounts, returns and refunds, COGS, payment fees, platform or channel fees, shipping and fulfilment, packaging, then attributed ad spend. 2. Produce contribution margin before ad spend (CM2) and after ad spend (CM3). Keep them separate. Most stores only ever see the first one. 3. Rank SKUs by total contribution, not by margin percentage. A 60% margin product selling four units matters less than a 22% margin product carrying the catalog. 4. Flag every SKU where CM3 is negative, and separate "negative because of ad spend" from "negative before a single ad ran". 5. Compute the breakeven ROAS per SKU from its margin, and compare it to the ROAS the store is currently accepting. 6. Identify which cost line has the widest uncertainty, and say what data would close it. ## Decision and evidence standard Tag every finding with evidence: `export`, `cogs_export`, `margin_csv`, `payout_report`, `shipping_invoice`, `return_reason`, `policy`, `hypothesis`, or `needs_data`. Full vocabulary: `../references/output-standard.md`. Rank findings by total contribution at stake, not by margin percentage. Any cost line the user did not supply is an assumption. Assumptions get `hypothesis`, confidence `low`, and appear in the missing data list. Never present an assumed cost as a measured one. ## Output format ### Margin verdict One paragraph: is the store's profit problem in pricing, product cost, fulfilment, discounting, returns, or acquisition cost. Include a confidence level. ### Cost stack table | Line | Amount | Basis | Source | Confidence | |---|---|---|---|---| ### Per-SKU contribution | SKU | Units | Net revenue | CM2 | CM2 % | CM3 | Breakeven ROAS | Owner decision | |---|---|---|---|---|---|---|---| ### Money-losing SKUs Products where CM3 is negative, with the reason and the smallest change that would flip it. ### Missing data What would move confidence from assumption to measurement. ## Example input and output Input: - Shopify product sales export, 90 days - COGS spreadsheet, unit cost only - Meta and Google spend by campaign, mapped to collections - Payment provider fee rate Good output excerpt: | Finding | Evidence | Severity | Confidence | Business impact | Effort | Owner decision | |---|---|---|---|---|---|---| | Bestselling SKU has 4% CM3 because shipping is charged flat but costs by weight | `export`, `shipping_invoice` | high | medium | margin | S | investigate | | Freight and duty are not in COGS, so all margins here are overstated | `cogs_export`, `needs_data` | critical | low | margin | M | investigate | What not to do yet: cut ad spend on a SKU using a margin figure built on assumed landed cost. ## Guardrails - Do not treat ROAS as profit. - Do not present assumed costs as measured costs. - Do not recommend a price increase without checking category, positioning, and repeat purchase impact. - Do not blend fixed overhead into contribution margin. - Do not recommend killing a SKU on one period of data if it drives first orders that repeat.
From mardab96/ecommerce-claude-skills, MIT.
More from mardab96/ecommerce-claude-skills
- 0.584score
returns-reason-miner-ecommerce
mardab96
Mines e-commerce returns exports, refund reasons, support notes, and product page data to find preventable return patterns and fixes for product pages…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
weekly-ecommerce-growth-readout
mardab96
Produces a weekly e-commerce owner readout from exported store, analytics, ads, email/SMS, inventory, support, and returns summaries.
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
ai-shopping-readiness-ecommerce
mardab96
Checks whether a store's product data, policies, and structured markup can be read and represented correctly by AI shopping assistants and agentic checkout…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
catalog-content-audit-ecommerce
mardab96
Audits product content across a whole catalog rather than one page, finding missing attributes, thin descriptions, duplicate copy, weak imagery coverage, and…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
chargeback-fraud-pattern-review-ecommerce
mardab96
Reviews chargebacks, disputes, and fraud declines to separate genuine fraud from service failures and friendly fraud, and to find the store-side causes behind…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
inventory-risk-brief-ecommerce
mardab96
Turns e-commerce inventory and sales exports into a practical risk brief for stockouts, overstock, promo conflicts, and traffic allocation.
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
launch-readiness-check-ecommerce
mardab96
Runs a go/no-go readiness check before a product launch, restock, promo, or spend increase, covering stock, page, feed, tracking, lifecycle flows, support…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
ltv-cohort-read-ecommerce
mardab96
Reads customer cohorts from order exports to show repeat rate, time to second order, payback window, and which acquisition sources or first products produce…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
onsite-search-merchandising-review-ecommerce
mardab96
Turns internal site search queries, zero-result searches, and collection performance into merchandising, naming, and assortment decisions.
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
paid-traffic-waste-triage-ecommerce
mardab96
Reviews paid traffic exports and store-side data to identify whether performance issues come from ads, product pages, offers, feed quality, tracking, margins…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
product-feed-qa-ecommerce
mardab96
Audits e-commerce product feed exports, Google Merchant Center diagnostics, catalog screenshots, and product page samples to find data quality issues that can…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
promo-discount-impact-review-ecommerce
mardab96
Reviews whether a discount, sale, or promo actually added profit or simply pulled forward demand and trained customers to wait.
SkillBFreshness: B★ 7Claude Code +9
Signals
- Stars
- 7
- Forks
- 3
- Open issues
- 0
- Last commit (this folder)
- Jul 27, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from mardab96
- 0.584score
weekly-ecommerce-growth-readout
mardab96
Produces a weekly e-commerce owner readout from exported store, analytics, ads, email/SMS, inventory, support, and returns summaries.
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
ai-shopping-readiness-ecommerce
mardab96
Checks whether a store's product data, policies, and structured markup can be read and represented correctly by AI shopping assistants and agentic checkout…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
catalog-content-audit-ecommerce
mardab96
Audits product content across a whole catalog rather than one page, finding missing attributes, thin descriptions, duplicate copy, weak imagery coverage, and…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
chargeback-fraud-pattern-review-ecommerce
mardab96
Reviews chargebacks, disputes, and fraud declines to separate genuine fraud from service failures and friendly fraud, and to find the store-side causes behind…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
inventory-risk-brief-ecommerce
mardab96
Turns e-commerce inventory and sales exports into a practical risk brief for stockouts, overstock, promo conflicts, and traffic allocation.
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
returns-reason-miner-ecommerce
mardab96
Mines e-commerce returns exports, refund reasons, support notes, and product page data to find preventable return patterns and fixes for product pages…
SkillBFreshness: B★ 7Claude Code +9
Cite this page
contribution-margin-check-ecommerce skill. Agent Mart. https://agentmart.dev/skills/mardab96-contribution-margin-check-ecommerce (last updated 2026-10-24)