博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第56件事 排行榜通用算法4步
阅读量:5821 次
发布时间:2019-06-18

本文共 1201 字,大约阅读时间需要 4 分钟。

自从跟随师傅学艺之后,也爱上了看书,比较好奇,各大电商网站的图书排行榜排名到底是依据什么因素或维度来排列的?怎么样的排名算法算是比较科学的呢?有没有比较通用的算法?师傅肯定有方法。还真是,咨询师傅后,得知还真有通用的排名算法。

通用型的排行榜算法一共分为四步:第一步明确影响排行榜的维度或因素;第二步将每个维度或因素的数值标准化;第三步确定每个维度或因素的权重比;第四步计算综合评分后进行排名。

我们以一个具体的实例来阐述一下。假设现在有20个苹果供用户白吃或试吃,游戏规则是团长通过微信好友或朋友圈一起来组团抢苹果的白吃资格。假设现在有三个团长参与了组团,我们按照上述的四步法一一拆解:

第一步:组团能否获得白吃资格,主要维度或因素有:组的团里未曾获得白吃资格的用户数、组的团里之前获得白吃资格并写过点评的用户数、组团总人数、组团提交时间、团长等级(所获得的虚拟点数)。
第二步:将各个维度或因素的数值标准化,标准化主要有max-min标准化和z标准化,我们这里采用前者,公式为(x-min)/(max-min),组团提交时间采用(max-x)/(max-min),因为组团提交时间越早越容易获得白吃资格。标准化评分=所有数据标准化评分*100,这样就转化成百分制了。
第三步:确定每个维度或因素的权重比。那么如何确定呢?假设现在有ABCD四个维度,我们确定权重的步骤:第1步简化为1/0式逻辑思维;第2步专家投票表决,纵轴比横轴重要填“1”,反之填“0”;第3步将每行数字相加,根据合计的数值进行排序,矩阵分析如图7-18所示。

因为合计中可能存在数值为0的情况(比如图7-18中所示表格的D行),为了便于计算,我们认为将合计中每一项数值+1。

通过公式得出A的权重=3/10×100%=30%,B的权重=4/10×100%=40%,C的权重=2/10×100%=20%,D的权重=1/10×100%=10%。

当然了也可以根据实际需要,做成权重比可自定义配置,这样更加灵活。
第四步:综合评分=组团未白吃人数的标准化评分*对应权重+组团点评人数的标准化评分*对应权重+组团总人数的标准化评分*对应权重+组团提交时间的标准化评分*对应权重+团长等级的标准化评分*对应权重,团长排行榜最终结果如图7-19所示。

刚听完师傅传授的秘诀,隐隐约约感觉用到了一些之前已经学过的数据分析知识和技巧。顿悟了,原来综合使用了数据标准化评分和确定权重矩阵分析的方法。

产品经理不要为了学东西而学东西,真正理解后,很多复杂的问题即可迎刃而解,正是使用了数据标准化评分和确定权重的矩阵分析方法,综合一下就成了排行榜的通用算法。涉及排名的地方,只要轻松变换维度,就可轻而易举得出排名结果,这才是真正的学以致用。

 

转载于:https://www.cnblogs.com/SanMaoSpace/p/9445485.html

你可能感兴趣的文章
win7 64位+Oracle 11g 64位下使用 PL/SQL Developer 的解决办法
查看>>
BZOJ1997:[HNOI2010]PLANAR——题解
查看>>
BZOJ1014:[JSOI2008]火星人prefix——题解
查看>>
使用Unity3D引擎开发赛车游戏
查看>>
HTML5新手入门指南
查看>>
opennebula 开发记录
查看>>
ubuntu 修改hostname
查看>>
sql 内联,左联,右联,全联
查看>>
C++关于字符串的处理
查看>>
6、Web Service-拦截器
查看>>
Flask 源码流程,上下文管理
查看>>
stream classdesc serialVersionUID = -7218828885279815404, local class serialVersionUID = 1.
查看>>
ZAB与Paxos算法的联系与区别
查看>>
java 读取本地的json文件
查看>>
Breaking parallel loops in .NET C# using the Stop method z
查看>>
Android Content Provider Guides
查看>>
修改故障转移群集心跳时间
查看>>
[轉]redis;mongodb;memcache三者的性能比較
查看>>
微软职位内部推荐-Sr DEV
查看>>
用计算器计算“异或CRC”
查看>>