Case study — an omni-channel retailer opening physical stores
What does opening a store do to online sales?
The retailer now knows, per store and per customer segment, whether physical stores grow the customer base or cannibalise the online channel.
- Python
- pandas
- Difference-in-differences
- Cohort analysis
The challenge
An online-first retailer had been opening physical stores, and the board question was deceptively simple: are the stores creating customers, or just moving existing online spend into a more expensive channel? Naive before/after comparisons couldn’t answer it — online behaviour was shifting everywhere, store or no store.
What we did
We built a customer-level analysis spine from years of order history and applied a segmented difference-in-differences design: customers in each new store’s catchment compared against matched customers outside it, before and after opening — cohorted by purchase frequency, recency and pre-period spend, so the effect could differ for loyal customers versus lapsed ones.
The outcome
Instead of one ambiguous average, the retailer got a per-store, per-segment answer: which stores lift total customer value, which segments shift channels without spending more, and what that implies for where — and whether — to open next. Store-opening decisions now come with an evidence base rather than a debate.
Working in omni channel retail? We should talk.