PROJECT CASE STUDY
Client project

Regional CRM Data Migration

Stabilizing a customer data migration into a China-based CRM, from cutover through hypercare

6
Months on the project
20+
Retail locations covered
16/24
Hypercare issues resolved directly

The context

This migration moved customer clienteling data for an international luxury retail brand from a global system into a China-based regional CRM, so local sales teams could manage clients directly. The project ran about a year and a half from initial build to full regional handover.

My role

I joined about two-thirds of the way through, after the core system architecture was already built. During cutover, I tested customer-to-sales-associate binding and data reconciliation and supported UAT sign-off. During the hypercare period that followed launch, I diagnosed and resolved live data issues, then handed stabilized items to the regional operations team.

How the data flows

Before I could investigate live issues, I needed a clear picture of how a customer actually gets bound to a sales associate and synced into the CRM. Here's the flow I validated during cutover testing:

Sales associate shares QR code via messaging app Customer scans and submits info through a mini-program form Data syncs to CRM system customer linked to sales associate Customer record created profile ready for sales follow-up
Customer-to-CRM binding flow, generalized

What a customer record is made of

Once synced, each CRM record groups into three kinds of fields — this structure mattered directly to the data issue below.

CRM customer record Identity App account ID Internal system ID Linked sales associate Contact Phone number Birthday Preferred store Consent SMS opt-in Email opt-in Messaging app opt-in
CRM customer record field groups, generalized

Both diagrams above are redrawn and generalized — no client system screenshots, real customer data, or brand names are shown.

The detail that mattered

During hypercare, migrated customer records kept showing up out of sync with the regional system for a subset of customers. Initial investigation took about a week of comparing data samples across both systems. The root cause turned out to be inconsistent character encoding on certain fields, which caused records to fail merging cleanly — not a logic error. Once the pattern was recognized, resolving it was as simple as re-syncing the affected records, and similar cases afterward were resolved within a day instead of a week.

Outcome

Of 24 issues tracked during hypercare, 16 were resolved directly. The remaining 8 were mostly cross-market logic questions — how certain metrics or purchase channels should map between systems — rather than defects, and were handed to the regional operations team to continue investigating after stabilization.

Stabilized and handed to regional operations
CRM Data Migration Root Cause Analysis UAT Cross-functional Coordination Data Reconciliation
All work Get in touch