Learn R Programming

NPS (version 1.1)

nps: Calculate a Net Promoter Score

Description

This function calculates a Net Promoter Score from a vector of Recommend scores, ideally numeric ones. An attempt will be made to coerce factor, or character data. NA values, either in the data, or generated by type coercion, are automatically omitted from the calculation. No warning is given in the former case. Net Promoter Scores generated are on a [-1,1] scale; you may want to multiply them by 100 (and perhaps round them!) prior to presentation.

Usage

nps(x, breaks = list(0:6, 7:8, 9:10))

Arguments

x
A vector of Recommend scores
breaks
A list of length three, giving the integer Likert scale points for Detractors, Passives, and Promoters, respectively. The default is list(0:6, 7:8, 9:10)

Value

a Net Promoter Score. Unrounded.

See Also

npc

Examples

Run this code
# This will generate 1000 dummy Likelihood to Recommend reponses
x <- sample(0:10, prob=c(0.02, 0.01, 0.01, 0.01, 0.01, 0.03, 0.03, 0.09,
    0.22, 0.22, 0.35), 1000, replace=TRUE)

# Here are the proportions of respondents giving each Likelihood to
# Recommend response
prop.table(table(x))

# Here's a histrogram of the scores
hist(x, breaks=-1:10, col=c(rep("red",7), rep("yellow",2), rep("green", 2)))

# Here's a barplot. It's very similar, though for categorical responses
# it's often slightly easier to interpret.
barplot(
    prop.table(table(x)),
     col=c(rep("red",7), rep("yellow",2), rep("green", 2))
     )

# Here's the nps
nps(x)

#You can round it if you like
round(nps(x)) ; round(nps(x),1)

Run the code above in your browser using DataLab