I'm trying to create an NPS card for a product and I'm running into an issue here.

First of all the structure of the card contains an NPS score, number of responders, and a stacked bar to show the distribution of responses. The card will look roughly as shown below:

Example NPS Card

The problem

When I have equal numbers of Promoters, Detractors and Passives - I can't show them correctly on a stacked bar as they are because they are 33.3%, 33.3% and 33.3% respectively (equalling to 99.9%). This is because as per my knowledge, stacked bars should always sum to 100%. Hence, the work around is to basically round up the last value shown on the stacked bar so that the total sum is 100%.

First Question: Is this the correct way to go about handling 3 equal parts in a stacked bar?

enter image description here

Now moving on from this, the way NPS is calculated is Promoters % - Detractors %. Ideally this is done before any rounding takes place so here the actual NPS is 0 (33.3% - 33.3%). However, the stacked bar gives a different story (there are 34% Promoters and 33% Detractors).

Second Question: How do I solve this discrepancy between what the stacked bar shows and what the NPS score is?

enter image description here

Any guidance or feedback provided would be very helpful.

  • 1
    The graphic should provide in a quick way to perceive the situation. If the 34% doesn't change that perception it's fine. But at least show the right numbers below it. Detractors and Promoters are static numbers and Passives is calculated from them, so it makes more sense to make Passives 34% and complete the 100% in the graphic.
    – jazZRo
    Mar 24, 2022 at 14:05
  • Can you elaborate more on "Detractors and Promoters are static numbers and Passives is calculated from them" - Detractors Promoters and Passives are all responses. It's just that the Passives are ignored in the calculation of NPS right? But I was coming to a similar conclusion of making Passives 34% as it is the value that doesn't affect NPS. I can also add the number of responders under all 3 (Detractors, Passives and Promoters) to further clarify maybe? Mar 24, 2022 at 18:53
  • 1
    By static I mean that the numbers are taken from measurements and not calculated from those numbers. But I think we're talking about the same thing, I'm just not used to NPS terminology.
    – jazZRo
    Mar 25, 2022 at 8:23

1 Answer 1


What you have done by showing the actual number of responses and the percentage score is the best way to resolve this common problem. In fact, depending on whether you are showing the result to people who are familiar with the calculation or not, you can even show details about how the scores are calculated. That way when people see the discrepancy with the data they will know where it comes from. I personally wouldn't round up just one score if they are all meant to have the same value because that's less accurate than the three sections not summing up to 100%

So the answer to the first and second question is that you should present the data as it is, meaning that the stacked bar chart should be a representation of the data. If the calculation works out that all three sections are equal, then that's what the values should reflect. Maybe providing labels to the number of people in each category and percentage will be the best rather than just showing one or the other if you think this will be a problem for the viewers of this information.

  • Thank you. Taking what you’ve said - I’ll basically write the number of members in each bracket to help distinguish the actual make-up of the sections and maybe that’ll help? Mar 30, 2022 at 6:06
  • 1
    @FahdKhattak I think it will help reduce the potential confusion around the percentages but maybe the users won't even have a problem with it. You'll just have to test and see :)
    – Michael Lai
    Mar 31, 2022 at 1:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.