How to Grade Your Contractor CRM Data Quality in 10 Minutes
30% of CRM data goes stale every year. Here is the 10-minute rubric a home service contractor uses to grade Jobber, Housecall Pro, ServiceTitan, or Workiz before the next ad spend decision.
Key takeaways
- Salesforce and HubSpot both report CRM data decays at roughly 30% per year, with email and phone leading the decay
- Insycle benchmarks set healthy duplicate rate under 5% and field completion above 85% on critical fields
- A 10-minute grading pass identifies the worst three issues, which usually drive 80% of the revenue leak
Contents
- 01What You Need Before You Start
- 02The 10-Minute Rubric
- 03Step 1: Pull the Duplicate Counts (2 Minutes)
- 04Step 2: Pull the Field Completion Rates (3 Minutes)
- 05Step 3: Check Stale and Open Records (2 Minutes)
- 06Step 4: Check Tag Sprawl and Placeholder Data (3 Minutes)
- 07How to Score the Result
- 08What the Grade Tells You About Revenue
- 09A Specific Grading Walkthrough
- 10A Second Walkthrough on a Cleaner Database
- 11What Comes After the Grade
- 12Sources
- 13Frequently Asked Questions
Salesforce and HubSpot both report CRM data decays at roughly 30% per year, per HubSpot's research on CRM data decay and the broader industry consensus echoed by Validity, Verum, and Insycle.
That means a contractor who cleaned their CRM 18 months ago is now sitting on a database that is 45% degraded. Most owners do not know what state their database is in because nobody has graded it.
The grading rubric below is 10 minutes of work and tells you exactly where your CRM stands before you spend another dollar on Google Ads, reactivation campaigns, or AI tools that depend on clean data.
What You Need Before You Start
The grading pass requires three things:
- Read access to your CRM (Jobber, Housecall Pro, ServiceTitan, Workiz, or GoHighLevel)
- A spreadsheet or note for scoring
- A timer set to 10 minutes
You do not need to export anything. Every check below runs inside the CRM's native reporting or search.
The 10-Minute Rubric
Run each check for 60 to 90 seconds. Mark Pass or Fail against the benchmark, then total your score at the end.
| Check | Pass | Fail | Points |
|---|---|---|---|
| 1. Duplicate rate by phone match | Under 5% | Over 5% | 1 |
| 2. Duplicate rate by address match | Under 5% | Over 5% | 1 |
| 3. Email field completion | Above 85% | Below 85% | 1 |
| 4. Phone field completion | Above 95% | Below 95% | 1 |
| 5. Lead source field completion | Above 80% | Below 80% | 1 |
| 6. Address field completion | Above 95% | Below 95% | 1 |
| 7. Customers with no activity in 24+ months | Under 20% | Over 20% | 1 |
| 8. Open jobs older than 30 days | Under 5% | Over 5% | 1 |
| 9. Tags used on under 5 customers | Under 30% of total tag list | Over 30% | 1 |
| 10. Customers with placeholder phone numbers | Under 1% | Over 1% | 1 |
Total score out of 10. Use the grading scale at the end of the post to interpret.
Step 1: Pull the Duplicate Counts (2 Minutes)
Run a duplicate scan for phone match and address match. Most CRMs have a native duplicate report.
Housecall Pro has a native duplicate manager. ServiceTitan has a merge flow with a daily duplicate report. Jobber does not have native merge so you may need to scan a CSV export.
Calculate the rate as duplicate records divided by total customer records. Insycle benchmarks set the line at 5% for both phone and address duplicates.
If the rate is over 5%, every downstream report you run is corrupted. Lifetime value is split, repeat-rate is understated, and reactivation campaigns hit the same person twice.
Text Clint: "give me my duplicate customer counts by phone and by address as a percent of total records"
Step 2: Pull the Field Completion Rates (3 Minutes)
Run a column-by-column completion check on customer name, phone, email, address, and lead source.
Most CRMs let you filter the customer list to "field is empty" and see a count. Calculate the completion rate as filled records divided by total records.
Benchmarks:
- Phone above 95%
- Address above 95%
- Email above 85%
- Lead source above 80%
Most contractor CRMs hit 95%+ on name and phone but fall to 50 to 70% on email and 30 to 50% on lead source. Email and lead source are the two fields where most operators fail.
The lead source failure is the most expensive because it breaks cost-per-lead-by-channel calculations. Every ad spend decision after that point is allocated on guesses.
Text Clint: "show me field completion rates across name, phone, email, address, and lead source"
Step 3: Check Stale and Open Records (2 Minutes)
Filter to customers with no completed job, quote, or interaction in the last 24 months. The benchmark is fewer than 20% of total records in this stale state.
Then filter to jobs with status "pending", "in progress", or "scheduled" with a last-activity date older than 30 days. The benchmark is fewer than 5% of active jobs.
Stale records are not garbage. They are your reactivation pool. Pete & Gabi's reactivation guide reports reactivation campaigns close 12 to 14x higher than cold lead campaigns when the segment is properly defined.
Open jobs older than 30 days distort dispatch dashboards and revenue forecasting until they are reconciled. Housecall Pro reports often hide the true open-job count because labor and parts get assigned but close-out never happens.
Text Clint: "count my customers with no activity in 24 months and my open jobs older than 30 days"
Step 4: Check Tag Sprawl and Placeholder Data (3 Minutes)
Pull the full tag list with a count of customers per tag. Count how many tags are used on fewer than 5 customers. Divide by total tag count.
If more than 30% of your tags are used on fewer than 5 customers, your tag taxonomy is sprawled. Most contractor CRMs have 200+ tags with most used on 1 to 2 customers. The clean-up consolidates variants ("VIP", "vip", "V.I.P", "high value" all become vip) and deletes one-off tags.
Then run a search for placeholder phone numbers: 555 area codes, all zeros, all ones, numbers shorter than 10 digits, the same number on 6+ different customers. The benchmark is under 1% of total records with placeholder numbers.
The same-number-on-many-customers pattern is usually a CSR cell or office line entered as a fallback when the customer would not give one. Standardize once and every SMS campaign downstream stops bouncing.
Text Clint: "list customers with phone numbers shorter than 10 digits or with placeholder area codes, plus the top 5 tags used on fewer than 5 customers"
How to Score the Result
Tally the Pass count out of 10.
| Score | Grade | What to Do |
|---|---|---|
| 9 to 10 | A | Maintain quarterly. Re-grade in 90 days. |
| 7 to 8 | B | Fix the 2 to 3 misses, re-grade in 60 days. |
| 5 to 6 | C | Pause new ad spend. Run a full CRM cleanup before scaling. |
| 3 to 4 | D | Critical. The CRM is actively losing you money. Triage the worst three failures this week. |
| Under 3 | F | The database is unusable for marketing decisions. Start with a focused cleanup of duplicates and lead source, then re-grade. |
ServiceTitan's 2025 AI in the Trades report found 73% of contractors said data quality was the top blocker to using AI in their business. The grade is what tells you whether your CRM is on the right side of that 73% before you invest in any AI agent or automation.
What the Grade Tells You About Revenue
The grade is a leading indicator of recoverable revenue. Each failed check has a typical dollar impact for a $3M contractor:
- Duplicate rate over 5% (Checks 1 and 2): $20,000 to $50,000 in misallocated marketing
- Lead source completion under 80% (Check 5): $50,000 to $150,000 in misallocated ad spend
- Stale records over 20% (Check 7): $40,000 to $120,000 in unactivated reactivation pool
- Open jobs over 30 days (Check 8): $15,000 to $60,000 in delayed invoicing or unbilled revenue
A contractor scoring 5 out of 10 on this rubric is typically leaking $125,000 to $380,000 a year. Most of that recovers inside 90 days of fixing the worst three checks.
Validity's 2025 State of CRM Data Management report found 37% of CRM users said poor data quality directly cost them revenue. The grade tells you whether you are in that 37%.
A Specific Grading Walkthrough
A plumbing contractor in Phoenix ran this 10-minute pass on his Workiz database in March 2026. Result:
- Duplicate by phone: 11% (Fail)
- Duplicate by address: 14% (Fail)
- Email completion: 67% (Fail)
- Phone completion: 96% (Pass)
- Lead source completion: 41% (Fail)
- Address completion: 91% (Fail)
- Stale records: 28% (Fail)
- Open jobs over 30 days: 8% (Fail)
- Tag sprawl: 42% of tags used on under 5 customers (Fail)
- Placeholder phones: 0.4% (Pass)
Total: 2 out of 10. Grade F.
He paused his Google Ads spend for 30 days, ran a full weekend cleanup, and re-graded at 7 out of 10 four weeks later. The 60-day reactivation campaign that ran on the cleaned data generated $42,000 in booked work from records that had been sitting dormant in Workiz for 18 months.
The records were already there. Nobody had segmented them because nobody had graded the database to know they existed.
A Second Walkthrough on a Cleaner Database
A garage door contractor in Dallas running ServiceTitan ran the same pass and scored 8 out of 10. The two failures were lead source completion (74%) and tag sprawl (35% of tags on under 5 customers).
He fixed the lead source failure by making the field non-skippable on the intake form and listening to 10 random CSR calls per week to verify compliance. Three months later, his lead source completion was at 89% and his cost-per-booked-job by source was finally meaningful for the first time.
A contractor on r/sweatystartup commented that the lead source check is "the one fix that paid for itself in a month" because he stopped running ads on a channel that turned out to be his worst performer once attribution was clean.
What Comes After the Grade
The grade identifies what is wrong. The fix depends on the failures.
If duplicates fail, run a merge pass. If lead source fails, fix the intake script and CSR training. If stale records fail, build a reactivation campaign. If open jobs fail, run a 30-day reconciliation report.
The 12-check CRM audit is the deeper diagnostic that runs after the 10-minute grade. The grade is the smoke alarm. The audit is the inspection.
Tommy Mello scaled A1 Garage Door past $220M annual revenue on the back of a ServiceTitan database the entire marketing operation depends on. The discipline he describes starts with knowing what grade the database currently has, every quarter, without exception.
Sources
- HubSpot, Why CRM Data Quality Matters
- Validity, State of CRM Data Management 2025
- Insycle, CRM Data Quality Checklist
- Verum, Your CRM Data Is Decaying at 30% Per Year
- ServiceTitan, 2025 AI in the Trades Report
- Pete & Gabi, Reactivation Guide for Home Service Contractors
- Housecall Pro Help Center, Manage and Merge Duplicate Customers
- ServiceTitan Help, Merge Duplicate Records
- ValiantCEO interview with Tommy Mello, A1 Garage Door Service
Frequently Asked Questions
6 questions home service owners actually ask about this.
01How often should I run the 10-minute grade?
Monthly. Salesforce and HubSpot data shows CRM data decays at roughly 30% per year, which means roughly 2.5% degradation every month. A monthly grade catches issues before they cascade into ad-spend mistakes.
02What if I cannot get a duplicate count out of my CRM natively?
Jobber does not have native merge or a duplicate report. Export the customer list to CSV and use Google Sheets or a tool like Clint to scan for phone and address matches. Allow 15 minutes instead of 10 for that path.
03Should I rely on field completion percentage alone?
No. A field can be 95% complete with 30% of the values being garbage ("Other", "N/A", "unknown"). For lead source specifically, also check that the picklist is enforced and free-text values are flagged as failures.
04Does this grade replace the full 12-check audit?
No. The grade is a 10-minute smoke test. The full audit covers 12 issues including quote conversion, customer-to-property hierarchy, review request coverage, and lead response time. Use the grade monthly and the audit quarterly.
05What is the most common Fail across all contractors?
Lead source completion. Most contractor CRMs sit at 30 to 50% completion because the field is skippable on the intake form and the CSR is rushed. The fix is the intake script, not the database.
06Can I run this grade across multiple CRMs at once?
If you have a unified data layer, yes. A contractor running both Jobber and HubSpot can grade both at the same time using a tool that pulls both into a single view. Otherwise grade each separately.
See Clint in action
Clint is the pre-built AI for home service shops. Connect your CRM, email, and phone system in minutes and the agents run on your real data.