Case study 06 / Product analytics

Revenue is not profitability

Revenue was growing while profitability trended down. The problem was margin — and a range chosen by revenue rather than profit. I analysed margin, sales velocity and storage cost to decide what to promote, what to keep, and what to remove.

Eskwelabs data analytics case study. Figures are illustrative; no company data is published.

Context
Eskwelabs data analytics bootcamp
Role
Data Analyst · case study
Scope
Product range · margin, velocity, storage
Method
Contribution margin · velocity · range rationalisation

01 / The paradox

Revenue was up. Profit was down.

More sales looked like success until the margin line told a different story. Products were being promoted and stocked because they sold well, not because they made money — and slow-moving, space-hungry items were quietly absorbing cash and storage capacity.

The question was not "what sells most?" but "what earns most per unit of cash, space and attention — and what should leave the range?"

02 / The approach

Score every product on profit, speed and space.

  1. Margin first

    Calculated product-level gross margin and contribution, so revenue rank stopped masking the products that were earning little or losing money after cost.

  2. Sales turnaround

    Measured how quickly each product sold — velocity and sell-through — to separate fast movers from items that sat in the range without turning.

  3. Storage cost

    Brought holding cost into the decision: a high-margin product can still be a poor choice if it occupies expensive space for months before it sells.

  4. Combine into one decision

    Placed products on a margin-vs-velocity view with storage cost as the third dimension, then translated the quadrants into actions: promote and stock, keep selectively, reprice or renegotiate, or remove from the range.

PROMOTE & STOCK KEEP / BUNDLE REPRICE / NEGOTIATE REMOVE FROM RANGE SALES VELOCITY → GROSS MARGIN → bubble size = storage cost · illustrative only
Illustrative: margin and velocity set the quadrant; storage cost sizes the bubble and the risk.

03 / From analysis to range decisions

Every quadrant gets a different action.

The analysis only mattered because it changed the decision. Instead of a single revenue ranking, the range was reviewed on three signals at once:

Margin Velocity Storage cost Action
High Fast Low Promote & stock
High Slow Low Keep, bundle, or make to order
Low Fast Low Reprice, renegotiate cost, or keep as a traffic driver
Low Slow High Remove from range
Mid Fast High Review — cash and space trade-off

04 / What changed

The range started being managed for profit, not just sales.

  • Promotion and stocking decisions moved to high-margin, fast-turning, low-storage products.
  • Low-margin, slow-moving, space-heavy items were identified for removal from the range.
  • Fast low-margin products were treated as a pricing or cost problem, not automatically as winners.
  • Revenue growth could be judged against the margin it actually produced.

05 / Limitations

What this analysis is — and isn't.

Storage cost is an allocation, and different allocation rules can change the ranking. Velocity and margin both depend on the time window and on seasonality, and past sell-through is not a guarantee of future demand. The framework improves the quality of the range conversation; it does not remove the need for judgement. Figures here are illustrative and no company data is published.

Related

See the pricing work behind the margin question.