I want to show you how to build a unit-economics scorecard that will flag a 10% margin leak per product in under one hour. I’ve built variations of this for startups and mid-market companies over the past decade—when you need to act fast, the goal is to create a lightweight, repeatable check you can run quickly and trust. This is the version I use when I need a rapid signal that something’s wrong at the product level, not a full audit.
Why a quick scorecard matters
When margins move, they rarely move uniformly. One product, SKU or revenue stream can be quietly eroding profitability while overall numbers still look “ok.” A fast unit-economics scorecard gives you immediate visibility at the product level and tells you where to dig deeper—pricing, discounting, fulfillment costs, returns, or channel fees.
What this scorecard does (and doesn’t)
This is a diagnostic tool, not a forensic accounting exercise. It will:
Calculate contribution margin per unit and margin percentage per productCompare current margin to a baseline (e.g., last quarter or your target margin)Flag products with a margin drop >= 10% (absolute or relative — I explain both below)Prioritize products by revenue impact so you focus where it mattersIt won’t replace a cost accounting deep-dive (COGS allocation, inventory write-down analysis, transfer pricing). But it will tell you where to allocate those efforts.
Data you need (and where to pull it in under an hour)
Keep it simple. You need four data points by product for the period you care about (ideally last 30/90 days) and the baseline period:
Net revenue per unit (price net of discounts and refunds)COGS per unit (product cost, inbound freight, and direct packaging)Variable fulfilment & logistics per unit (pick/pack/ship, marketplace fees)Returns & warranty cost per unit (refunds, reverse logistics)Sources:
Order or sales table from your database / data warehouse (revenue, discounts, refunds)ERP or purchasing system for product purchase price by SKUFulfilment or logistics bill (3PL reports or internal WMS)Payments/marketplace reports for transaction feesIf you don’t have a single source of truth, export the relevant reports to CSV. For most companies I work with, combining 2–3 CSVs in a spreadsheet gives you enough to compute the scorecard in under an hour.
Key formulas (Google Sheets / Excel friendly)
I use these columns in a sheet. Replace “units_sold” etc. with your column names.
Net Revenue per Unit = (total_sales_value - discounts - refunds) / units_soldTotal Variable Cost per Unit = COGS_per_unit + fulfillment_per_unit + transaction_fees_per_unit + returns_cost_per_unitContribution Margin per Unit = Net_Revenue_per_Unit - Total_Variable_Cost_per_UnitContribution Margin % = Contribution_Margin_per_Unit / Net_Revenue_per_UnitBaseline comparison:
Margin Change (absolute) = Current_Margin_% - Baseline_Margin_%Margin Change (relative) = Margin_Change_absolute / Baseline_Margin_%I typically flag a product if Margin Change (absolute) <= -0.10 (i.e., a 10 percentage point drop) or Margin Change (relative) <= -0.10 (i.e., a 10% relative drop). Choose the one that matches your risk tolerance; I prefer absolute for products with mid-range margins and relative for very high-margin products.
Quick build steps — 60 minutes
Follow these steps in order and you’ll have a working scorecard within an hour.
0–10 min: Exports. Export sales/orders for the period and baseline period aggregated at the product/SKU level (units_sold, gross_sales, discounts, refunds).10–20 min: Cost inputs. Export purchase prices (COGS) by SKU and fulfillment / shipping cost summary by SKU (or average per unit for product groups).20–30 min: Stitch in a sheet. Create a new Google Sheet / Excel file and paste sales + cost tables. Use VLOOKUP / INDEX-MATCH to join COGS and fulfillment cost to each SKU row.30–40 min: Calculate unit metrics. Add columns for Net_Revenue_per_Unit, Total_Variable_Cost_per_Unit, Contribution_Margin_per_Unit, Contribution_Margin_% using the formulas above.40–50 min: Baseline & change. Repeat for baseline period (or use a separate sheet) and compute Margin Change (absolute and relative).50–60 min: Flagging & prioritization. Add two flag columns: “Flag_10pct_drop” (true if abs change <= -0.10 OR rel change <= -0.10) and “Revenue_Impact” = units_sold * Net_Revenue_per_Unit. Sort flagged products by Revenue_Impact.Sample scorecard layout (paste into a sheet)
| SKU | Units Sold | Net Rev/U | Tot Var Cost/U | Cont Margin/U | Cont Margin % | Baseline Margin % | Δ Margin (pp) | Δ Margin (%) | Flag | Revenue Impact |
| SKU-001 | 1,200 | £25.00 | £16.00 | £9.00 | 36% | 46% | -10pp | -21.7% | TRUE | £30,000 |
How to interpret flags quickly
Once you have flags, follow a simple triage: revenue impact, root cause likelihood, and remediation speed.
High revenue impact + clear cost increase: check procurement and freight invoices (price increases, fuel surcharges, wrong landed cost mapping).High revenue impact + price/discount shift: check discounting by channel, promo codes, or B2B negotiated terms; run a transaction-level sample.Low revenue impact but increased returns: check product quality or recent supplier change—small volume can presage larger problems.For each flagged SKU, add a one-line hypothesis and the next action (e.g., “Hypothesis: supplier price increased in Feb. Action: validate AP invoices and landed cost mapping.”)
Automation tips (next steps)
If this manual scorecard is useful, automate it:
Use a simple SQL query that aggregates orders by SKU and joins to a cost table (COGS, fulfillment, fees). I typically schedule a daily job and push the result to a Looker/Metabase dashboard.Configure a rule in your BI tool to email Slack/PMs when a SKU crosses the 10% threshold.Track a rolling 30-day vs trailing 90-day baseline to reduce noise from seasonality.Common pitfalls I’ve seen
Don’t let bad inputs ruin the signal:
Misallocated COGS: ensure purchase price is landed (include inbound freight and import duties if material).Double-counting fulfilment and shipping: decide whether shipping charged to customers should be part of net revenue or a cost—stay consistent.Promotions & channel timing: major promo events can change both price and return behaviour. Exclude promo SKUs or normalize them for trend analysis.When you run this in under an hour you’re not aiming for perfection—you’re hunting for the biggest, most actionable margin problems. The goal is to move from suspicion to a short list of prioritized SKUs with clear hypotheses so you can stop the leak quickly.