All posts
IndustryJune 13, 2026·8 min read·Mike Sadofyev

Retail Analytics Beyond the Category Report

Most retail analytics stops at the category report. Sales by category, by week, by store, sliced and color-coded, sent up the chain every Monday. It looks like insight. It is mostly a rear-view mirror. The category report tells you what sold. It does not tell you why a person walked in, what they meant to buy, or what they tried to buy and could not. The decisions that actually move a store - what to stock, how to arrange the shelf, what gap is quietly bleeding revenue - live in the layers underneath that report, and the category view flattens all of them into one number.

I have spent enough time inside this work to be blunt about it. The category report is where retail analytics goes to feel productive without changing anything. The interesting answers come from three other places: why people shop, what one item is really worth, and what you are losing without seeing it.


Retail analytics that starts with the shopping mission, not the category

A category tells you a banana sold. A shopping mission tells you the banana was part of a quick top-up trip on the way home, alongside milk and bread, by someone who will be back in two days. Those are two completely different facts, and only one of them helps you plan a store.

For a retailer we worked with, we took raw transaction baskets and clustered them into shopping missions. Not products, not categories - the actual purpose behind each trip. A weekly stock-up looks nothing like a meal-for-tonight run, which looks nothing like a grab-one-thing impulse stop. Each store turned out to have its own mix of missions, and that mix is the thing the category report can never show you.

This is where market basket analysis earns its keep. Old-school market basket analysis stops at "people who buy A also buy B," which gives you a coupon and not much else. Clustering baskets into missions goes further. It tells you which trips a given store is built for, which bundles make sense for those trips, and how a planogram should be laid out so the common mission flows naturally instead of fighting the aisles. Assortment and shelf layout stop being a head-office template and start being a per-store decision grounded in how people actually shop there.

The output was not a slide. It was mission segments tied to specific stores, feeding product bundles, store profiles, and planogram choices. That is retail analytics doing something other than describing the past.


What one SKU is actually worth (hint: not its sales line)

Walk into the assortment review of any large retailer and you will find the same move: rank every item by sales, cut the bottom, defend the top. It feels rigorous. It is quietly wrong, because raw sales is a terrible proxy for what an item is worth to the store.

Some items do not sell much but they are the reason people walk in. They drive traffic. They sit in the high-value baskets. Cut them and you do not lose their small sales line - you lose the trips they anchor. Other items sell fine on their own numbers but contribute nothing the store could not get from a near-identical neighbor. The sales rank cannot tell these two apart. They look the same on the spreadsheet.

So for the same retailer we built a SKU rating engine that scores each item on two things the sales line ignores: its real contribution to store value, and its role in driving traffic. The features came from demand patterns, price, and the mission data from the basket work. The result was an assortment ranked by what each item does for the store, not by how big its own sales number is, with plain recommendations attached - keep this one, forecast that one carefully, reposition this other one.

This is what assortment optimization should mean. Not "cut the bottom 20% by sales." That blunt rule kills traffic drivers and protects redundant filler. Real assortment optimization asks what each SKU contributes and what role it plays, then prioritizes from there. The category report cannot do this either, because by the time everything is summed into a category, the per-item role is gone.


The revenue you are losing right now and cannot see

Here is the failure mode that bothers me most, because it is invisible by design. A product shows zero sales for a stretch. The category report records the gap as low demand. Reorder slows. The product fades from the assortment. Everyone moves on.

Except sometimes that gap was not low demand. It was an out of stock. The item was missing from the shelf, customers wanted it, and the only trace of that lost demand is an absence - which looks identical to genuine disinterest in any report built on sales alone. You cannot lose what you never recorded, so the loss never enters the conversation.

We built an out of stock detection approach for this retailer that does not need shelf cameras or new hardware. It compares sales and stock dynamics across product, category, and store, and learns the difference between "this item genuinely is not selling" and "this item stopped selling in a way that looks like an availability gap." When the pattern matches a likely stockout, it flags the period and estimates the demand that went unmet.

The number that came out of ordinary retail data, with no cameras on the shelf, was around 11% lost sales among items that were actively selling. Not dead stock - items the store was already moving, quietly losing better than one sale in ten to availability gaps nobody had measured. That is the gap between what the category report calls demand and what demand actually was.

Out of stock detection done this way changes what inventory analytics is for. Instead of only counting what moved, it estimates what should have moved and did not, which is the number that actually tells you where to fix replenishment.


Why the category report survives anyway

If the better answers live underneath, why does everyone stay at the category level? Because the category report is cheap, familiar, and safe. It reconciles to the finance numbers. It fits on one screen. Nobody got fired for sending it. The work I have described - missions, SKU roles, lost-sales estimation - takes the same transaction data the retailer already has and asks harder questions of it, and harder questions take a model and a bit of nerve to act on the answer.

None of these three needed exotic inputs. Shopping missions came out of baskets the retailer was already collecting. The SKU rating ran on demand, price, and the mission features. The lost-sales estimate came from sales and stock records that already existed in the systems. No shelf cameras, no new sensor rollout, no year-long platform. The data was sitting there. The category report just was not asking it the right things.


How to get past the category report on your own data

If your retail analytics still bottoms out at category trends, the move is not to buy a bigger dashboard. It is to run the three questions the category report buries, in order, on data you already own.

  • Mission discovery first. Cluster baskets into shopping missions per store. This reframes assortment and planogram decisions around how people actually shop, and it feeds everything downstream.
  • SKU rating second. Score items on store value and traffic role using demand, price, and the mission features. This is assortment optimization that protects traffic drivers instead of cutting them by accident.
  • Lost-sales detection third. Run out of stock detection across product, category, and store to find the demand the sales line never recorded. For this retailer it surfaced around 11% lost sales among active items.

The team behind this work has run 100+ enterprise data and AI projects across retail, consumer goods, and heavy industry, with senior specialists only. The pattern is always the same: the answer is already in the data, the category report is just the wrong question.

If you want to see what your own transaction data looks like under this lens, book a call and we will walk through it. Past projects in this space sit on our case studies page, and the broader inventory and assortment side lives under supply chain.

The category report tells you what sold. Missions, SKU roles, and lost-sales detection tell you why, what it was worth, and what you missed. Only one of those three changes what you do on Monday.

Running this at team scale and want a second opinion on your setup?

We do AI toolchain architecture for enterprise teams - from Claude Code workflows to production-grade agent infrastructure. Book a 15-min call and we will share what works.

Book a call