Few things waste as much time in a trading meeting as two sell-through numbers for the same season. The commercial team says 57%, finance says 68%, and the next half hour goes on deciding who is right. Usually both are, because they are measuring different things under the same name. Here is how I separate sell-in, sell-through and sell-out, where the definitions drift apart, and how to show all three in one Power BI report.
Sell-In, Sell-Through and Sell-Out Definitions
- Sell-in: units or value moved from the brand into the channel. For a wholesale brand, these are shipments invoiced to retail partners. For a brand’s own retail, it is stock delivered from the warehouse to stores or to the online fulfilment centre.
- Sell-out: units or value bought by end customers in a period, net of returns. It is an absolute number: 900 units, or 45k.
- Sell-through: sell-out expressed as a share of the stock that was available, for example 600 units sold out of 1,000 received is 60%.
So sell-out tells you volume, and sell-through tells you how well the quantity you bought or shipped is performing. You will find sources that use sell-through and sell-out as synonyms; in retail reporting it pays to keep them apart, because one is a count and the other is a rate.
Why finance cares so much about sell-in is a matter of revenue. For a wholesale business, revenue is generally recognised when the goods are delivered to the partner, not when a customer buys them, although sale-or-return and consignment deals change that and your finance team will have the exact rule. For own retail, revenue is the sell-out. A brand with both channels therefore has two different moments at which a unit counts as “sold”.
Sell-In vs Sell-Through Example for One Season
Take a simple season. A brand buys 10,000 units of a style. It sends 8,000 to its own stores and online shop and ships 2,000 to a wholesale partner. Own channels sell 5,200 units, of which 400 come back. The partner reports a sell-out of 900 units.
| View | Units counted as sold | Denominator | Sell-through |
|---|---|---|---|
| Own stores and online | 4,800 | 8,000 | 60% |
| Wholesale partner, sell-out | 900 | 2,000 | 45% |
| All channels, end customers | 5,700 | 10,000 | 57% |
| All channels, shipments to partner as sold | 6,800 | 10,000 | 68% |
The last row is how the season looks if wholesale shipments count as sold, which is natural from a revenue point of view. The third row is what end customers actually bought. The 11-point difference is 1,100 units sitting on the partner’s shelves. High sell-in with low sell-through is exactly this pattern: stock building up in the channel, which usually comes back later as returns, markdown support or smaller orders next season.
Three Sell-Through Definition Mismatches Between Teams
Wholesale is only one source of disagreement. When I compare commercial and finance reports, the gap almost always comes from one of three places.
The first is the denominator and the unit. Commercial teams usually divide net units sold by units received. Finance often divides sales by opening stock plus receipts, and does it in value at cost. On a style with 200 units of carry-over, 800 received and 600 net sold, that is 60% on one denominator and 75% on the other, and value weighting pulls the result towards expensive products. The calculator below shows how far the two unit denominators drift apart.
Formula: (sold − returned) ÷ (opening stock + received). The second result divides by received units only.
The numbers stay in your browser and are not sent anywhere.
The second is the time window. Finance closes by fiscal month, commercial teams by retail week or by weeks since launch. A report cut on the last Sunday and one cut on the last calendar day of the month will not match, especially in a month with a sale weekend at the edge.
The third is returns, transfers and shipments. Finance books a return in the period it comes back; many commercial reports net it against the original sale. Transfers between stores may be counted as receipts twice. And, as above, one team counts wholesale shipments as sold while the other waits for the partner’s sell-out data.
How to Agree One Sell-Through Definition with Finance
The fix is not to decide who was right. It is to write the definitions down and give different things different names. I use a short definition card for every KPI in the report, agreed with one person from finance and one from the commercial side:
- Name and formula, in words and in the exact calculation.
- Unit: units, value at retail or value at cost.
- Denominator: units received only, or opening stock plus receipts.
- Returns rule: netted against the original sale or booked in the period received.
- Period: retail week, fiscal month or weeks since launch, and the cut-off day.
- Channel scope: own retail, wholesale sell-in, wholesale sell-out, or all.
- Source tables and an owner who answers questions about it.
If both views are needed, they get two names, for example “customer sell-through” and “shipped share”. The same label should never hide two formulas. Once the card is signed off, it goes into the report description, so anyone reading the number can see how it was built.
Sell-In vs Sell-Through in a Power BI Report
In the data model, sell-in and sell-out are two fact tables: shipments and customer sales. Both connect to the same date, product, store and customer dimensions, so they can sit in one visual. Stock in the channel is then simply cumulative sell-in minus cumulative sell-out.
Sell-In Units :=
SUM ( Shipments[Units] )
Sell-Out Units :=
SUM ( Sales[Units] ) - SUM ( Sales[ReturnUnits] )
Customer Sell-Through % :=
VAR LastDay = MAX ( 'Date'[Date] )
RETURN
DIVIDE (
CALCULATE ( [Sell-Out Units], REMOVEFILTERS ( 'Date' ), 'Date'[Date] <= LastDay ),
CALCULATE ( [Sell-In Units], REMOVEFILTERS ( 'Date' ), 'Date'[Date] <= LastDay )
)
Channel Stock Units :=
VAR LastDay = MAX ( 'Date'[Date] )
RETURN
CALCULATE ( [Sell-In Units] - [Sell-Out Units], REMOVEFILTERS ( 'Date' ), 'Date'[Date] <= LastDay )The page I build shows weekly sell-in and sell-out as two lines, the channel stock as a column, and customer sell-through by channel in a small table. When the lines separate for several weeks, stock is piling up somewhere, and the table shows where.
One practical detail: partner sell-out data usually arrives later and less regularly than your own sales. I show the date of the latest partner file on the page. Without it, a sudden drop in wholesale sell-through is often just a missing week of data. For the rate itself, including what a good sell-through rate looks like in fashion, see my article on how to calculate sell-through rate.