Your CRM has 10,000 records and you know a good chunk of them are garbage. Duplicate entries, missing phone numbers, job titles from three years ago, emails that bounce. You have been putting off the cleanup because it sounds awful. With the right sequence, you can reclaim 15 to 25% of your database value in a single weekend.
Step 1: Export Everything (Friday Evening, 30 Minutes)
Pull a full CSV export of your CRM contacts. Include every field: name, email, phone, company, title, industry, company size, last activity date, and custom enrichment fields. Save this export as your backup before touching anything. If something goes wrong, you reimport and return to your starting point.
Step 2: Deduplicate (Saturday Morning, 2 Hours)
Duplicates are the most common CRM problem. In unmanaged databases, duplicate rates run 10 to 30%. The simplest dedup key is email address. Sort by email and flag exact matches.
Email-only dedup misses records where someone appears twice with different addresses. For these, use a compound key: first name plus last name plus company domain. For each duplicate set, pick the winner based on data completeness. The record with more populated fields survives. Merge unique data from the loser into the winner before deleting.
Step 3: Identify Stale Records (Saturday Morning, 1 Hour)
B2B contact data decays at 2.1% per month. Records over six months old have a 12% chance of containing at least one wrong field. Over a year old? About 22.5% are stale. Job title changes affect 65.8% of contacts within 12 months. Phone numbers change for 42.9% within the same period.
Add a column for record age. Flag everything older than six months for re-enrichment. In a typical 10,000-record database, expect 4,000 to 6,000 needing a refresh.
Step 4: Standardize (Saturday Afternoon, 2 Hours)
Your CRM probably has VP of Sales, Vice President of Sales, VP Sales, and Sales VP as four entries for the same role. This breaks segmentation and reporting.
Create a standardization map. Focus on the top 20 title variations and top 20 company name variations. These cover 60 to 70% of inconsistencies. Use find-and-replace for bulk changes.
Step 5: Verify Emails (Saturday Afternoon, 1 Hour)
Run existing email addresses through a verification service. Only 23.6% of B2B marketers verify lists before campaigns, which is why average bounce rates sit at 7.5% instead of the target under 2%.
Results arrive as valid, invalid, risky (catch-all), and unknown. Archive invalid emails. For 10,000 records, expect 7 to 15% invalid. Verification costs $0.003 to $0.01 per email, so the whole list runs $30 to $100.
Step 6: Re-Enrich Stale Records (Sunday Morning, 2 Hours Active)
Take the stale records plus those with invalid emails and send them through an enrichment provider. Waterfall enrichment queries 17 or more sources in sequence, giving 85 to 95% coverage versus 50 to 70% from single-source tools.
Upload in batches. A 5,000-record batch typically takes 2 to 4 hours. The cost: 5,000 records at $0.03 to $0.10 per valid result with 85% find rate means roughly 4,250 billable records costing $127 to $425. With pay-per-valid pricing, you skip payment on records returning no results.
Step 7: Merge Enriched Data Back (Sunday Afternoon, 2 Hours)
Merge results into your cleaned spreadsheet. Fill blanks automatically. For fields where both old and new values exist, keep the newer one unless the old value was manually verified by a rep. Update Last_Enriched_Date for every re-enriched record.
Step 8: Reimport and Validate (Sunday Evening, 1 Hour)
Import your cleaned CSV back with update-on-match settings (match by email or record ID). After import, spot-check 50 random records for accuracy.
Expected Results
- 8,000 to 9,000 unique records after dedup
- Email verification rate above 90%
- Phone coverage improved by 15 to 25%
- Refreshed job title accuracy
- Standardized names and titles
The typical cleanup reclaims 15 to 25% of database value. At $12.9 million in annual losses from poor data (Gartner), even modest improvements translate to real revenue impact.
Ongoing Maintenance
Schedule quarterly re-enrichment for records older than 90 days. Set up automated enrichment triggers for new records. Monitor bounce rates weekly. The goal is making this the last weekend cleanup you ever need.




