Predicting customer satisfaction scores with AI

Customer Satisfaction Score (CSAT) is a standard method for measuring satisfaction from the customer about a business or a product. The usual way of doing this is by asking the customer to rate the product or service. However, in many scenarios, it can be helpful to automatically predict the score using AI.

02/ The problem

Companies collecting Customer Satisfaction Scores usually do this by asking their customers a question similar to “Considering your experience, how likely are you to recommend us to a friend?” in order to collect scores. However,  there may be places or situations where it is not possible to pose these types of questions to the customers. 

For example, the question may disturb the user flow and therefore affect the experience in a negative way, or that asking the question at a specific time would require too many resources.

Another problem with customer satisfaction scores is that they are usually optional, which may lead to the collected answers only representing a small group of customers.

03/ The opportunity for deep learning

By leveraging deep learning, it is possible to understand the satisfaction level of your customers without even asking them. By collecting data in various formats about your customer and the current scenario, it is possible to train a model to predict the customer satisfaction score.

The most straightforward technique is to use categorical and continuous data in a tabular format. Still, modern deep learning models can also use text data as well as images to predict scores. Almost all information about the user and the scenario is possible to use in the model to get the best predictions possible. 

Thanks to the complex nature of deep learning, the models might also find patterns in the data that aren't visible to the naked eye.

04/ Platform model to use

The best place to start is with the tabular regression model. But it can also be worth exploring the image and text regression models depending on the input data.

05/ How does the model work?

The tabular regression model takes one row in the tabular data as one data point. The different columns are called features. One feature needs to be the customer satisfaction score, and this is called the output feature. The rest of the features are input features and are used to predict the output feature. The tabular regression model will learn what features are essential to predict the score in an automated way.

The image regression model instead focuses on the different patterns and objects in the images. The computer vision models consist of several layers, where the first ones find more simple patterns and the last ones combine these simple patterns to find objects.

Text regression models instead focus on the words, the combination of words, and the sentences to predict the customer satisfaction score.

06/ Data requirements

For tabular data, a CSV file is the easiest way to get it on the platform. This format is available to get from Microsft Excel, Google Sheets, and other spreadsheet tools. It is also possible to connect the Peltarion platform directly to a database. 

Images and text are also possible to drop in from your computer or to fetch from a database.

The amount of data points necessary is hard to predict because it depends on the domain, but a couple of hundred is a good start.

07/ Model performance & success

The model performance can be visualized and analyzed in the Evaluation view in the platform after training your first model. 

Suppose it turns out that the model performance is excellent on the first run, then congratulations! If not, it is possible to trim the model to increase the performance and iteratively adding more features and more data to make the model perform better. 

We at Peltarion are always available if you need support about validating your results or using your data in the models.

08/ Where to learn more?

If you want to learn more about making predictions with tabular regression models, we suggest that you look into this tutorial and then follow the same step with your data. Good luck!