Context
A multi-brand Singapore retail group — fashion, F&B and lifestyle — operated 50+ physical outlets, a flagship e-commerce site, a mobile app and three loyalty programs. None of those four customer surfaces agreed on identity. The same person earned loyalty points twice on a weekend, got the wrong personalization on the app, and was emailed an offer for a brand she’d already churned from. Repeat-purchase rate had been flat for 18 months.
The merchandising team had been asked to “use AI” without a way to ask AI a useful question — there was no unified customer model to query.
What we did
Architecture in one paragraph
Event streams from web, app, POS and the existing Yonyou-based ERP land in Azure Event Hubs. Identity resolution runs as a stream- processing job into Azure Cosmos DB (with deterministic + probabilistic matching). Activation flows out to email (SendGrid), the app (push), the web (personalization API) and in-store kiosks (Yonyou CRM integration). On top, an LLM agent — Anthropic Claude on Azure — sits over the segment store so merchants can ask “show me customers who bought brand A in the last 90 days and haven’t visited brand B” and get the audience back in 8 seconds.
Why three previous attempts failed
Two previous CDP attempts (an off-the-shelf SaaS and an internal project) had failed because nobody had reconciled what “customer” meant across the brands. We spent weeks 1 – 4 on a single workshop deliverable: the canonical customer definition, signed off by every brand head.
Results
- 27% lift in repeat-purchase rate within Q1 post-launch
- 2.4M profiles unified across three source databases
- 14 weeks from kickoff to first revenue-attributed campaign
- < 2 seconds end-to-end latency from POS scan to profile update
- 8 seconds average response time for natural-language segment queries via the LLM agent
What we learned
The hardest part wasn’t the streaming pipeline. It was getting merchandising, e-commerce, store operations and finance to agree on a single canonical definition of “customer” — and then rebuilding three teams’ KPIs on top of it without losing trust mid-cutover. The 6-week shadow-reporting phase (old + new running side by side) was expensive but bought us the credibility to retire the legacy systems.
The LLM agent landed harder than expected. Merchandising leads stopped filing IT tickets for “can you pull this list” within a month — they asked the agent. IT reclaimed roughly 12 person-hours per week.