Sentiment Analysis for NPS surveys

Conducting NPS surveys is arguably the best way to discover how your customers perceive your product. By powering NPS surveys with sentiment analysis tools you can discover the sentiment (positive, negative or neutral) behind their score, gaining valuable insights to perform data-driven decisions.

It’s late in the day and your customer experience team receives a batch of the latest NPS (Net Promoter Score) surveys. Everyone’s eager to know what customers are saying about your company’s products and services. The team can’t wait to see if last quarter’s customer’s experience scores have improved, and what customers had to say about the recent changes.

So, they calculate the average NPS score from the latest results, and compare it to the one from the previous period. Easy, right?

Now, for the second step, which is a whole different story. Your team has to manually read every open-ended response from every NPS survey and tag ‘what’ customers talked about and, most importantly, ‘why’ or ‘how’. This is the only way to understand the granularities of the given scores. For example:

  • Did your product deliver a better experience? Why or how?
  • Has your support team’s performance improved? Why or how?
  • What drove your customers to score the way they did?
  • What aspects of your product were mentioned the most?
  • How did your customers talk about those topics?

We all know how NPS surveys go: a score that ranges between 0 and 10 and an open-ended response where your customers freely speak their mind about your product.

But there’s a practical problem that arises when we scale this procedure upwards. Sure, numbers aren’t hard to track and quantify, but open answers are. Why? Because words aren’t numbers and, more importantly, your customers answer subjectively leaving positive, negative and neutral opinions.

Manually sorting through thousands of these answers creates a long list of problems and setbacks, including:

  • Time-consuming tasks
  • Inconsistent criteria when tagging answers
  • Lack of fine-grain analysis
  • Cumbersome and unproductive procedures

Fortunately, there’s a solution to this problem and it’s called sentiment analysis.

Sentiment analysis can automatically sort through huge amounts of NPS responses and tag them for you, using consistent criteria. This understanding of written language is part of what makes machine learning powerful and useful for CX teams.

Nowadays, machine learning and all of its benefits are within arm’s reach for everyone, regardless of their knowledge or experience. After reading this article, you’ll not only be up to speed with the important aspects of sentiment analysis and how it can analyze NPS surveys, but you’ll also be able to start training and testing your own sentiment analysis model for analyzing NPS automatically.

Here are the main sections we are going to cover:

Let’s get right into it!

What is Sentiment Analysis?

Simply put, sentiment analysis is an automated process based on machine learning that understands opinions in the form of written or spoken language.

Sentiment analysis is an amazing tool that allows companies all over the world to save time and money, by replacing cumbersome tasks carried out by staff with algorithms that never rest.

NPS responses, customer surveys, support tickets, chats, tweets, emails, and much more can be automatically tagged by a sentiment analysis model, allowing you to quickly sort through large amounts of data, and uncover the insights you need – letting your team focus on more important tasks.

Types of Sentiment Analysis

A sentiment analysis model can be trained to detect and classify an endless amount of different opinion indicators, subjective and comparative uses of the language, emotions, intents, and even lexicons or cultural expressions.

But for the purposes of this article, and its focus on NPS surveys, we are going to take a closer look at just two of the many sentiment analysis models that can be created and trained:

Standard Sentiment Analysis

A standard sentiment analysis model is an algorithm trained to detect certain expressions of written or spoken language in order to determine its general positivity, negativity or neutralitytowards a concept or subject. Each model can be taught to recognize certain words, expressions and uses of any language that indicate the sentiment of text.

In a nutshell, you could train a sentiment analysis model to sift through the NPS open-ended responses from, Retently, Satismeter, Wootric, Delighted, Qualtrics, or the NPS platform of your choice, and quickly gauge how positively, negatively or neutrally your audience is talking about your company.

Aspect-Based Sentiment Analysis

But sentiment analysis can go much further, in terms of the detailed insights it can provide, which brings us to aspect-based sentiment analysis.

These particular models are trained to not only detect how people are talking about your products or services, but also determine which aspect of those products or services they are talking about.

For instance, you might want to know more than just the overall sentiment of a batch of NPS responses, something specifically related to an area within your business. You might want your sentiment analysis model to look out for and tag answers that are related to your support team, product quality or pricing. Aspect-based sentiment analysis models will automatically understand this and tag how your customers are talking, and about what aspects of your business they’re talking about. Leaving your team free to focus on other tasks, saving you both time and money.

Why is Sentiment Analysis Important for Analyzing NPS Responses?

As we mentioned above, aspect-based sentiment analysis can take heavy loads of work off your team’s hands and process text data automatically without taking breaks, becoming tired or having to stop for any reason whatsoever.

According to an IBM study, 2.5 billion gigabytes of new data are created every single day. Moreover, 80% of that data is unstructured. Data such as emails, survey responses, chats, tweets, news articles, and many other text forms where natural language is used and no particular structure given. This is huge amounts of data, which can’t be structured without the help of machine learning models. However, first they need to be trained properly.

Another reason why sentiment analysis models are important is that they’re objective. Humans hold a unique, subjective view of reality, which means that when a team dives into hundreds or thousands of NPS responses, each member of staff will apply slightly different criteria when tagging – simply because, even if unconsciously, they’ll have different views of what’s positive, negative and neutral.

So, a customer experience team can hand over the tedious task of manually sorting and tagging open-ended NPS survey answers to sentiment analysis models. This will help teams: :

  • Save valuable time by eliminating the task of manually tagging countless Net Promoter Score answers.
  • Achieve a unified criteria for analyzing NPS surveys.
  • Get fine-grained results by effectively applying an aspect-based sentiment analysis.
  • Quickly acquire actionable insights from this analysis.

Long-term benefits include:

  • Scalability: a sentiment analysis model won’t need to rest, pause to think or take a break for any reason. Thousands of NPS responses can be analyzed in a quick and cost-effective way.
  • Real-Time Analysis: a sentiment analysis model acting upon a new response from an angry customer allows your team to solve these issues immediately.
  • Consistent Criteria: as mentioned earlier, a single model will have a single criterion when tagging and sorting through data. This prevents misinterpretations or inconsistent results in the analysis.

How to do Sentiment Analysis on NPS responses?

Now, it’s time to put sentiment analysis into practice. After reading this section, you’ll have every necessary tool to gather and download NPS responses and analyze them with your own sentiment analysis model. And the best part of it is that you don’t need to have any previous machine learning or coding knowledge. Sentiment analysis, and machine learning as a whole, is at everyone’s fingertips to make their daily tasks a breeze.

Gather Your NPS Responses

The first thing we’re going to do is to gather the NPS responses we want to analyze with a sentiment analysis model. Almost every NPS tool available today provides fast and easy ways to do this by exporting and downloading either a CSV or Excel file to your computer. Other popular tools such as Zapier and Google Sheets provide useful integrations that’ll allow you to easily gather Net Promoter Score responses for later analysis.

For instance, Retently offers a versatile export feature with alternatives for filtered and complete data. Their platform also lets you choose which aspects of your customer’s responses to export for a later NPS sentiment analysis. You can select to export just your customers’ responses, and Net Promoter Scores in order to cut down the data flow and keep the key indicators you’re looking for. has also developed a pretty intuitive interface for exporting both survey and feedback data. With other survey tools, such as Delighted, you can select the data range you want to analyze and export it as a CSV file. For people with experience managing data using code, SatisMeter offers a handy API to export NPS responses in either CSV or JSON formats.

Similar benefits can be obtained from other customer support software providers like Wootric, Medallia, and Qualtrics. Once you’ve gathered all the data from NPS responses you want to perform sentiment analysis, it’s time to execute.

Creating the Models

Whether you’re aiming to perform sentiment analysis on your NPS surveys through Retently, SatisMeter, Wootric, or a plain and simple CSV file, MonkeyLearn offers a super easy-to-use platform to train and use your own sentiment analysis models.

We’re going to go through two step-by-step tutorials that will provide you with all the information you need to do aspect-based sentiment analysis on your NPS responses, that is, create a sentiment classifier and an aspect classifier.

Together, these two models will classify how your customers are talking about your product and which aspect of it they are referring to.

Create Your Sentiment Classifier

1. Create your model:

First off, you’ll need to sign up to MonkeyLearn, which you can do for free and in a few seconds. Once you’ve done that, head over to the Dashboard, click on Create a model and then on “Classifier”:

chose a model type 4

2. Choose ‘Sentiment Analysis’ as the classification type for your model:

2 kind of classification sentiment

3. Upload your NPS responses:

Now, you’ll need to upload the data you want to train your new sentiment analysis model. MonkeyLearn lets you choose Excel or CSV files, as well as data from apps like, Zendesk, Front and many others:

import your text data 3

4. Train your NPS Sentiment Analysis model:

Next, you’ll start training your new sentiment analysis model for NPS answers. Sentiment models are preset with three basic tags for categorizing text data as Positive, Negative and Neutral.

To train your sentiment analysis model, simply tag each example from your uploaded NPS data according to the expected sentiment:

After you tag the first examples, you’ll start seeing auto-tagged responses thanks to the power of machine learning. Keep in mind that your new model will make some mistakes at this early stage. As you provide it with more examples, its accuracy will begin to improve significantly:

5. Testing your sentiment model:

Once a minimum amount of samples have been successfully tagged, MonkeyLearn will ask you to name your new model and give you the option to test it or keep training it:


Once you’ve named your model, you can choose to start testing how much the model has learned from the examples you’ve provided it with, or keep training it for improved accuracy:

6. Put your sentiment model to work

Once you are happy with the results of your model, you can use it to analyze new NPS responses in bulk. You can easily upload a file with new NPS responses by going to the “Batch” option on the “Run” tab of your model. There you will be able to choose an Excel or CSV file to analyze its contents to your sentiment analysis model:


MonkeyLearn also supports a handy number of integrations like Google Sheets and Zapier to make it easier for you and your team to start analyzing NPS data with your model:

integrations 1

Otherwise, and provided you have a team with coding expertise, you can use the MonkeyLearn API to tag data programmatically using coding languages like Python, Ruby, Java and more:


Create Your Aspect Classifier

Now, let's train the other half of aspect-based sentiment analysis! Creating an aspect classifier is a very similar process to creating a sentiment classifier:

  1. After heading to the Dashboard, just click on Create a model and then on “Classifier”:


  1. This time, instead of clicking on “Sentiment Analysis”, go with “Topic Classification”:


  1. Once again, you’ll have to upload NPS data to use as training examples through the different options MonkeyLearn provides:


  1. Define your tags:

Now, it’s time to type out the tags we want our aspect classifier to work with. In this case, we’ll use the same text examples as in the sentiment analysis model tutorial we just saw, so we’ll choose Pricing, Performance, and Support:

  1. Tag and train:

Next, we’ll use the NPS answers we’ve uploaded to train our aspect classifier model, and tag them correctly. This helps the algorithm understand the defined tags:

  1. Test your aspect model

Finally, we’ll test our new classifier model by feeding it new text to tag. You can try copying some NPS responses, or just make something up to see how accurate your model is. If you detect mistakes in the criteria, you can always go back to the “Build” tab and keep manually tagging more samples:

  1. Put your aspect classifier to work:

Once you are happy with the results, you can upload fresh batches of NPS responses, with an Excel or CSV file, for your aspect classifier to analyze and tag. Just go to Run > Batch.

As we mentioned earlier, MonkeyLearn also offers many integrations for you to choose from and a handy API for programmatic management.

And that’s it! Try building your own sentiment analysis and aspect classifying models. Just head over to MonkeyLearn, sign up for free, and begin enjoying the wonders of machine learning.

Analyze New Responses Automatically with Zapier

Now that you have everything you need in order to start building your own sentiment analysis and aspect classifying models, streamlining the whole process with a tool like Zapier can absolutely change your workflow forever.

For instance, incoming NPS responses can be automatically sent over for analysis, and the results added to a Google Sheet spreadsheet without a single, team member getting involved in this otherwise tedious process.

Zapier offers more than 1000 app integrations that you can use with MonkeyLearn, and tons of preset Zaps (workflows that connect your apps, so they can work together), based on apps like Retently,, Delighted, Satismeter and Wootric.

For example, you could automate the whole process of sentiment analysis and aspect classification of NPS responses with Zapier using Retently by setting a Zap that:

  1. Triggers with every “New Survey Response” in Retently or
  2. Then, classifies the response with MonkeyLearn models (sentiment + aspect). In this case, you’d have to use two separate models during two different steps of the Zap,
  3. Finally, end the Zap by sending the answers and the analysis made by MonkeyLearn to a Google Sheet.

You can set this Zap very easily, without a single line of code!

Data Visualization of the Results

Would you rather scan a big spreadsheet showing the results obtained from aspect-based sentiment analysis or, instead, see the results beautifully illustrated as charts and simple graphs?

Fortunately, there are several data visualization apps that help you interpret results quickly, and in a way that the wider team can understand.

With the following data visualization tools, you can quickly identify critical changes to your company’s NPS trends, determine what aspect has the most impact on your score and understand what aspect of your product or service needs to be urgently taken care of. This is very convenient if you need to present all the data gathered by these models quickly, and in an appealing way for an upcoming presentation.

Google Data Studio

Google Data Studio is one of the most popular data visualization tools for a number of reasons, but mainly because it’s free and easy to use. For instance, you can connect hundreds of different data sources and upload them in no time.

After that, Google’s tool allows you to choose from a wide range of charts, graphs and other ways of visually showcasing all of your data. Sharing, embedding and presenting your latest open-ended NPS answers is also a pretty handy function.

Here’s a tutorial on how to get you started with Google Data Studio if you’re not familiar with it.


Looker allows companies to display huge amounts of data, visually and analytically, and with a large number of connected apps. One of the things that makes Looker the go-to data visualization platform for countless businesses is the fact that it focuses on showing “the bigger picture”, providing a deep view of metrics and KPIs stemming from huge databases, which are impossible to analyze manually.

Imagine you have to process a year’s worth of open-ended NPS answers that have already been run through an aspect-based sentiment analysis model. Finding a way to visually represent all of that data is going to take a while, without the help of data visualization tools. With Looker, you can easily feed the system your analyzed data and transform it into engaging presentations.

Pricing depends on each project, as Looker promotes a personalized approach for each of their customers. If you’re interested in this tool you can also request a demo to test its features.

You can check out this video about how to create and configure a new project with Looker.


This tool offers different functionalities for different company sizes. Individual analysts, teams, organizations, and corporations can satisfy their specific data visualization needs with Tableau. Data prep, analytics and cloud storage are some of the features offered by Tableau, which can be used by anyone, regardless of their knowledge base.

But developers can also find what they need in Tableau’s service, which provides dev tools for an in-depth approach of data analytics. You can try the platform out with a free trial, or select one of its diverse plans, starting at $12 for a basic viewer.

Take a look at some very handy tutorials for Tableau right here.


Aspect-based sentiment analysis can help change your team’s world by automatically processing, tagging and categorizing NPS surveys and their open-ended answers.

Nowadays, machine learning and the power of automated language processing has become an accessible tool for anyone wanting to increase productivity and reduce the time spent by manually going through tons of Net Promoter Score responses, without the need of a programming or machine learning expert.

With aspect-based sentiment analysis, any team can automatically receive actionable insights. For example, they can see how their customers are talking about their products, and find out which aspects of their product they’re talking about.

With workflow automation apps like Zapier and data visualization tools like Tableau, Looker or Google Data Studio, you can automatically gather all the data from your NPS surveys, analyze it with MonkeyLearn’s sentiment analysis and aspect classification models, and display it in a neat and engaging way.

If you’re interested in building your own aspect-based sentiment analysis models for NPS surveys you can sign up for free to MonkeyLearn and start in no time.

Have any questions? Feel free to request a demo and we’ll reach out right away!

Federico Pascual

March 31st, 2019