Connected with Orphex Recommended
The skill reads your connected accounts for the right dates. Nothing to export or upload.
Connect freeReview product advertising economics using aligned net revenue, returns, and explicit variable costs; distinguish contribution from gross ROAS and company profit.
When product revenue and advertising returns need reconciliation with returns and variable costs.
“Show which of our advertised products are profitable after ad spend, not just on ROAS.”
A cost-reconciled product contribution review with net/gross return distinctions, observed break-even ratios, and bounded economic actions.
| Product | Net revenue | Contribution before ads | Ads | Contribution after ads | Net-revenue ROAS | Contribution break-even ROAS |
|---|---|---|---|---|---|---|
| sku-a | $8,500 | $3,500 | $2,000 | $1,500 | 4.25 | 2.4286 |
| sku-b | $5,000 | $1,250 | $1,500 | −$250 | 3.3333 | 4.00 |
| Total | $13,500 | $4,750 | $3,500 | $1,250 | 3.8571 | 2.8421 |
sku-b's gross ROAS is 6,000/1,500 = 4.00, but the settled discounts/refunds and variable costs leave −$250 after advertising. Gross return is not profit.
For sku-a, net revenue is 10,000−1,000−500 = 8,500; pre-ad contribution is 8,500−4,000−800−200 = 3,500. Net-revenue break-even ROAS is 8,500/3,500, under these cost semantics. This is variable contribution, not company net profit, and assumes the observed cost mix rather than marginal scalability.
Review sku-b's returns, cost allocation and offer economics before proposing budget cuts or price changes. No product, price, or campaign changes applied.
Fictional data. An illustration of the method, not a customer result.
The skill reads your connected accounts for the right dates. Nothing to export or upload.
Connect freeAttach a CSV with the columns below. The template shows the expected shape.
product_idRequiredcurrencyRequiredgross_revenueRequireddiscountsRequiredrefundsRequiredcost_of_goodsRequiredfulfilmentRequiredpayment_feesRequiredad_spendRequiredSupply your objectives, conversion definitions, currency, constraints, and approved brand facts once, then reuse the profile across reviews. Leave unknown values explicit.
If an Orphex connector is available, check it before asking for exports. Run capability_search with platform orphex and limit 100; use a read only if that search returns its id, and ask which workspace to use when several are bound. Read controller.catalog then controller.fetch at level product for ad cost and attributed revenue; returns and variable costs still come from the user. Then list guides with skill_catalog (kind guide, topic measurement) and follow a matching one through skill_read; choose by title, never by a stored id.
Assess product-level contribution under the user's supplied cost and revenue definitions. Do not equate attributed gross revenue with profit or assume a universal margin.
If an Orphex connector is available, check it before asking for exports. Run capability_search with platform orphex and limit 100; use a read only if that search returns its id, and ask which workspace to use when several are bound. Read controller.catalog then controller.fetch at level product for ad cost and attributed revenue; returns and variable costs still come from the user. Then list guides with skill_catalog (kind guide, topic measurement) and follow a matching one through skill_read; choose by title, never by a stored id.
If a read is not returned, this connection cannot reach that Orphex data for the workspace: say so, then use the live platform reads it offers or the supplied exports. An absent, refused or empty read is not evidence of zero, none or healthy. Describe each read with capability_describe before run_read, keep date_end no later than yesterday, disclose request adjustments, and name each number's source, workspace and window. This skill's evidence rules still govern any guide, insight or playbook label, and no read authorizes account changes. Ask the user only for what is still missing.
Align order/acquisition cohort, product/variant, currency, tax/shipping convention, returns maturity, discounts, refunded revenue, recognized/recovered COGS, fulfilment, payment fees and advertising allocation. Identify whether revenue is already net of discounts/refunds and whether COGS already includes other expenses. Subtract each economic cost once. Keep unidentified shared advertising/overhead separate unless a documented allocation is supplied; do not distribute it arbitrarily by attractive ROAS.
Use totals for the same scope and horizon. Under the explicit component contract: net revenue = gross revenue − discounts − refunds; contribution before ads = net revenue − distinct COGS − fulfilment − payment fees; contribution after ads = contribution before ads − allocated ad spend. Negative net revenue or contribution can be real; report it with its definition. A missing cost is unknown, not zero, and prevents a complete contribution claim. A gross-revenue field already net of refunds must be normalized before using the helper, with the transformation documented.
Calculate gross and net revenue ROAS with their named numerators. Contribution break-even net-revenue ROAS = net revenue / pre-ad contribution only for positive net revenue and positive pre-ad contribution under stable observed cost mix. Zero/negative contribution does not have a meaningful positive advertising break-even ratio. Missing/zero ad spend makes ROAS unavailable. These are descriptive cost identities, not marginal response forecasts or target bids.
Rank material adverse contribution, uncertain allocations, immature returns and cost gaps. Identify whether a recommendation concerns ad allocation, merchandising, stock, pricing, returns or feed health; do not prescribe an unrequested price change. Repeat-customer value needs a separate supported cohort analysis. Report the table, explicit cost inclusions, missing overhead/future value, and a bounded next check. No company net-profit or causal incrementality claim follows from allocated contribution alone.
State whether the result is complete, partial, or blocked for the requested decision. Link material findings to actual supplied rows/sources and separate observed metrics, hypotheses, and estimates. Lead with a short business conclusion, then evidence, uncertainty, and the next measurable check. A data export or installed skill does not authorize account changes.
For the supported arithmetic only, optionally run the bundled calculator with Python 3: python3 scripts/marketing_math.py profitability < calculation.json. Read its input mapping in the input contract before preparing JSON. It reads JSON, not CSV directly. If Python or the requested method is unavailable, show a reproducible alternative calculation or mark it unsupported; do not report an uncomputed result as verified.
See the recorded checks, compared runs, results, and limits for v2.1.0. Example reviews illustrate the method; they do not guarantee account results.
Read the evaluation report