NewWeather Demand Modelling is live. Forecast demand before it arrivesWeather Demand Modelling is live

Know which products make money, and which only look busy.Every SKU scored on true contribution.

Products & Inventory scores every SKU on true contribution margin in a pivotable cube, not units or revenue, then layers the strategy on top: an ABC x XYZ portfolio matrix, the affinity and bundle economics, inventory health and reorder, returns and refund economics, and a regional P&L. The busy product that earns nothing and the quiet one that funds the catalogue are both obvious, and each leak, stock risk and bundle comes with the move. We tell you the move; we do not run your store.

Products & InventoryDemonstrative data
SKU map · contribution margin against sales volume
-10%0%15%30%45%target marginCore line · 1kgPremium line · 250gVariety pack · 6Gift setsales volume →
Every product placed by how much it sells and the true margin it earns. The high-volume, low-margin SKUs in the lower right are quietly capping profit, and the Gift set loses money on every order. Bubble size is contribution at stake.
Catalogue CM1
$2.1M
true contribution
Revenue concentration
68%
top-10 SKU share
Margin-leak SKUs
88
draining $140k
Prune candidates
34
C-Z: low rev, erratic
CM1 reversed
$96k
clawed back by refunds
Avg days of cover
47d
inventory on hand
Margin intelligence from the award-winning team behind 100+ brands
PanasonicRainCoCheapest LiquorKing CoolingAuto ComfortiHeat & CoolAACAEInsider Experience SportsInterosPeter JacksonLa TrobeToy WorldForesightOncoreMindshopSurface SpectrumNAWTeafyEZI TagPanasonicRainCoCheapest LiquorKing CoolingAuto ComfortiHeat & CoolAACAEInsider Experience SportsInterosPeter JacksonLa TrobeToy WorldForesightOncoreMindshopSurface SpectrumNAWTeafyEZI Tag
Purest SolutionsCuratedVoir VodkaSwing & ServeNewLeafNavigataFirst EnergyHaldatecSirius GreenElite ElectricalMobile SkipsBrowedAsenoMGIDCRebateM8TMJ TutoringAcademic TutorsUCSPurest SolutionsCuratedVoir VodkaSwing & ServeNewLeafNavigataFirst EnergyHaldatecSirius GreenElite ElectricalMobile SkipsBrowedAsenoMGIDCRebateM8TMJ TutoringAcademic TutorsUCS
What it answers

The questions a sales report can't.

Not what sold. What each product earned, which to protect or prune, which pairs to bundle, where cash is trapped in stock, what leaks back out on returns, and which regions actually pay.

01
Which products actually make us money, and which lose it?
Every SKU scored on true contribution margin in a pivotable cube, re-groupable by category, subcategory, region or ABC tier, so the product that sells well but earns nothing is told apart from the one that quietly funds the catalogue.
02
Which SKUs do we protect, which do we prune?
An ABC x XYZ matrix crosses revenue concentration with demand stability, so your A-tier protect list and the low-revenue, erratic-demand prune shortlist both fall out, with tier drift versus last quarter.
03
Which products pull each other into the basket?
An affinity network surfaces the co-purchase pairs, and we only call a bundle worth it when the pair is jointly CM1-positive, so you never bundle a money-losing combination.
04
Are we about to stock out, or sitting on dead cash?
Days of cover on every SKU against its sales velocity, so a high-margin hero running thin becomes a timely reorder and the slow mover on months of cover becomes a markdown, not a write-off.
05
How much margin leaks back out after the sale?
Returns and refunds shown as CM1 reversed, the true contribution clawed back, with refund rate, how fast the liability matures, and the serial returners worth suppressing.
06
Which regions actually make money once we ship them?
A regional P&L scores each region accretive or dilutive on true CM1, with the fulfilment burden shown via basket weight and shipping charged, so geography is judged on margin, not revenue.
SKU & variant margin

One pivotable cube, every SKU on true margin.

A sales report ranks products by what they turn over. The margin cube ranks them by what they keep, netting COGS off every unit so a high-revenue product running a thin or negative margin cannot hide behind its volume. Pivot the same view by SKU, category, subcategory, region or ABC tier, see the catalogue CM1 waterfall and margin bands, and drill any row to the exact orders, with a coverage badge wherever cost data is thin.

  • Pivot, don't re-export. One cube, re-grouped by any dimension or tier
  • Leaks flagged. Negative and below-median SKUs surfaced in red
  • Drill to the orders. Every row opens the sales behind it
See your margin cube
Products · SKU & variant margin cubeDemonstrative data
The margin cube · pivot dimension and tier
Tier A · B · C
ProductUnitsNet revCM1CM1%ABC/XYZFlag
Core line · 1kg4,120$148,300$52,40035%A / Xok
Premium line · 250g3,880$121,600$41,80034%A / Yok
Variety pack · 62,960$98,200$14,10014%B / Zleak
Refill subscription2,240$86,400$33,60039%A / Xok
Starter kit1,410$42,100$9,20022%B / Yok
Gift set980$31,600-$2,400-8%C / Zleak
One cube, pivoted by any dimension, every cell drillable to the orders behind it. Each SKU carries its ABC tier (revenue) and XYZ class (demand stability). The Variety pack sells well but leaks margin, and the Gift set loses money outright. Sales reports show neither.
Portfolio strategy

Protect, prune and bundle the whole catalogue.

Concentration alone misses half the picture. The ABC x XYZ matrix crosses revenue concentration (A, B, C) with demand stability (X steady, Y variable, Z erratic), so a hero with lumpy demand is told apart from a hero you can plan around. Your protect list is the top-left; your prune shortlist is C-Z; and the affinity network finds the pairs worth bundling, but only when the pair is jointly CM1-positive.

  • Two axes, not one. Revenue concentration crossed with demand stability
  • Prune shortlist. Low-revenue, erratic-demand SKUs in the C-Z cell
  • Bundle on margin. Affinity pairs recommended only when jointly CM1-positive
See your portfolio matrix
Products · ABC x XYZ portfolio matrixDemonstrative data
ABC x XYZ · revenue concentration crossed with demand stability
Steady (X)
Variable (Y)
Erratic (Z)
A · top 80% rev
Protect
$1.1M
14 SKUs · CV 0.31
Plan buffer
$420k
9 SKUs · CV 0.62
Watch
$180k
4 SKUs · CV 1.18
B · next 15%
Maintain
$190k
21 SKUs · CV 0.44
Maintain
$96k
18 SKUs · CV 0.71
Review
$41k
12 SKUs · CV 1.32
C · last 5%
Tail
$28k
37 SKUs · CV 0.58
Tail
$14k
29 SKUs · CV 0.94
Prune
$6k
34 SKUs · CV 1.61
34 SKUs sit in C-Z: low revenue and erratic demand, the delist or markdown shortlist. The top-left A-X cell holds $1.1M of CM1 across 14 steady heroes, the products you protect and never run out of.
Affinity & bundles

The pairs worth bundling, on joint margin.

Which products pull each other into the basket, and which pairs are actually worth bundling. Co-purchase lift is only half the test: we cross it with the joint contribution margin across the co-orders, so a high-affinity pair that is jointly CM1-negative is flagged do not bundle, not promoted. Single-item baskets become an attach audience, and any pair's co-buyers export as a list to your email tool.

  • Lift gated by margin. Bundle only when the pair is jointly CM1-positive
  • Do-not-bundle flagged. High-affinity, money-losing combinations surfaced in red
  • Attach upside. Single-item baskets sized as a second-item opportunity
See your bundle economics
Products · affinity & bundle pairsDemonstrative data
Co-purchase pairs · lift, joint CM1 and the bundle verdict
PairLiftJoint CM1Bundle?
Core line + Refill subscription3.4×$18,900bundle
Starter kit + Accessory add-on2.8×$11,200bundle
Premium line + Variety pack2.1×$6,400bundle
Gift set + Variety pack3.1×-$2,100do not
Gift set + Variety pack co-occur strongly (lift 3.1×) but are jointly CM1-negative, so bundling them would sell more of a money-losing combination. We flag it do not bundle. Only the jointly positive pairs are recommended.
Inventory health & reorder

Catch stockouts and dead stock before they cost you.

A stockout on a hero costs you the margin you cannot make; an overstock on a slow mover costs you the cash you cannot use. Measuring days of cover against each SKU's real sales velocity flags both, so the best earner running thin becomes a timely reorder and the dead stock sitting on months of cover becomes a markdown, not a write-off.

  • Cover vs velocity. Days of stock judged against how fast each SKU sells
  • Stockouts flagged. High-margin heroes running thin, surfaced in red
  • Trapped cash surfaced. Slow movers on months of cover, ready to mark down
See your inventory health
Products · inventory coverDemonstrative data
Inventory days of cover · stock on hand against sales velocity
Gift set8dCore line · 1kg12dPremium line · 250g26dStarter kit61dRefill subscription45dVariety pack · 6148d
Core line, a top margin earner, has twelve days of stock left, while the Variety pack is sitting on five months of cover. One is a reorder, the other is trapped cash. Both are invisible on a revenue report.
Returns & refund economics

The margin that leaks back out after the sale.

A refund is not just lost revenue, it is contribution clawed back. We lead with CM1 reversed, the true margin given back on the margin-rate basis, not the gross refund dollars, the read nobody else computes. Refund rate is framed as a health figure, how fast the liability matures is tracked, and the serial returners who quietly erode margin become a list you can suppress rather than keep paying to acquire.

  • CM1 reversed. The true contribution clawed back, not gross refund dollars
  • Liability maturity. How fast refunds land after the order, so the bleed is forecastable
  • Serial returners. The repeat refunders, exportable as a suppression audience
See your refund economics
Products · returns & refund economicsDemonstrative data
CM1 reversed · gross refund vs the true contribution clawed back
gross refund $CM1 reversed (true)
Gross refunds overstate the damage. CM1 reversed is the contribution actually clawed back, on the margin-rate basis. Of the period's refunds, $96k of true CM1 was reversed, and a handful of serial returners drive a disproportionate share.
Regional P&L & fulfilment

Which regions actually make money once you ship them.

Revenue by region is the easy half. The hard half is which regions are margin-accretive versus dilutive once you net COGS and the cost of getting the parcel there. We score every region on true CM1 against the all-region average, and show the fulfilment burden through basket weight and shipping charged, so a remote region that ships heavy and eats its own margin is obvious, not buried in a healthy top line.

  • Accretive vs dilutive. Each region judged on CM1 against the weighted average
  • Fulfilment burden. Basket weight and shipping charged, region by region
  • Margin concentration. How exposed the catalogue is to a few core regions
See your regional P&L
Products · regional P&LDemonstrative data
Regional P&L · CM1 % vs the all-region average (accretive / dilutive)
RegionNet revCM1CM1%Ship/ordervs avg
Region A · metro$612,400$238,80039%$6.10accretive
Region B · metro$418,200$152,60037%$6.80accretive
Region C · regional$196,500$62,90032%$9.40on avg
Region D · remote$88,300$18,50021%$14.20dilutive
Region E · remote$41,700$7,10017%$16.90dilutive
The all-region average is 34% CM1. The metros run accretive, while the remote regions ship heavy and dilute the catalogue at 17-21%. Revenue by region hides this; margin-true region P&L surfaces it.
Where the numbers come from

Built on your store, reconciled to true profit.

SKU margin, the portfolio matrix, inventory, returns and the regional P&L are read straight off your orders, costs, stock and shipping geography, with no ad connection needed.

Orders, refunds & geography

Every order line, refund and shipping region from your store, so each SKU's revenue is net, the CM1 reversed on returns is real, and the regional P&L ties to the orders behind it.

ShopifyWooCommerceBigCommerce

Cost, stock & shipping

COGS per unit, stock on hand and shipping charged, with a coverage badge on every margin, so contribution is real, days of cover track actual velocity, and the fulfilment burden is sized.

Cost feedsInventoryShipping

Owned audiences

Buyers of any SKU export as an audience to your email tool, so a hero product or a slow mover becomes a targeted campaign.

KlaviyoEmail / SMS
Every figure is reconcilable to its source, a product-margin number a CFO signs off.
The team behind it

Built by an award-winning analytics team.

Margin OS comes from Blufire, trusted by 100+ mid-market and enterprise brands and recognised across the APAC and Global Search Awards. The same people now model your margin.

100+
Brands served
$5M-$1B
Turnover served
4
Industry awards
100 Fast StartersAPAC Search Awards 2025 WinnerGlobal Search Awards 2025 FinalistGlobal Agency Awards 2025 Finalist
Questions

The things buyers ask.

Shopify ranks products by units and revenue. We rank them by true contribution in a pivotable cube, netting COGS off every unit, so a high-volume product running a thin or negative margin is exposed rather than celebrated, and the quiet SKU that actually funds the catalogue gets the attention it deserves. On top of the cube sits the strategy layer Shopify has no version of: an ABC x XYZ portfolio matrix, affinity and bundle economics, returns shown as CM1 reversed, and a margin-true regional P&L.
ABC ranks SKUs by revenue concentration (A is your top 80% of revenue, then B, then C). XYZ classifies demand stability from the monthly demand variability (X steady, Y variable, Z erratic). Concentration alone misses half the picture: a top-revenue hero with lumpy, erratic demand is a forecasting and buffer-stock risk you plan around very differently from a steady one. Crossing the two gives you a 9-cell map, a protect list in the top-left and a prune shortlist (low revenue, erratic demand) in C-Z, with tier drift versus the prior quarter.
Co-purchase lift is only half the test. We cross it with the joint contribution margin across the co-orders, so a pair is recommended as a bundle only when it is jointly CM1-positive. A high-affinity pair that is jointly CM1-negative is flagged 'do not bundle', because bundling it would just sell more of a money-losing combination. Single-item baskets are also sized as an attach opportunity.
We lead with CM1 reversed, the true contribution clawed back on the margin-rate basis (the refund value times the order's pre-refund margin rate), not the gross refund dollars, which overstate the damage. Refund rate is framed as a health figure, the maturity of the liability is tracked, and serial returners can be saved as a suppression audience.
No. The margin cube, the portfolio matrix, affinity and bundles, inventory cover, returns and the regional P&L are all computed from your orders, costs, stock and shipping geography alone, live on day one, with no ad connection required. (Channel and attribution-true splits are handled in their own views.)
It renders revenue-only and is badged accordingly, never folded into a margin with a zero cost. Every margin surface shows its COGS coverage, so you always know what the number includes.

See which products really pay their way.

Connect your store, your costs and your stock. We score every SKU on true contribution, flag the leaks and the stock risks, and hand you the move on each.

01

Connect your store

Orders, refunds and your catalogue. No data team.

02

Load your costs

COGS, stock and shipping, mapped with us.

03

Score the cube

True contribution per SKU, pivotable, leaks flagged.

04

See the strategy

Portfolio matrix, bundles, cover, returns, regions.

05

Get the moves

Protect, prune, reorder, bundle and suppress, exported.

Book a demo Talk to an analyst