The Apparel OSby RetailNorthstar

The full-price number nobody owns

Ask any apparel brand what it manages to and full-price sell-through will be in the first three answers. Ask for the number for a specific style, this season, and watch what happens: someone opens a spreadsheet, someone else says it depends what you mean, and a third person produces a different figure an hour later. All three are being honest.

The interesting part is that the data is not missing. It is right there, and it is correct.

The split survives, then dies

At the till, everything needed exists. A modern point-of-sale system records the original price, the price actually paid, the discount amount and usually a reason code — at line level, per transaction. Whether a unit sold at full price is not ambiguous at the moment it sells. It is a recorded fact.

What happens next is the problem. The split survives at transaction grain and is lost in aggregation. By the time sales reach the planning layer they have been summed — by style, by week, by door — and summing is where the distinction goes. Units and value make the journey. The question of which units were discounted does not, because nobody specified that it should.

And there is a second fracture underneath it. A permanent markdown lives in the pricing system, because it is a change to the price of the product. A promotional discount lives in the promotions engine, because it is an event applied at the basket. Those are different objects, in different systems, owned by different teams. No single system holds both halves of “was this sold at full price”, so answering the question means joining two sources that were never designed to be joined — which is exactly the kind of work that gets done once, by hand, by whoever needed the answer most.

A derived metric with no system of record

The system-of-record map sets out a rule that sounds bureaucratic until you watch it fail: every field has exactly one writer, and when two objects share a name they are two objects and need two names. Full-price sell-through breaks it in a way the rule was not written for. It is not a field anyone writes. It is derived — and derived metrics fall through the map, because a map of who owns which record has no row for a number that is calculated rather than stored.

So ownership defaults to whoever cares most. Usually that is a planner, usually late, usually in a spreadsheet, usually with a definition invented on the spot to answer the question in front of them. Does a staff discount count? A price match? A first-order welcome code? A markdown taken in one region and not another? Every one of those is a defensible judgement, and every one produces a different number.

Which is how two people in the same brand can honestly report different full-price sell-through for the same style, both correct under their own definition, neither aware the other used a different one. The meeting that follows is not a disagreement about performance. It is a disagreement about vocabulary that everyone is experiencing as a disagreement about performance.

Why it is worse than an ordinary gap

Most metric gaps are annoying. This one is load-bearing, because full-price sell-through is the number brands use to decide what to repeat, what to cut, and what to mark down earlier next time. Margin is made before the buy — as that argument goes — and this is the number that tells you whether the last buy made it. Running the next season’s decisions off a figure whose definition changes by author is not a reporting problem. It is a compounding one.

It is also invisible in exactly the way that keeps it alive. Nothing breaks. No report errors. Someone simply rebuilds it in a spreadsheet, the number looks plausible, and the organisation proceeds. A missing metric announces itself; a reconstructed one does not.

The fix is a rule, not a report

The instinct is to build the report — put full-price sell-through on a dashboard and declare it solved. That produces a fourth number, authored by whoever built the dashboard, sitting alongside the three that already existed.

What actually resolves it is deciding the definition once, writing it down, and writing the result back to a place with one owner — so that the derived number becomes a stored one, and the map has a row for it. The definition is a business decision with real content: which discount types count as full price, whether a permanent markdown and a promotion are treated alike, what happens to returns. None of that is a technical question, which is precisely why it never gets asked in a technical project.

A brand that can produce its full-price number on demand, and knows who owns it, has not bought a better dashboard. It has made a decision that everybody else deferred — and it will notice the difference at the next range review, when the argument is about the assortment instead of about the arithmetic.

See which system should own which record in the system-of-record map, read why the margin is made before the buy, see how RetailNorthstar approaches connected planning, or work the underlying retail math with the free tools on retail-plan.com.

Book a Demo →