Net Promoter Score

You might not believe that the Net Promoter Score is the “single most reliable indicator of a company’s ability to grow” but you are likely to be asked to provide an NPS or another score that is an alternative to a simple mean.  For this article, we’ll talk about how to create a NPS using derived elements.  Derived elements can be used to provide any score that is based on assigning values to categories.

Let’s use this as our net promoter question:

On a scale of zero to 10, how likely is it that you would recommend us to your friends or colleagues?
On a scale of zero to 10, how likely is it that you would recommend us to your friends or colleagues?

Promoters give the company a score of 9 or 10.  Detractors give the company a score of 0 to 6.  Respondents who give a score of 7 or 8 are not counted.  The response categories are defined as _0 to _10 plus a hidden NA category to add a bit of complication.  The NPS for this question would be calculated as follows:

(_10 + _9 - _6 - _5 - _4 - _3 - _2 - _1 - _0) * 100 /(Base - NA)

The number of respondents who skipped the question must be subtracted from the base in order to get the correct denominator.

In order to avoid divide by 0 errors, we need to make sure that the denominator is not 0 by using an IIf function so the calculation becomes:

(_10 + _9 - _6 - _5 - _4 - _3 - _2 - _1 - _0) * 100 / IIf(Base - NA, Base - NA, 1))

Now that we have the calculation, we can set it up in Reporter.

  1. Drop the net promoter question on to a table.

    Reporter Design tab
    Reporter Design tab
  2. Double click the net promoter question to edit it.
  3. Our calculation uses the Base which requires the base category to have a usable Name.  The default name of Base will cause a syntax error in our expression because base is a keyword.  The user interface does not allow us to change the name of the Base category so as a first step add some factors which will be useful if you also want to display a mean.

    Add Factors button
    Add Factors button
  4. In the screenshot below, the Script and Properties panes are  displayed because we here at smarter Dimensions are hopeless geeks and because the only place that we can change the name of the Base is in the Script pane at the bottom of the dialog.

    Edit Variable dialog with Script pane displayed
    Edit Variable dialog with Script pane displayed
  5. Add a name for the Base category and choose Apply.

    Rename base to AutoBase
    Rename base to AutoBase
  6. Now that we have a name for the Base category, we can insert our net promoter score category.

    Insert Categories button
    Insert Categories button
  7. Add a derived category.

    Edit Derived Category dialog
    Edit Derived Category dialog
  8. Edit the expression using the Edit Item… button.  You can copy and paste into the edit box or drag and drop the categories into your expression.

    Edit Derived Category dialog
    Edit Derived Category dialog
  9. While still in the Edit Categories dialog, add a Mean too.
  10. Now that we have the expression, we can test the table so close all the dialogs and populate the table.

    Table with Net Promoter Score
    Table with Net Promoter Score
  11. The percentage doesn’t make sense on the Net Promoter Score so we need to set it up to show counts only.  This requires the geeky syntax are area of the Edit Variable dialog again.

    CountsOnly property
    CountsOnly property
  12. The final table looks like this.

    Table with Net Promoter Score showing counts only
    Table with Net Promoter Score showing counts only

2 thoughts on “Net Promoter Score”

  1. I’m trying to apply the same script in MRStudio. I’m not getting any results. The scenario is the same. Does the script change in any way when applying it to a different medium?

    • Hi Endre,

      Thanks for the comment. It should not change, can you send us your script via email with some dummy data and perhaps we can try and debug why you get no results ?

Leave a Comment

%d bloggers like this: