SKILL.md
CRM Data Hygiene
Dirty CRM data compounds: duplicates split history, stale records burn outreach, and every downstream system inherits the mess. Fix the source of bad records first, then clean, then automate the upkeep.
Workflow
- Scope the problem. Which failure mode: duplicates, decay (job changes), missing fields, inconsistent formatting, compliance gaps, or unknown (audit needed)? Which CRM, how many records, what data-ops tooling exists? Volume changes the approach: under 1k records is a manual afternoon, 100k+ needs staged bulk operations with review gates.
- Audit before touching anything. Measure four numbers: duplicate rate, critical-field completeness, estimated accuracy (sample 100 records against LinkedIn/company sites), and data age (median days since last verification). This scorecard is the baseline you will prove improvement against.
- Quick wins, in order.
- Exact-email-match dedup (safe, fast).
- Formatting normalization: phone formats, name casing, country and industry values to a canonical list.
- Bulk-fill critical gaps via enrichment (route the enrichment itself to sales-enrich).
- Purge dead weight: hard bounces, invalid emails, disconnected numbers. Archive, never delete.
- Fuzzy dedup with review gates. Match on email OR phone in addition to name + company; never name + company alone. Run in review mode on a 50-100 record sample first, inspect the merge candidates, then bulk. Configure merges to preserve original lead source and to honor opt-out flags from either record.
- Fix the faucet. New duplicates usually enter through web forms, imports, and integration syncs. Enable duplicate-prevention rules on every creation path. Prevention beats cleanup permanently.
- Install the ongoing program. Enrich-on-create for new records, monthly fuzzy-dedup sweep with manual review, quarterly re-enrichment of active records, annual archive of records with 12+ months of no activity.
- Track the scorecard monthly. Duplicate rate under 2%, critical-field completeness 95%+, outbound bounce under 3%, median data age under 90 days, merge volume trending down (down means prevention is working).
Compliance guardrails
Opt-outs and consent survive every operation. Never re-enrich or reactivate a contact who opted out. Merges must keep the strictest consent status of the merged records. Check regional rules before bulk operations on EU contacts. Keep suppression logic in one place (see do-not-contact if the library has it wired in).
Good vs Bad
Bad merge rule: "Auto-merge any records with the same first name, last name, and company." Two different J. Smiths at the same enterprise get merged, activity history is now fiction, and a rep emails the wrong person about their own deal.
Good merge rule: "Candidate on name + company, confirm on matching email or direct phone, tiebreak on title/department, auto-merge only exact-email matches, everything else goes to a weekly human review queue, oldest record's lead source wins." Precision where damage is irreversible.
Verification
After any dedup run, sample 25 merged records. Expect every merge to be the same human, lead source preserved, and no opt-out flag lost. One wrong merge in the sample: stop, tighten match rules, and review the whole batch before continuing.
After enabling prevention rules, create a deliberate test duplicate through each entry path (form, import, manual, API). Expect every path to block or flag it. Any path that lets it through is the leak that will refill the CRM.
Compare the audit scorecard 30 days later. Expect duplicate rate and data age moving toward targets. Flat numbers mean creation-path leaks, not insufficient cleanup.
Footguns
- Enriching before deduplicating. Pays twice to enrich the same person. Fix: dedup, then enrich survivors.
- Deleting instead of archiving. Deleted records take their history with them. Fix: archive status; reactivate if the contact returns.
- Loose fuzzy matching in auto mode. False-positive merges are near-irreversible. Fix: review mode first, strict match keys, human queue for non-exact matches.
- Cleaning without fixing entry points. Duplicates return faster than the monthly sweep removes them. Fix: prevention rules on all creation paths, verified by test.
- Losing lead source on merge. Attribution breaks silently and marketing reporting turns to noise. Fix: explicit field-survivorship rules before the first bulk merge.
Completion checklist
- [ ] Baseline scorecard measured (duplicates, completeness, accuracy sample, age)
- [ ] Exact-match dedup done; fuzzy dedup reviewed on a sample before bulk
- [ ] Merge rules preserve lead source and consent status
- [ ] Duplicate prevention verified on every creation path
- [ ] Ongoing program scheduled (create-time enrichment, monthly sweep, quarterly refresh, annual archive)
- [ ] No destructive operation ran without user confirmation
Any box unchecked: not done. Fix or say so.