3,500 Buyer Records: Deduplication Is Not Simple Deletion
When running a B2B business, one of the most frustrating tasks is buyer information management. Our team maintained over 3,500 buyer contact records in Google Sheets. We suspected many were duplicates, but didn't know the actual scope.
Before: The Manual Review Trap
Initially, team members scrolled through and compared email addresses manually. When the same domain (@company.com) appeared multiple times, they'd flag it. If names were formatted differently, they'd double-check... This process handled only about 100 records per day. It took three weeks.
An even bigger problem was that human eyes missed duplicates. When the same person entered their email in slightly different formats (john.smith@, john_smith@, jsmith@), it was nearly impossible to spot by sight.
After: Claude Code Solved It in 5 Hours
We opened Claude Code on our Windows device. The request was simple.
「Find exact duplicate emails in our Google Sheet, group them by company domain, and show me all contacts from the same company together」
The script was ready in 30 minutes. We ran it.
The results were eye-opening.
• Completely identical emails: 287 (immediate deletion candidates)
• Same company, different contacts: 1,200 (must keep)
• Format-only duplicates (john.smith vs john_smith): 156 (manual review needed)
• Suspicious patterns: 47 (investigation required)
The Unexpected Discovery: "The Same Person Registered Multiple Times"
After the bot grouped records by company, we analyzed the patterns.
We thought one company had 8 registered people. But looking closer, we found the same person ("Park, Michael") had registered with 4 different emails:
• michael.park@company.com
• m.park@company.com
• michael_park@company.com
• mpark@company.com
We'd been sending that person four separate emails. How frustrated must they have been?
This pattern repeated 42 times across the entire dataset. Manual inspection would never have caught something at this scale.
Next Steps: Learning Automation's Limits
After receiving the bot's report, we learned three key lessons.
1. **Deduplication Isn't Simple** - It's not just deleting records, it's deciding which records to keep based on business logic.
2. **Domain Grouping Is Critical** - Patterns only become visible when you view data organized by company.
3. **Automation Still Needs Human Review** - You can't trust bot results 100%. Decisions like "should we merge these contacts" require human judgment.
Now we're reviewing those 47+ suspicious patterns one by one. What the bot could do in one hour takes us five weeks to verify. Slower, but far more accurate.
Conclusion: Bots Provide Speed, Humans Make Judgments
As non-developers, we've learned something simple. The bot quickly identifies problems, and we judge whether they're real problems. That combination is powerful.
Next time, we'll apply email normalization rules from the data collection stage itself. When the bot's speed meets human careful thinking, that's when you get the best results.