NPS is a market research metric based on the likelihood to recommend a company, product or service to another person and is used to measure customer loyalty. Learn how you can create this metric in Harmoni.
In this article
1. What is NPS
The NPS metric reports a number between -100 and 100 that captures in aggregate the propensity of a company's customers to attract and refer new and/or repeat business. NPS is not expressed as a percentage, but as an absolute number lying between -100 and +100. For instance, if you have 25% Promoters, 55% Passives, and 20% Detractors, the NPS will be +5.
NPS Example Table
2. Calculate NPS
Each respondent needs to be assigned a value of either -100, 0, or 100, depending on the rating they gave to the likely to recommend question.
We then calculate an average that sums the value for each respondent. The sum is then divided by the number of respondents that gave a value. This calculated average is the NPS.
In Harmoni, there are a couple of options for calculating this average:
Option 1 - Values in a Standard Axis
For this, you first need to create netsLearn more about constructions. , in the 11-point scale variable.
Then, you need to assign valuesLearn more about assign values for average calculations. to the Promoter, Passive and Detractor Nets.
In this example, use the likelihood to recommend scale, with the following definitions.
| Item | Net | Value |
| Promoter | Top 2 - Usually 9 and 10 | 100 |
| Passive | Next 2 - Usually 7 and 8 | 0 |
| Detractor | Bottom 9 - Usually 0 to 6 | -100 |
- Create a new Net Promoter Score axis
- Add each new element defining them as outlined in the table above
- When finished, use Apply Expression to save and apply the definitions
- Add the values for each element
Please note that when analyzing your NPS score you may need to select Total (qualified) in order to exclude the missing values, in other words, those respondents who did not give an answer to the Likelihood to Recommend question.
Option 2 - Values in a Measure
The advantage of a measure is that you can apply the value to the cells in the table, e.g. a crosstab with Age and Gender, and the value shown for each cell is the NPS average. Having a measure is also useful when you want to look at NPS applied to a variable that has values assigned to its elements (e.g. exact age).
For this, you first need to create a measureLearn more about how to create measures. to assign the appropriate -100, 0 and 100 values to each respondent. Records to be excluded from the measure’s count need to be assigned a NULL value.
Use If statements to assign the values to the responses within the “likely to recommend” question.
For example: if (Likely To Recommend NZ.("10" or "9") , 100 , if (Likely To Recommend NZ.("8" or "7") , 0 , if (Likely To Recommend NZ.("6" or "5" or "4" or "3" or "2" or "1") , -100 , null)))
- Select a position in the project tree and click new measure
- Type the NPS label, press enter and the expression editor opens
- Create the definition for the measure, in this case, using an IF statement
- Apply the expression
- Dragging the measure to the measure drop zone applies the values to the cells in the crosstab
For more information about using a measure when creating analyses, review the Analyzing Measures article.
Where to from here?
Learn more about Smart Analysis: