Home » Uncategorized

Using Neural Networks for sales prospecting

“No one wants to be sold but everyone wants to buy.”

Most of us hate being sold. The moment we know someone is selling something, we keep our guards up. 

In the book, The Challenger Sale, authors Mathew Dixon and Brent Adamson surveyed over 6000 salespeople from around the world and found that ‘challenger salespeople’ outperformed every other group. Who are these challenger salespeople? These are the people who challenge the norm, are more knowledgeable and educate their customers. The customers trust them and ultimate buy from them. 

“Prospecting is the first step in the sales process, which consists of identifying potential customers” – Business encyclopedia.

How can Neural Networks help in prospecting?

The most common approach taken by many ‘AI-based’ sales startups is to identify the next buyer by mining internet data. They look at what people are talking about in social media and then identify those who are searching for a given product or service. However, people who are already actively looking online are not the best potential buyers (or prospects) to sell to.

If you discover an opportunity late, in the customers buying process, you’ll more likely need to discount the price to earn the business – The Funnel Principle, Mark Sellers 

Let’s try to see how top salespeople identify a prospect?

Top salespeople do proactive sales than reactive. They do not wait for potential prospects to reach out but instead identify their needs before they do. They identify patterns in their best customers and identify new prospects based on those patterns.

The only way to sales conversation with high-value prospects is to interrupt them” – Fanatical Prospecting, Jeb Blount

Since Neural Networks can create an approximation of any function, we will try to approximate the prospecting process. 

Part I: Identifying your prospect and creating a persona

I ask the following four questions to identify who are ideal prospects (taken from the book ‘New Sales Simplified’ by Mike Weinberg)

• Who are your best customer

• Why they became customers

• Why they still buy from you

• Why do prospects choose you over other similar products

The goal is to identify common features among successful and unsuccessful prospects. Normally this is done manually and intuitively.

If we had to solve the same problem via Machine Learning we need to use Neural Network Classifier.

Classification can be defined as the grouping of things by shared features, characteristics, and qualities or if you will simply dropping things into corresponding buckets, you could, for instance, classify the following geometric shapes based on their similarity. 

Step 1 Feature extraction:

Based on the four questions mentioned above, we try to extract relevant features from answers to the questions. An example of such features can be as following

Who is your best customer: Customer size, Decision maker, Growth last year

Why they became customers: Location, First reference (personal contact, content marketing etc), Product features(Feature 1, Feature 2)

Why they still buy: Customer service, Location, Product features

Why they choose us over others: First reference, Product features(Feature 1, Feature 2), Location

Step 2 Labeling data: Label the data based on which of the leads took the least amount of time to covert, medium time to convert, the maximum time to convert and did not convert.

Step 3 Training Neural Network: One labeled, we will use supervised learning algorithm to train a standard Neural Network Classifier.

Step 4 Testing Neural Network: In this phase, you test how good the model is with rest to the test data.

Step 5 Executing Neural Network on new data: Once trained any new input with the data will be able to classify into the good and bad output. Thus we can input either a person or company data and the Neural network will be able to classify.

Figure 1 (below): Neural network classifier

Using Neural Networks for sales prospecting

Part II: Creating a customized Sales process and pipeline

Once we know who can be a good/medium/bad prospect you want to create a customized process for that particular prospect. Top salespeople use intuition and experience to create such a process. In our case, we will use LSTM.

If we had to model and learn a sales process, Recurrent Neural Networks (RNNs) seems to be the obvious candidate. One of the appeals of RNNs is the idea that they might be able to connect previous information to the present task.

As you can see in Figure 1(below), RNN is a series of connected Neural networks.

Using Neural Networks for sales prospecting

However, RNN suffers from something called Vanishing Gradient problem. Learning is limited within a region of Neural networks and thus RNNs are not able to learn long-term dependencies. 

LSTM is a type of RNN but does not have the problem of Vanishing gradient. They use the following structures:

Cell-state: This acts as the memory of the LSTM network.

GatesThere are three gates in each network. Forget gate, Input gate, and the Output gate. Forget gate is used to forget a value from the cell-state. Input gate may add something to the cell state and updates the cell-state. Output gate is responsible for the output from that network.

Figure 2(below) shows Cell state and Gates (picture @copyright Rudradeb Mitra).

Using Neural Networks for sales prospecting

Coming back to our problem of using LSTM to model sales process, imagine during a sales process based on a conversation with a company the salesperson learns about the priorities of the buyer.

Modeling that in an LSTM cell may look like Figure 3(below) (picture @copyright Rudradeb Mitra).

Using Neural Networks for sales prospecting

The salesperson might find out new information and have to forget the old information and update the cell-state with the new information.

In this way, the LSTM network can be trained with tens of thousands of past sales process data and build an approximation model of the process. Such a network may look like Figure 4(below) (picture @copyright Rudradeb Mitra)

Using Neural Networks for sales prospecting

Accuracy and Conclusion

While giving a talk on this topic in Berlin, I was asked what is the accuracy of such a system. My answer – ‘As long as the accuracy is better than most humans (~0%) it is a good solution. And based on the test we did, the above system has over 30% accuracy for now, which is very good in sales”. But I also do not believe machines can replace salespeople. Machines will aid salespeople and can convert an average salesperson into a top salesperson. 

However is everything so great? Not really. One common problem is that your model is as good as your data. That is why what most data scientist do is basically filter out the good data from the bad data. That’s a challenge!

I find this problem deeply fascinating and would love to connect with similar people who have similar interest. Feel free to share, like or comment on this article.