How to calculate NPS in a single Vis

I’m looking for a way to create a single vis that calculates an NPS score ((Promoters - Detractors) / Total Respondents)*100

My data is laid out with 1 row per survey response - each response has a score from 0 - 10.

In my data cube, I’m using a calculated element to categorise each response into either a Promoter, Passive or Detractor.

So now I have a data set that has each respondent on each row with their score and category.

I want to find an easy way to perform the [((Promoters - Detractors) / Total Respondents)*100] calculation in a visualisation.

At the moment I have 3 separate Data Labels that contain the values in the equation and then I’m using a Formula Visualization to perform the calculation.

The way I’m currently doing it seems like a sledgehammer to crack a nut. Anyone got any ideas how to do this all within one vis? I only want to display the score

Hi @stuart.nicolle,

Great to hear from you again. Since you’re dealing with multiple layers of aggregation you do have to have multiple steps at some point. In Dundas BI, you basically have 3 options.

  1. Formula metric sets as you’re doing.

  2. Create a specialized Data cube. You can join against an aggregate of the same table to calculate a column with the total and use the (MIN/MAX) aggregator on the dashboard. You’d probably also end up using a Calculated Element to help categorize the scores into promoters and detractors.

    This is kind of what i mean as i did this for another use case:

  1. You always have the option to solve this on your data source directly to make it an easier query in Dundas BI.

I like the idea of another cube to build the score - it’ll need to accept parameters from the dashboard - but that’s OK. I can see this being something that others would like / use - so I’ll try and share what I’ve done…

Hi @stuart.nicolle - we always appreciate it when you share. Thank you!

Hi @stuart.nicolle,

i think there is an even simpler way to achieve this.

if you take the Promoter as a 1
the Passives as a 0
and the Detractor as a -1

you can do a simple AVG of those and will get the NPS Score.

Example:

Response ID NPS Category NPS Converted
1 Promoter 1
2 Promoter 1
3 Promoter 1
4 Detractor -1
5 Passive 0
6 Detractor -1
17%
1 Like

@christian.wenzel that’s how we do it too.

Mathematically it works but people need convinced that it is the same as their traditional way of promoters - detractors.

I LOVE the simplicity of this and am kicking myself i didn’t thing of it myself doh!

This is a brilliant approach - thanks I will apply immediately!!