RevOps data cleanup with LLMs (L3)
Use LLMs to deduplicate accounts, normalize titles/industries, and reconcile CRM ↔ billing. Unsexy, highest-ROI play in most orgs.
The steps
- 01
Select and export account data
To avoid data chaos, pick exactly one entity to clean: either Accounts or Contacts. For this playbook, we will focus on Accounts (Companies) as they are the foundation of RevOps. Start by exporting your data from your CRM (Salesforce or HubSpot) into a CSV or connecting it directly to a data workbench tool like Clay or a Google Sheets with the GPT for Sheets extension. • Export the following fields: Record ID, Account Name, Website/Domain, Billing City, Billing Country, and Industry. • Filter your export to only include 'Active' records or those with a 'Closed Won' opportunity to keep the initial scope manageable. • Ownership: RevOps Manager or Sales Ops Coordinator. • Time Estimate: 45 minutes. • Pitfall: Trying to clean Contacts at the same time; this leads to mapping errors because Contact metadata often depends on parent Account data that isn't clean yet. • Definition of Done: A clean spreadsheet or Clay table containing your 'Master List' of accounts with unique IDs and no more than 5,000 rows for this first batch.
- 02
Normalize industry and firmographics
Standardizing Industry and Title fields is the highest-ROI activity for segmentation. Use an LLM (GPT-4o or Claude 3.5 Sonnet) to map your messy 'Source Industry' field to a standard list of 10-15 categories (e.g., SaaS, Manufacturing, FinTech). • In Clay or your LLM prompt, use this logic: 'I am providing a company name and their current industry description. Based on this, map them to one of these specific categories: [List your categories]. If unsure, return "Unknown".' • Example Prompt: 'Company: {{Company Name}}, Description: {{Industry}}. Map to: [SaaS, Healthcare, Finance, Retail]. Return only the category name.' • Run this in batches of 100 to monitor accuracy. • Ownership: RevOps Analyst. • Time Estimate: 2 hours. • Pitfall: Providing too many categories (30+) which confuses the LLM and leads to inconsistent mapping. • Definition of Done: A column labeled 'Normalized Industry' where 100% of rows have a value from your approved set.
- 03
Execute LLM-powered deduplication
Traditional CRM deduplication relies on exact matching, which fails for 'IBM' vs 'International Business Machines'. Use an LLM to compare pairs of potential duplicates. • Use a tool like Clay to find 'fuzzy matches' by Website or Name, then pass the pairs to the LLM. • Logic: 'Evaluate these two Account records: Record A [Name, Website, City] and Record B [Name, Website, City]. Are these the same legal entity? Output "Match" or "Non-Match" and a confidence score 1-10.' • Set a threshold: If confidence is >9 or 'Match', mark for automated merge. If 6-8, mark for 'Human Review'. • Ownership: RevOps/Data Specialist. • Time Estimate: 3-4 hours. • Pitfall: Automatically merging without a confidence score, which can accidentally merge parent companies and subsidiaries. • Definition of Done: A deduplication log showing proposed merges and a 'Confidence Score' for every suspected duplicate pair.
- 04
Reconcile CRM with billing data
Before updating your CRM, ensure your billing system (Stripe, NetSuite, or QuickBooks) matches your CRM. This 'Reconciliation' ensures Sales and Finance see the same truth. • Export your customer list from the billing system (Name, Email Domain, Total Spend). • Use an LLM or VLOOKUP to match the Billing 'Customer Name' to your CRM 'Account Name'. • Flag discrepancies where a customer exists in Billing but not in CRM, or where names differ significantly. • Ownership: RevOps + Finance. • Time Estimate: 3 hours. • Pitfall: Overlooking different email domains used for billing versus sales outreach (e.g., @corphq.com vs @product.com). • Definition of Done: A reconciled sheet where every paying customer in your billing platform is mapped to a unique Salesforce/HubSpot Account ID.
- 05
Write back data with audit trail
Now you must push the clean data back to the CRM using an 'Audit First' approach. Do not simply overwrite existing records via an import. • Create a custom field in your CRM called 'LLM_Normalized_Industry' and 'Data_Cleanup_Date'. • Use an integration tool (Zapier, Make, or the CRM's native Import tool) to map your unique Record ID to these new fields. • If you are merging duplicates, use the CRM's native Merge API or tool to ensure Activity History (Emails, Tasks) is preserved and attached to the surviving 'Master' record. • Ownership: CRM Administrator. • Time Estimate: 2 hours. • Pitfall: Overwriting original source data. Always write to a new field first so you can revert if the mapping is wrong. • Definition of Done: CRM records updated with normalized values and a clear audit trail of when the change occurred.
- 06
Establish a standing weekly job
Data cleanup is a lifestyle, not an event. Set up a recurring job to handle new leads and accounts created each week. • Create a 'Trigger' in your CRM: When a new Account is created, send the data to a Google Sheet or Clay table. • Schedule a weekly LLM run (every Friday at 5 PM) to process these new records for Industry normalization and Duplicate checking. • Set an alert in Slack to notify the RevOps team of any 'Human Review Needed' flags that the LLM generated during the weekly run. • Ownership: RevOps Manager. • Time Estimate: 1 hour/week set up. • Pitfall: Forgetting to pause the job during large data migrations, which can blow through LLM API tokens. • Definition of Done: A live, automated workflow that processes newly created records weekly without manual export/import.
Next playbooks
Unfamiliar terms are defined in the AI and Revenue Dictionary. Related frameworks live in the framework library.
