背景:

净促销员评分是一种通过客户的眼光衡量公司绩效的方法。想法是,客户以“您向朋友或同事推荐X的可能性有多大”的形式回答问题,范围为0-10。然后将答案分为三类:贬低者(0-6),被动者(7-8)和促进者(9-10)。 NPS可以在-100到+100之间变化,计算方法如下:

NPS = (% of promoters) - (% of detractors)


(来源:http://www.netpromoter.com/np/calculate.jsp

问题:

我需要绘制NPS随时间变化的图,理想情况下,如果可以通过普通SQL来实现,则需要绘制该图。现在,我有点卡住,需要帮助。

让我们将其归结为一词,然后将所有联接和其他相关的人口统计数据内容省略如下。我认为我不需要跟踪确切的答案,所以假设我将答案存储在此表格中:

answer     date
0          2011-11-28
1          2011-11-30
2          2011-12-02


其中0 =减法器,1 =被动,2 =启动子。

根据这些信息,我想将NPS值随时间可视化,例如按日期分组。我如何设计这样的(My)SQL查询,甚至可以在不循环和执行多个查询的情况下实现?

最佳答案

有了该表,就可以在单个查询中获取它,如下所示:

SELECT date, SUM(answer-1) * 100 / COUNT(answer) as NPS
FROM yourTable
GROUP BY date

07-24 16:39