Course · 1. Background and motivation
How shoppers switch
Suppose a shelf has Volt Original, Surge Berry, Apex Citrus and Nova Mango, and you launch Volt Berry. Its sales have to come from somewhere: from your own Volt Original (cannibalization), from competitors, or from people who would otherwise buy nothing. Which one decides whether the launch is a good idea.
What the standard logit assumes
Because the logit treats every product's random part as independent, it predicts that a new product takes share from every existing product in proportion to that product's size. A product with 30% of the market loses three times as much as one with 10%, whatever the products are. This property is known as IIA (independence of irrelevant alternatives), and it is the logit's best-known weakness: two near-identical products are treated as no closer substitutes than two very different ones.
HB logit softens this a little, because people with different tastes switch differently, but within any one person's choice the products are still independent.
What our model does instead
Our model lets the random parts of products be correlated, and estimates how from the survey. Two products that share a flavor can share part of their random part: someone who is in the mood for berry today is in the mood for any berry drink. That is learned as a switching structure: how much of the in-the-moment variation runs through brand, through flavor, through can size, or belongs to each product on its own.
The consequence: when a product is removed or added, its buyers move more to the products most like it. Nobody has to draw a decision tree in advance ("shoppers choose flavor first, then brand"); the data says which paths matter and how much.
Does it matter in practice?
Where products differ along clear lines (flavors, brands, near-duplicate variants), switching is where the standard model and ours give different answers, and those answers drive line extension, cannibalization and range decisions. Where products are all quite different and there is no switching pattern, the two agree, and our model does not invent one.
Try it in the tutorial: see the switching the model learned
Next: Uncertainty
Tutorial links open the example project in the app; it is free and needs a free account.