使用Python进行内容/商品热度分析

在日常的网站或者APP的开发中,经常会遇到需要提供最近热门的功能,比如博客上最近热门的文章、 比如电商网站上最近热门的商品。想要实现最近热门最简单的方法是,取最近一段时间(比如一周),查看最近一段时间内的浏览量或订单数,按照数量进行排序。

今天要分享的相比单纯统计数量稍微复杂一些的方法。首先我们假设,热度是按指数递减的,即热度会随着时间递减。我们的热度计算公式就可以抽象为:

hot_score = ∑((count_visit * α ^ i)

其中:

  • α为衰减系数
  • i为距离当前的时间(通常使用距离天数,也可以使用周或月,看具体场景)
  • count_visit为某一时间间隔内的浏览次数(也可以是count_order,即某一时间间隔内的订单量)

当α=1时,即为最为简单的仅统计浏览量或者订单量的数据,整个公式中最不好确定的是α的取值。我通常使用假设的方式,最后通过不同假设计算出来的结果进行人工的选择。

  • 1周后的权重降为5,则α^7=0.5,α≈0.905724
  • 2周后的权重降为5,则α^14=0.5,α≈0.951695
  • 3周后的权重降为5,则α^21=0.5,α≈0.967532
  • 4周后的权重降为5,则α^28=0.5,α≈0.975549

相关代码:

一些说明:

  • 通常在计算时可以取30天的数据,原因是某个<1数字的30次方已经非常小了,计算的意义不大
  • 以上的计算针对的是有热度的内容或产品,如果部分内容不随时间衰减,使用上诉公式不影响

拓展学习:

以上只是从一个纬度进行的数据热度排序的方法,实际操作中往往会涉及到多个不同的纬度的结合。具体案例可以参考:

Update:2018-08-06

使用SQL改写为:

微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

使用Python检测符号及乱码字符

最近在进行关键词的分析,中间涉及到对一些特殊的字符进行过滤的需求。包括带符号的(有部分还是SQL注入),并且存

PHP版本升级记录(7.0到7.4)

服务器上原先安装的版本为PHP 7.0.33, WordPress后台建议安装的最小版本为7.3,所以打算直接

WordPress LaTeX插件更换记录

由于自己的博客要插入很多的公式,所以需要依赖LaTeX插件来帮忙实现。先前一直使用的是WP QuickLaTe

发表评论

电子邮件地址不会被公开。 必填项已用*标注