One of the biggest problems plaguing CRM systems and their use is data quality. Once users start entering data into the system, quality degrades with duplicates, and incomplete and innacurate data. Cleansing relational data can range from the easy (modifying simple fields on record) to the very difficult (deduplicating records while making sure all related data is maintained.) Doing it well takes some pretty high-level logical thinking and expertise in whatever programming language your CRM is written in.
No longer. Incredibly complex deduplication and data cleaning is now within the reach of nonprofits using Salesforce.com thanks to today’s announcement by CRMfusion that they are donating their Salesforce.com data manipulation software DemandTools to small nonprofits.
After spending some time with DemandTools, I am amazed at the combination of power and simplicity. I will now be training all my customers in data deduplication using DemandTools, and I’m really excited to see how the improvement in CRM data quality will positively affect them.
The DemandTools Toolkit
DemandTools is a .NET application that you install on your Windows desktop and point at your Salesforce.com instance. Much like the Salesforce.com Dataloader, DemandTools will interact with your Salesforce.com data, allowing you to select what data you want to query and modify.
But DemandTools is much more than an import/export/update utility (it does do that very well, though.) Consider the Dataloader a really fast way to get large quantities of data in, out, and modified in Salesfore.com. Consider DemandTools to be a powerful tool that helps you solve the specific problems of data cleanliness–one of the big challenges of successful CRM. Data cleanliness can be broken into a couple separate problems.
Promblem 1: Duplicate Records
Duplicate records are the bane of all CRM systems. People and organizations are in the database more than once, so you don’t have a clear picture of your relationship with them. Often it’s really hard to find duplicates. And when you can find them, it’s often even harder to get rid of them.
The main problem with getting rid of duplicates is how to deal with related records. If there are duplicate Contacts, you have to migrate all the other records in the database that are related to the Contact to be deleted to the Contact to be saved. All gifts, memberships, notes, tasks, and events have to be reconnected to the Contact we’re keeping. This is a daunting job. Salesforce.com has it’s Account and Contact merge functionality to do just this set of tasks.
DemandTools has blown the doors off of Account and Contact merge. The new version has a generic Single-Table Dedupe tool. It
allows you to dedupe any Salesforce.com objects. Accounts, Campaigns, OpportunityContactRole, Households–ones that are created by Salesforce.com and ones that you create. They’ve extended the
functionality to match the flexibility of Salesforce.com. Brilliant.
They basically work like this:
- You pick the object you want to dedupe
- Youset criteria for the set of objects you want to check for dupes (all, owned by you, or build your own criteria)
- You pick the fields you want to see on the duplication comparison
- You set the criteria for determining if the objects are duplicates (exact, fuzzy, partial match on name, and any other fields you want. Plus crazy matches that don’t care about word order, ignore phrases like “the”, “and” or “-”.)
- You are presented with a list of possible dupes
- You identify which of the possible dupes you want to deduplicate
- Merging is controled in a number of ways. You can specify which fields you want to keep on the merged record, just like the Salesforce.com Account and Contact merge. Or you can set up rules that pick the fields to keep for you. You can create really complex rule sets that can be saved to XML and shared with other DemandTools users. You can also schedule deduplication to run on a schedule.
- You merge, and the non-master record is either deleted or renamed with a prefix you determine for easy deletion later
But don’t take my word for it, watch the screencast of DemandTools single-table Deduplication in action.
The interface is intuitive, and the results look to be right on. I like that the object to be deleted can be renamed, rather than deleted straight away–letting a program modify your CRM data is a bit scary, so it’s nice to have an extra verification step in there. Once I come to trust DemandTools more, I’m sure I let it delete for me.
Problem 2: Inconsistent Data
We spend a lot of time at the begining of a CRM project firguring out what data we need in the system to allow the nonprofit to get its work done. We set up the right fields, with the right picklists and options, and it’s a thing of beauty. Then it starts to get used and the data in those fields ends up looking like junk.
With picklists and multiselect lists we can control what people put in fields. You can make fields required so that the user has to enter something. But in the end, data entry is imperfect and data will be left out, misspelled, or otherwise incorrect. The MassChange tool lets you build simple update queries for any object. Change all Account billing country fields that are “US” to “USA”, for example. And you can build much more complex queries than that. I’ve been doing this with the Salesforce.com Dataloader–it simplifies this greatly.
Problem 3: Bad Addresses
Another big problem of CRM data is that addresses are bad–they’re either incomlete or the zip and address don’t match.The Zip Fix tool will look at the zip code and suggest changes to the city and state where appropriate. I ran this against my Salesforce.com and found 1047 Contacts where changes were suggested. Most of these were fixes to annoying capitalization errors I introduced a while back. Now they are all fixed, making my Individual Giving Manager happy!
The address change suggestions are made to a CSV file, which you can then point the MassEffect tool towards, doing a big update call. Here’s a nice feature: an Undo file is created, so if you realize after the fact you didn’t want to change those addresses, you can back out the changes.
Things get really interesting with ther Address Verification tool that connects to a the web service vendor Strike Iron. It uses the pay service at Strike Iron to check addresses and recommend changes in spelling, corrected zip codes, etc. It also will supply latitude and longitude, US Congressional district, and County. DemandTools comes with 2000 free lookups to the paid service that retails at about $0.03/lookup or $300/year for 10,000 lookups. I used those free lookups to fix addresses and add US congressional district to 1300 Contacts in our database. Very nice, and definitely worth paying for in the future. If they add State Legislatve District lookups we’d be the happiest folks on the planet…
Pricing
DemandTools is free to any nonprofit who has 10 licenses with Salesforce.com. Nonprofits with more than 10 licenses can purchase DemandTools for $25 x the number of licenses. A 20 user nonprofit would pay $500/year, well worth it in my eyes.
Conclusion
DemandTools is a wonderful complement to Salesforce.com CRM. I am hooked. I’ll be using it in my consulting, and I’ll be recommending this to everyone I know. If you’re a nonprofit using Salesforce.com DemandTools could really change the quality of your data for the better, and allow you to spend less time worrying about your data and more time using it in service of your mission.
I’m always happy to see the Salesforce.com business partners infected
by the corporate philanthropy of Marc Benioff. My hat comes off to DemandTools for making their enterprise-grade tools available to nonprofitshanks for the donation
CRMfusion!