我有兴趣知道如何根据产品的评级计算排名分数。以苹果应用商店为例。有两个产品 A 和 B。两者的平均评分相同,但 100 个评论者对 A 进行了评分,而 1000 个评论者对 B 进行了评分。直观上,B 的排名应该高于 A(它的平均值标准误差较低)。是否有一个既定的公式来比较两个项目并根据它们的评级确定哪个更好?
我写了一些Python代码,这样你就可以轻松运行它。
def score(nn):
""" nn = [0, n1, n2, n3, n4, n5] """
if len(nn)==5:
nn = [0, *nn] # add 0
N = sum(nn)
K = 5
kk = [1,2,3,4,5]
z = 1.65 # alpha = 0.1 mean 95% confidence
avg = sum(k*(nn[k]+1)/(N+K) for k in kk)
diff = sum(k**2 * (nn[k]+1)/(N+K) for k in kk) \
- sum(k * (nn[k]+1)/(N+K) for k in kk) ** 2
dev = z * sqrt(diff / (N+K+1))
return avg - dev
Run Code Online (Sandbox Code Playgroud)
你可以直接调用它
score([5, 5, 14, 48, 223]) # 4.517059350728805
Run Code Online (Sandbox Code Playgroud)