Contribution margin for e-commerce
MARGIN computes daily contribution margin from your real costs — and tells you which of those costs you can actually trust. Then it hands the numbers to your AI, so you can just ask.
Read-only. Nothing we do can write to your shop.
A real shop, three days
EUR
Revenue
€15,105
Contribution margin
€675
Profit
−€1,308
| 2026-08-21 | €3,961 | −€252 | |
| 2026-08-20 | €5,339 | −€300 | |
| 2026-08-19 | €5,805 | −€756 |
Profitable-looking revenue, three losing days. The gap is cost of goods, fulfilment and ad spend — the columns a revenue dashboard does not have.
01
Every margin figure carries how much of it we could actually check. A margin computed on 40% cost coverage is not a margin, and we say so instead of printing a clean number.
02
A period total sums the amounts and re-derives every ratio from them. Averaging ROAS across days is the classic way to be confidently wrong; here it is impossible by construction.
03
Contribution margin excludes fixed cost. Profit includes it. Both ship, with every component that went into them, per storefront and per day.
The daily P&L
One row per day, twenty-eight columns in three groups, and the figures your accountant would recognise. The period total is rendered by the same code as a daily row, so the two cannot drift apart.
| Date | Revenue | Orders | COGS | Ad spend | PNO | Contrib. margin | Profit |
|---|---|---|---|---|---|---|---|
| Three days | €15,105 | 508 | €4,123 | €8,522 | 56% | €675 | −€1,308 |
| 2026-08-21 | €3,961 | 125 | €1,127 | €1,989 | 50% | €409 | −€252 |
| 2026-08-20 | €5,339 | 178 | €1,460 | €2,883 | 54% | €361 | −€300 |
| 2026-08-19 | €5,805 | 205 | €1,536 | €3,650 | 63% | −€95 | −€756 |
Real days, anonymised. PNO on the total row is 8,522 / 15,105 — derived from the sums, not the average of the three daily percentages, which would read 55.7%.
Ask your AI
Point an AI client at a shop database and it writes confident, wrong SQL — cancelled orders, exchange rates, discounts as negative lines, zero-priced bundle rows. None of it visible from the column names.
Our tools have those decisions already made, once, in tested code. Every answer carries what not to trust about it, including how much of your cost data we could verify.
$ claude mcp add --transport http margin https://…/mcp/margin
> what was my contribution margin last week?
€4,182 across 1,140 orders, after €9,610 of ad spend. Cost data covers 99.7% of goods sold. Fixed costs are excluded — profit was €248.
Pricing
Paid
Once your orders and costs are connected.
Connect a shop and the daily P&L fills itself in.