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:
- The core revenue share, 80% by default. Products are ranked by current revenue; those inside that cumulative share are core, and the product that crosses the line stays inside it. The rest is the long tail.
- The concentration count, ten by default. How many products the concentration measure covers.
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.
- The top two products carry 80% of the revenue.
- The concentration index sits at 0.365, the sum of the squared shares.
- One product arrived during the range, one stopped before the current period, and two are below zero margin.
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 reviewWhat 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.