Method · 5 min read

Assortment health: which products carry the sales, and which carry the list

Every catalogue has a shape. A handful of products carry most of the revenue, a long line behind them carries almost none, and somewhere in that line sit the arrivals that have not landed yet and the products that quietly stopped selling.

The question it answers

A revenue total says nothing about how it is carried. Two businesses with identical sales can have opposite portfolios: one where three products do everything and a disruption is existential, one where four hundred products each do a little and nobody can name the top ten.

This analysis describes that shape across a series of periods: how concentrated the revenue is, how long the tail is, how much each active product carries, what arrived, and what stopped.

It needs at least three periods. At two you are comparing, and comparing is what a bridge is for. A tail and a productivity trend need a series.

Two thresholds, both visible

Two numbers decide what the words mean, so you set them and they never leave the result:

Neither is hidden in a setting panel. Both are printed before the calculation, carried into the result, and written into the scope of the review pack section - because a portfolio called "concentrated" at 70% is not the same claim as at 80%, and a reader who cannot see the threshold cannot argue with the conclusion.

Labels that stack

Five labels: core, long tail, new, discontinued, negative margin. They are facts, not a score, and they combine. A product can be new, in the long tail and below zero margin at the same time - and that combination is usually the interesting one.

Nothing ranks them and nothing weights them into an index. They are filters you apply to look, not a verdict the tool has reached.

The negative margin label only appears when the cost column is complete. Without it the analysis still runs; it simply stops talking about margin rather than guessing at it.

What it looks like on a small file

The sample that ships with the tool has six products over three periods. In the current period five are still selling, for 1,000 in revenue - an average of 200 each.

Change the core share from 80% to 70% and the membership of the core changes with it. That is not a bug in the threshold; it is the reason the threshold is shown.

Build yours

Your own portfolio, in your browser

Drop a sales export covering three periods or more. It all runs inside your browser: nothing is uploaded, which you can check in the Network panel while you work.

Start a monthly review

What it will not do

These labels describe sales and margin patterns. Stock, availability and shelf-space data are not included. That sentence is on the screen, in the export and in the review pack.

It is not modesty, it is arithmetic. Deciding to stop carrying a product needs four things a sales file does not have: what is in stock, whether it was available to sell, what it occupies on a shelf, and how long the supplier takes to replace it. A product with no sales might have had no stock all quarter.

So the analysis stops at the description. It will tell you a product sits in the long tail with a negative margin and has not sold since March. What to do about it is a decision that needs data this tool never saw.

It does not rank the labels, and it does not produce a health score. A single number would hide exactly the combinations that make a portfolio worth looking at.

Questions

Why three periods and not two?

At two periods you are comparing, and the bridge does that better. A tail, a productivity trend and a reliable view of arrivals need a series.

Which period does the diagnosis describe?

The last one in the order you confirm. Core, long tail, new and discontinued are all read from it, and the screen names it - because nothing in a period label says which is the most recent.

What if I have no cost column?

Everything works except the margin figures and the negative margin label. A missing column removes what it carries; it does not close the analysis.

Does my file leave the browser?

No. The whole calculation runs in the page, on your machine. How to verify that in two minutes.