What is customer data automation, anyway?
Defining the concept of a "customer" and why you need data automation to assemble that information. Read: "Everything Starts Out Looking Like a Toy" #135
Hi, I’m Greg 👋! I write essays on product development. Some key topics for me are system “handshakes”, the expectations for workflow, and the jobs we expect data to do. This all started when I tried to define What is Data Operations?
This week’s toy: papercraft models of old computers are an interesting way to review the past. Rocky Bergen’s constructions invoke an earlier computer age when you could build things yourself. Edition 135 of this newsletter is here - it’s March 6, 2023.
The Big Idea
A short long-form essay about data things
⚙️ What is customer data automation, anyway?
“Know your customer” is a worthy goal. How do you know the attributes of your customers and what they are doing? With that information, how can you serve them better?
It starts with a definition of a data model for a business-to-business customer.
Here’s a simple version: a customer is a person (or people) at a company who buys your product or service. You know them by contact information (name, email, title, perhaps a phone number or address) and by their company information (name, domain name, and financial information related to their purchase. You also know the specifics around the product or service they bought.
This is sufficient for an initial purchase and doesn’t set you up well for a future relationship with that customer to add value. It’s point-in-time data for the person and company that bought at the moment that they bought, and misses the larger picture.
Time == Change
Customer data decays over time. It’s related to the interaction of that customer to their company to your company and the product, as you move through time. Keeping a static list of this information – even if you replace the incorrect information as you get updated information – misses the point that the time series of customer events defines the relationship that you have with that customer.
A point-to-point model won’t work here because the data that customers create is spread throughout multiple systems (sales, service, finance, product, and others) and tied to an identifier like a customer account ID.
We need to build a customer data model. And keeping track of all of that data is hard to do without automation.
Sample components of a customer data model
Modeling customer data requires:
A definition of “customer”
A way to track customer activity
A rubric for validating or invalidating data as it becomes stale
What is a customer?
A customer is a person or persons who buys something from your company. In the case of a freemium product, it may be possible to become a customer without spending money. Customers require contact information and preference information, and also may have payment information if they are buying on behalf of a company.
Each customer belongs to (usually) one company at a time, and that company information need to be related to that contact. A company is expected to have many contacts, so your model needs to support a many-to-one and many-to-many concept. Company information may include firmographic information (industry, employee count, job application count, etc) or technographic information (what is their technology stack).
The important item here is that each customer needs to be identifiable by a reference field like a customer ID that is not changed if their other information changes. That company also needs to be uniquely identified.
How should we track activity?
A unique identifier lets you see information over time in many other systems, grouped by contact ID or company ID. Aggregating the information for many contacts in a company also delivers additional insight.
But what do you want to track?
The perfect set of information is everything that customer does. Practically speaking, that presents problems even though storage is cheap. How do you know which item is meaningful? It’s likely that you will spend a lot of time filtering information to find relevant content. Machine models may change this over time, but when you start you probably want to track examples of relevant important actions that you can relate back to the customer.
These look like:
A count and individual record of inbound conversations that happen with your support team
The basic information you would want to know, like the last time they spent money, the number of people who are logging in during a 30 day period.
Activity in your product that goes beyond the basics of login
A big change in any of the metrics that you choose to track over an extended period, e.g. a month over month change that is dramatic compared to past behavior
Also, date stamp the time your data is collected so that you know not only when things happened, but the last time an automated system or a person paid attention. It’s important to track how recent this is because data decays over time.
What happens to data as it decays?
Most of us have had the experience of sending an email to a contact, having it bounce, and realizing they might not be at that account any more. If you’re the account manager, you probably knew that, but maybe not if you have hundreds of accounts in your portfolio.
Customer data, company data, and even the relevance of activity data get stale pretty quickly. Refreshing data points more often for customer data (as opposed to prospect data) is one way to segment this problem and protect your relationship with the customer. In a larger company, you may also segment along customer spend or the size of the customer.
This process worked pretty easily when you had a few customers. You might add a date in their account record to check important things, and then manually use that reminder to check things once a quarter.
That set of tasks quickly expands to more that a single person’s workload once you have a decent amount of customers. The best way to fix this? Automate.
The benefits of automating customer data
Blindly automating everything without thinking about process can lead to chaos. But waiting until all of your data is perfectly aligned can limit progress by preventing you from getting the benefit of automation.
You’ll want to consider two opposing goals when thinking about customer data automation.
What information is very important not to mess up? Anything in this category (destructive account merges or similar) needs to have enough transaction logic so that you can do a data fix, even if you can’t roll things back exactly to undo your transaction. You might add an extra human element to confirm a change of this nature.
What benefits can we gain through automation that we can’t access today? If you can automatically update every account in your system with technographic information on the technologies they use so that you can better serve them (and you’re 80% sure or better that it’s accurate), you might want to add this capability. If you want to be automatically notified when the activity of key accounts or prospects changes, you’ll want automation.
Automation can mean many things. Start by defining your version of what is important to you, what you want to automate, how you will know when you get a positive signal, and what to do when you get an anomalous answer or something that’s just plain wrong.
A simple way of thinking about automation is to imagine the steps a person would take to update the data in your customer data model, and then design these steps so that a computer can do the work for you.
Automation in the context of your data model
With a data model in mind, automation is slightly different. You’ll need to answer questions like these:
What’s the trigger that causes the action? When a customer is added, activity updated, a reference added, or a message received, there might be a reason to notify someone or count an action.
What data is present to cause a change? What data is needed to update the model and does it match the existing data in a customer or account record?
What happens in the change and how do we record it? A transaction log is needed to show the previous value, the new value, the process that changed it, and a time stamp recording when this happened.
What happens when there is an error? When an automation doesn’t work as expected, log what happened and create a notification. This error notification also serves as a trigger for another process to check on the automation.
Building answers to questions like this makes it possible to visualize the customer’s journey through the model of customer data.
What’s the takeaway? Customer Data Automation is the process of designing a coherent data model that instruments the way customer data changes over time, records those changes, and alerts people who need to know when there is a problem. It’s automation with a specific goal in mind: to know the customer better.
Links for Reading and Sharing
These are links that caught my 👀
1/ Great home page design with 50 examples - The team at PeerSignal created a summary of home page design and compiled 50 examples of B2B sites with great design. The best pages? Clear, simple, and direct. Take a look!
2/ Things are going to get weird - Diffusion models are now able to approximate the images generated by brain activity. Using an analysis of MRI activity in the brain, researchers showed images to a subject and then built images from that MRI activity.
3/ The greatest (and most unexpected) NBA performances - The team at Pudding.cool crunched data to find some of the most unexpected NBA performances ever. (Showing almost anyone can have a truly great game at least once.)
What to do next
Hit reply if you’ve got links to share, data stories, or want to say hello.
Want more essays? Read on Data Operations or other writings at gregmeyer.com.
The next big thing always starts out being dismissed as a “toy.” - Chris Dixon