Как рассчитать предел погрешности в результатах NPS (Net Promoter Score)?


21

Я позволю Википедии объяснить, как рассчитывается NPS :

Чистый балл промоутера получают, задавая клиентам один вопрос по шкале от 0 до 10, где 10 - «крайне вероятно», а 0 - «совсем не вероятно»: «Насколько вероятно, что вы порекомендуете нашу компанию друг или коллега? Основываясь на своих ответах, клиенты делятся на три группы: промоутеры (рейтинг 9–10), пассивные (рейтинг 7–8) и хулители (рейтинг 0–6). Процент недоброжелателей затем вычитается из процента промоутеров, чтобы получить чистый балл промоутера (NPS). NPS может быть как -100 (каждый - хулитель) или как +100 (каждый - промоутер).

Мы проводим этот опрос периодически в течение нескольких лет. Мы получаем несколько сотен ответов каждый раз. Получившаяся оценка менялась с течением времени на 20-30 баллов. Я пытаюсь выяснить, какие движения счета значительны, если таковые имеются.

Если это просто оказывается слишком сложным, я также заинтересован в том, чтобы попытаться выяснить предел погрешности на основе расчета. Каков предел погрешности каждого «ведра» (промоутер, пассив, хулитель)? Может быть, даже, какова погрешность, если я просто посмотрю на среднее значение баллов, сократив данные до одного числа за один прогон опроса? Получит ли это меня где-нибудь?

Любые идеи здесь полезны. За исключением «не используйте NPS». Это решение находится за пределами моей способности измениться!

Ответы:


32

Предположим, что популяция, из которой мы предполагаем, что вы выбираете случайно, содержит пропорции промоторов, p 0 пассивов и p - 1 хулителей, с p 1 + p 0 + p - 1 = 1 . Чтобы смоделировать NPS, представьте, что вы заполняете большую шляпу с огромным количеством билетов (по одному на каждого члена вашего населения) с меткой + 1 для промоутеров, 0 для пассивов и - 1 для хулителей в заданных пропорциях, а затем рисуете n образецp1p0p1p1+p0+p1=1+101n из них наугад. NPS - это средняя стоимость билетов, которые были разыграны. Истинный NPS вычисляется как среднее значение всех билетов в шляпе: это ожидаемое значение (или ожидание ) шляпы.

Хорошей оценкой истинного NPS является образец NPS. Образец NPS также имеет ожидание. Это можно считать средним значением всех возможных выборочных НПВ. Это ожидание оказывается равным истинному NPS. Стандартная ошибка из образца NPS является мерой того , насколько выборочный NPS игровой обычно изменяется от одной случайной выборки и другого. К счастью, нам не нужно вычислять все возможные выборки, чтобы найти SE: его можно найти проще, вычислив стандартное отклонение билетов в шляпе и разделив на . (Небольшая корректировка может быть сделана, когда выборка составляет значительную долю населения, но это вряд ли понадобится здесь.)n

Например, рассмотрит популяцию промоторов, р 0 = 1 / 3 пассивов, а р - 1 = 1 / 6 недоброжелателей. Истинный NPSp1=1/2p0=1/3p1=1/6

NPS=1×1/2+0×1/3+1×1/6=1/3.

Дисперсия поэтому

Var(NPS)=(1NPS)2×p1+(0NPS)2×p0+(1NPS)2×p1=(11/3)2×1/2+(01/3)2×1/3+(11/3)2×1/6=5/9.

Стандартное отклонение представляет собой квадратный корень из этого, примерно равна 0.75.

В образце, скажем, , вы бы поэтому ожидать наблюдения NPS около 1 / 3 = 33 % со стандартной погрешностью 0,75 / 3241/3=33около4,1%.0.75/324=4.1

На самом деле вы не знаете стандартное отклонение билетов в шапке, поэтому вы оцениваете его, используя вместо этого стандартное отклонение вашей выборки. При делении на квадратный корень размера выборки он оценивает стандартную ошибку NPS: эта оценка является пределом погрешности (MoE).

При условии, что вы наблюдаете значительное количество клиентов каждого типа (как правило, около 5 или более из каждого), распределение образца NPS будет близко к нормальному. Это подразумевает, что вы можете интерпретировать МО как обычно. В частности, примерно 2/3 времени, в течение которого выборочный NPS будет находиться в пределах одного МО с истинным NPS, и примерно в 19/20 времени (95%) выборочный NPS будет находиться в двух МО с истинным NPS. В этом примере, если допустимая погрешность действительно составляла 4,1%, мы имели бы 95% уверенности в том, что результат опроса (выборочный NPS) находится в пределах 8,2% от NPS населения.

У каждого опроса будет свой предел погрешности. Чтобы сравнить два таких результата, нужно учесть вероятность ошибки в каждом. Когда размеры обследования примерно одинаковы, стандартная ошибка их разности может быть найдена по теореме Пифагора: взять квадратный корень из суммы их квадратов. Например, если один год МО составляет 4,1%, а другой год - 3,5%, то приблизительная величина погрешности составляет около = 5,4% за разницу в этих двух результатах. В этом случае вы можете с 95% уверенностью заключить, чтоNPSнаселенияизменился от одного опроса к следующему при условии, что разница в результатах двух опроса составляет 10,8% или больше.3.52+4.12

При сравнении многих результатов опроса с течением времени могут помочь более сложные методы, потому что вам приходится справляться с множеством отдельных погрешностей. Когда пределы погрешности все довольно схожи, грубое правило заключается в том, чтобы рассматривать изменение трех или более МО как «существенное». В этом примере, если МЧ колеблются на уровне около 4%, то на ваше внимание должно обратить внимание изменение на 12% или более в течение нескольких опросов, и более мелкие изменения могут быть отклонены как ошибка обследования. Несмотря на это, анализ и практические правила, представленные здесь, обычно дают хорошее начало, когда думают о том, что могут означать различия между опросами.

001/NN люди).


1
Это был фантастический ответ. Я очень ценю это.
Дэн Данн

1
Разве «погрешность» обычно не интерпретируется как 95% доверительный интервал для статистики, взятой из выборки? т.е. примерно 1,96 стандартная ошибка выборки (или стандартное отклонение) этой статистики. Вы используете предел погрешности как синонимы «стандартное отклонение статистики» или «стандартная ошибка».
Питер Эллис

1
Спасибо @whuber. Я стараюсь никогда не спорить о терминологии, пока она четко определена (принцип Шалтай-Болтай), и я думаю, что лошадь придерживалась последовательного соглашения по этому вопросу. Единственное доказательство, которое у меня есть, - это ответ на мой собственный вопрос по адресу stats.stackexchange.com/questions/21139/… , в котором правильно указано , что предел погрешности обычно (не универсально) указан в процентах от оценки.
Питер Эллис

2
@ Чарльз, я думаю, что делает базовую дисперсию дискретной случайной величины. См. Stat.yale.edu/Courses/1997-98/101/rvmnvar.htm
B_Miner

2
Выражение для дисперсии может быть упрощено до Вaрзнак равноп1+п-1-NпS2,
Стивен МакАтир

3

Вы также можете использовать оценку дисперсии для непрерывных переменных. На самом деле, я бы предпочел это по сравнению с оценкой дисперсии для случайной дискретной переменной, так как есть хорошо известная поправка для расчета выборочной дисперсии: https://en.wikipedia.org/wiki/Unbiased_esvaluation_of_standard_deviation Как другие отмечали, решение Whubers основан на формулах населения. Однако, поскольку вы проводите опрос, я почти уверен, что вы нарисовали выборку, поэтому я бы порекомендовал использовать объективную оценку (деление суммы квадратов на n-1, а не только на n). Конечно, для больших размеров выборки разница между смещенной и несмещенной оценкой практически отсутствует.

Я также рекомендовал бы использовать процедуру t-теста, если у вас средний размер выборки, вместо использования подхода z-счета: https://en.wikipedia.org/wiki/Student 's_t-test

@whuber: поскольку другие тоже об этом спрашивали: как можно рассчитать объективную оценочную выборку для дисперсии / sd для вашего метода случайных дискретных переменных? Я пытался найти его самостоятельно, но безуспешно. Благодарю.


1

Вы можете потенциально использовать начальную загрузку, чтобы упростить ваши вычисления. В R код будет:

library(bootstrap)

NPS=function(x){
  if(sum(!x%%1==0)>0){stop("Non-integers found in the scores.")}
  if(sum(x>10|x<0)>0){stop("Scores not on scale of 0 to 10.")}
  sum(ifelse(x<7,-1,ifelse(x>8,1,0)))/length(x)*100
}

NPSconfInt=function(x,confidence=.9,iterations=10000){
  quantile(bootstrap(x,iterations,NPS)$thetastar,c((1-confidence)/2, 1-(1-confidence)/2))
}


npsData=c(1,5,6,8,9,7,0,10,7,8,
          6,5,7,8,2,8,10,9,8,7,0,10)    # Supply NPS data
hist(npsData,breaks=11)                 # Histogram of NPS responses

NPS(npsData)            # Calculate NPS (evaluates to -14)
NPSconfInt(npsData,.7)  # 70% confidence interval (evaluates to approx. -32 to 5)

Не могли бы вы расширить свой ответ, объяснив вначале, что это за подход - достаточно подробно, чтобы тот, кто вообще не понимает ваш код R, все еще мог следовать тому, что вы пытаетесь сказать, - и, надеюсь, достаточно, чтобы он мог предпринять попытку реализовать его на своем любимом языке?
Glen_b
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.