Updated: Nov 13, 2022
With John Doran
In this article, you will learn how you can leverage ServiceNow® Performance Analytics to display net promoter score widgets. This will allow you to trend on your net promoter score (NPS). You can dive into breakdowns or second-level breakdowns, so you can get a better picture of what's driving that score for your organization.
Net Promoter Score (NPS) Explained
A net promoter score is a metric used in customer surveys that measures customer loyalty. It's generally a pretty simple question. In our example, we are saying how likely is it that you would recommend a test company to a friend or colleague? It's generally a 0 through 10 scale — it could also be a 0 through 5 scale — but in this case, our scale is 0 through 10. All of the responses that are a 9 or 10 are considered promoters, anything 0 through 6 is considered a detractor, and anything 7 or 8 is considered passive.
How a Net Promoter Score is Calculated
We calculate a net promoter score by subtracting the number of detractors (scores 0-6) from the number of promoters (scores 9 or 10). We then divide that number by the total number of surveys, including the passive (scores 7 or 8). For our example, we have 5 total surveys, 3 promoters (scores 9 or 10), and one detractor (scores 0-6). The two-step equation is as follows:3 (promoters) - 1 (detractor) = 2
2 ÷ 5 (total # of surveys) = 0.4 x 100 = 40% (net promoter score)
After subtracting the detractors from the promoters, we then divide that number by the total # of surveys to get a net promoter score of 40%, which is classified as a good score.
When calculating NPS, you could have a score of anything between negative 100 and positive 100. Scores less than 0 are considered needs improvement. Scores 0-49 are considered good. Scores 50-74 are considered excellent. Scores 75-100 are considered world-class.
Using Performance Analytics to Get NPS
Now, we are going to see how we can use performance analytics to get this score in ServiceNow. The idea is that once this is set up it will run daily, so as different customer surveys are coming in, your net promoter score is constantly changing. You'll be able to see and trend on that changing score.
We won’t go through creating every breakdown, but you can also create breakdowns for specific categories or contact types. For example, you might have this survey firing on incidents, where maybe one category has a really good net from overscore and another one is struggling. You'll be able to dive right in and check that out, and that's just one of the use cases for doing it this way. Using performance analytics, you could also go down by assignment group or assigned to as well, depending on how many different users there are.
Creating an Indicator Source
We are going to create our indicator source, which is basically just defining the top level data set from where we're going to pull records in from. Once these indicators are created and tied to a scheduled data collection job, the data collection job will query the database once for each indicator source. You might have seven indicators that use this, but the data collection is only going to query that database once.
In the conditions, there's generally a date-related filter, so if you wanted to have this run daily and calculate daily changes, you can add that into the filter. For this example, we are going to use the metric result table and these scores (reference video at 3:48). If we add the conditions, metric category is customer satisfaction survey and created on today, that will be our source. We’ve got our indicator source built out which will run daily, but you could schedule it monthly, bi-weekly, etc.
We are going to create our indicator now (reference video at 4:51). We are going to pull in our indicator source. Our unit is going to be set as pound symbol (#), the aggregate is going to be set as count; the value when nil is going to be set to 0. Most of the time we set value when nil to 0 because if there were no surveys created on a certain day, it'll just score that day at 0, but it makes the graph look a lot better so that you don't have missing data points.
Next, we are going to set direction as none. This determines what those performance analytics widgets look like. If an increase in score was positive, we would say maximize; however, if an increase was bad, we would select minimize. This way you know if our score goes up, it might display in red, for example, or if our score goes down, it might display in green.
For the number of responses, we are just going to select none. For the Additional conditions tab, you can add any additional conditions, but all of our conditions should be in the indicator source for this example, so we can leave this as blank. Under the Access control tab, we select the option to publish on analytics hub. Under the Other tab, select render continuous lines; this just makes the graphs look easier and connects each data point if there is something missing. Now we are going to save the indicator and move on to the bucket group.
Filling Out the Bucket Group
The bucket group is where we are going to separate those numbers into those different categories. We will call it NPS category. Our buckets are going to be detractors, passives, and promoters (reference video at 7:00). We define detractors as 0 through 6, passive as 7 or 8, and promoters as 9 or 10.
The way this works is if you have the same number as an end and start, it's going to categorize that record as the one that's starting. The end for our detractors and start for our passives should be 7, so we're saying 0 through 6 are going to be my detractors, and if it's a 7 it's going to be a start, which is a passive, and that's going to include 8s. If it's a 9, it's gonna go to a promoter, and anything above a 9 will also go to a promoter if we leave the end of promoters empty. We will save this, and now that we have our bucket group, we can create a breakdown source.
Creating a Breakdown Source
The fact table is always going to be pa_buckets when we're working with bucket groups. The field, most of the time, is always going to be Sys_ID. The condition will be bucket group is NPS Category. If you hit preview, you should see our three buckets.
Now that we have the breakdown source created, we’ll create our breakdown (reference video at 9:12). We are going to relate that to the source that we just created, and we'll create our mapping. The table is going to be metric results, and we'll use the actual value field. We will assign this to our indicator. We will then create a scheduled job for the data collection.
Generally, once this is up and running, if you already had scores and surveys being sent out, you would do a historic data poll. This is where you can go however far back you want to start collecting scores. You would run that once on demand, and then you would set this up so that it runs daily, typically in the early hours of the morning, where the relative start is one day ago and the relative end is also one day ago. That way, each morning this job runs and collects scores from the previous day. In this case, since we just created all of these surveys today, we are just going to set the relative end for 0 so we can pull in data.
We will hit Execute Now and we are going to click into our indicator to see if everything looks good. We should see our five scores, and if we break it down by NPS category, we'll see the three promoters, the one detractor and the one passive. That doesn't really show us much, we don't have the score yet, but we can use these breakdowns to get that score.
Next, we are going to create a formula indicator. These indicators don't need to be tied to any data collection jobs; basically, they use an indicator that already has scores, and it relates them to a formula where it gives you what you're looking for in real time. For our example, let's call this one NPS Score and our unit will be percentage this time. For precision, you can show one decimal point, two decimal points and it will round to that, but for our example, we are just going to leave it at 0. For direction, we're going to maximize it; the higher the score the better. Previously, it was just a number of responses, so we will leave that as passive.
Creating a Formula Indicator
For our formula, we are going to set our indicator as NPS Results, our breakdown as NPS Category, and our element as promoter. Here we’re going to do the same thing, except we are going to select the detractors. Then we are going to divide that by all of the scores. To get a nice percentage, we will put a x 100 at the end. Again we like to select render continuous lines. We will save this, so now once we show on the analytics hub it's our score, we see our nice 40% (reference video at 13:55). If we had this job running daily, instead of one data point, you would see a line graph which will show every score for the given date.
We only have one breakdown on that NPS results indicator, and that is for our NPS category bucket. You could always add more breakdowns, so you can dot walk from the survey to the task so you can get incident fields. You can break this down by category, contact type, all of those types of fields (reference video at 14:21). Typically this survey only gets sent out when the state is close. Once you have multiple breakdowns there's a collect breakdown matrix button. It is kind of redundant when there's one breakdown, but when there are two breakdowns, this allows you to go two layers deep. If you have a 40% score, looking at the analytics hub, you would be able to look and say alright, I have a 40% score, what's my score for hardware incidents? You can then click into hardware incidents and then you could say what's my score for X? So the overarching idea is that you are able to go down a couple layers.
Did you find this Using Performance Analytics to Track Net Promoter Scores in ServiceNow article helpful? Are you ready to start your journey with ServiceNow? If you want to find out more information about GlideFast Consulting and our ServiceNow implementation services, you can reach out to us here.
About GlideFast Consulting
GlideFast is a ServiceNow Elite Partner and professional services firm that provides tailored solutions and professional services for ServiceNow implementations, integrations, managed support services, application development, and training. Reach out to our team here.