Visualize Net Promoter Score (NPS) Results Using SurveyJS Dashboard

Edit in →

Net Promoter Score (NPS) is a popular metric used to assess and predict customer loyalty by asking respondents only one question: "On a scale from 0 to 10, how likely are you to recommend our product/service to a friend or colleague?". Respondents who score 9-10 (promoters) will most likely keep buying your product and bring new customers. Respondents scoring 7-8 (passives) are overall satisfied with your product but may switch to your competitors if they come across a more attractive offering. Respondents with a score of 0-6 (detractors) are unhappy with your product and may damage your brand through negative word-of-mouth. To calculate the NPS, subtract the percentage of detractors from that of promoters. This demo shows how to enable a special NPS visualizer in SurveyJS Dashboard.

SurveyJS NPS Question

In SurveyJS, you can use the Rating Scale question type to add an NPS question to your form. A Rating Scale question asks respondents to evaluate a particular characteristic of a product or service on a predefined scale. The scale can display a range of numbers, graphic symbols (stars or emojis), or descriptive terms that represent different degrees of agreement or satisfaction. For more information on how to create an NPS question using the Rating Scale question type, refer to the following demo:

NPS Survey Question

Enable Dedicated NPS Visualization

By default, responses to a Rating Scale question can be visualized using bar, pie, gauge, bullet, or histogram charts. When a Rating Scale question is used to collect NPS data, you can configure its dashboard item to render a dedicated NPS visualization. This visualization displays the calculated NPS score along with the number and percentage of promoters, passives, and detractors.

To render the NPS visualization by default, set the type property to "nps" for the dashboard item associated with the NPS question. This approach is demonstrated in the current demo.

If you want the NPS visualization to be available for selection without making it the default, add "nps" to the availableTypes array of the NPS dashboard item:

import { Dashboard } from "survey-analytics";

const dashboard = new Dashboard({
  questions: survey.getAllQuestions(),
  data: dataFromServer,
  items: [{
    name: "nps_score",
    availableTypes: ["bar", "vbar", "pie", "doughnut", "gauge", "bullet", "nps"]
  },
  // ...
  ]
});

Your cookie settings

We use cookies to make your browsing experience more convenient and personal. Some cookies are essential, while others help us analyse traffic. Your personal data and cookies may be used for ad personalization. By clicking “Accept All”, you consent to the use of all cookies as described in our Terms of Use and Privacy Statement. You can manage your preferences in “Cookie settings.”

Your renewal subscription expires soon.

Since the license is perpetual, you will still have permanent access to the product versions released within the first 12 month of the original purchase date.

If you wish to continue receiving technical support from our Help Desk specialists and maintain access to the latest product updates, make sure to renew your subscription by clicking the "Renew" button below.

Your renewal subscription has expired.

Since the license is perpetual, you will still have permanent access to the product versions released within the first 12 month of the original purchase date.

If you wish to continue receiving technical support from our Help Desk specialists and maintain access to the latest product updates, make sure to renew your subscription by clicking the "Renew" button below.