Zero sales is a fact, not an explanation. How merchandising conversations, treated as Bayesian evidence alongside POS and orders, reveal the true state of a store-product pair.
Much of retail execution is joining disparate data sources to assemble a clear story of your brand. Today, I want to consider the role of merchandising conversations at the store in such analyses. Merchandising reports and conversations can sometimes be noisy, but certainly inform our beliefs of what is happening at the store level more than POS or order feeds could alone.
For example, consider a SKU that sells zero units for nine days. That might happen for a number of reasons:
Often, POS data alone cannot distinguish these cases. And each case requires a different solution.
Consider a product , a store , and a day .
We want to identify the true latent state of the product. For example, is the product healthy, or is it out-of-stock? If it is out-of-stock, is the issue at the shelf or warehouse level?
We cannot continuously observe . Instead, we observe data, both quantitative and qualitative. Quantitative data comes from sources like POS, orders, or inventory snapshots. Let's call this . On the other hand, qualitative data comes from conversations, such as merchandising visits, store calls, or replenishment manager meetings. We'll refer to this as .
But POS alone is misleading because sales are censored by availability: a sales reading is capped by supply, so we never observe demand beyond what was actually on the shelf. If demand is and sellable shelf inventory is , observed sales behave like
When we observe zero sales, we could have had no demand, no availability, or both. Given that demand and availability can hit zero for unrelated reasons, how can we pinpoint the real cause?
In Figure 1, the observed run is identical in all four panels, but the underlying cause is different in each. The first panel is a shelf problem. The second is upstream - the store wants the item and can't get it. In the third the item has left the assortment, and in the fourth the product is in the building but not on the display it was meant for.
Merchandising conversations can help unravel the truth, if we interpret them correctly.
Stores have the most direct view of the ground truth, so it is tempting to treat the store as the authority on it. However, stores may check the wrong aisle, describe a temporary condition as permanent, or report a local symptom of an upstream cause.
Information from stores carries error, just like quantitative sources such as forecasts, inventory files, POS, order history, store attributes, and promo calendars do. So the problem becomes how to reduce uncertainty given a noisy signal from these conversations. This is a classic probability problem, and we can apply Bayes' theorem: for a candidate state ,
The prior is the base rate of each state. , the structured likelihood, says what POS, orders, and inventory tend to look like in each state. And the conversation likelihood says how probable it is to observe a certain conversation if we are indeed in state .
So the conversational data shifts the posterior toward the state it fits best.
Let's use the synthetic example above to illustrate how this works.
At the start, we predict that the product is most likely healthy (68%). Then we observe a zero-sales window, which changes our prediction - the product might still be healthy, but a shelf OOS, an authorization issue, or a DC OOS have all become plausible.
Now we bring in the conversational data. If a store reports an empty shelf, we predict a shelf OOS (70%); if a warehouse reports it cannot ship, a DC OOS becomes most likely (59%); and if we hear of a reset, we can conclude the product is not carried (82%).
Merchandising is most valuable when it removes uncertainty. We can summarize how much uncertainty is left in the posterior - our belief over states after folding in the evidence - with Shannon entropy,
where is the probability of state . A good signal sharpens the posterior.
Now, the best outcome we can get is limited by two things:
The ambiguous window starts at 2.16 bits, and a 75%-reliable label removes 0.94 of them. At 90% each covered window removes quite a bit more; at 60% the curve flattens out and more coverage is not that useful.
To tune the slope, we must deeply care about extraction quality and entity resolution. Reliability is not a property of the store's words; it is a property of the pipeline that interprets them. When a merchandiser says "the citrus 12-pack is gone," extraction has to decide whether that is a shelf observation or a discontinuation claim, and entity resolution has to map "citrus 12-pack" to the right product at the right store. Every mistake in that mapping turns a covered window into a mislabeled one, which is worse than no coverage at all - it moves the posterior toward the wrong state. That is what the flat 60% curve looks like in practice.
Sometimes, data (either qualitative or quantitative) may contradict each other.
In these cases confidence should decrease, and that is the system working rather than failing. What we are estimating is a belief over states, and the most truthful belief is the one that matches the evidence - which, under conflicting evidence, is a spread-out one. Truthfulness here means calibration, not sharpness: a system that still reports "70% shelf OOS" when the readings disagree is more confident than ours, but less honest.
Consider a store-product pair where POS shows a few sales this week and the merchandiser reports an empty shelf. The two readings disagree, so the posterior should spread back across several states rather than collapse into a single confident one. Our entropy goes up and we are less certain, but our belief is a better reflection of what we actually know,
When POS and the conversation eventually line up, the posterior sharpens again, and the confidence we report is one the data backs up.
Instead of treating quantitative data as the prior, we may choose to treat conversational data as the baseline and update our posterior with transactional data.
Indeed this process can be fully generalized - we place conversational and quantitative data in the same geometry, and update our methodology to compute posteriors based on a prior with additional evidence.
Additional evidence may cause our certainty of a certain state to increase or decrease. Either is okay, as long as we get closer to the true certainty of the state!
Note that it does not matter which we fold in first. Structured-first and conversation-first pass through different intermediate beliefs, but they land on the same posterior.
Once we hold them in the same geometry, a conversation becomes something we can query like any other telemetry. We can ask where stores reported the warehouse could not ship last quarter, which reset complaints cluster inside one banner, which product requests are still open, and which items keep getting called not carried when they are only out of stock.
That is the part POS cannot answer on its own, and it is why the conversation is worth measuring.