排行榜与随机数

top10-list  下面要介绍的内容也是前几天在工作中实际遇到并尝试去解决的一个问题。公司有一个优秀的团队,每个人都在思考如何解决目前存在的一些不合理的问题,无论是产品设计、内容运营还是后台架构。下面解决的问题就是源于一个数据的需求,根据需求进行设计和总结思考,同时也需要不断尝试着进行调整和优化。

  其实无论是电子商务网站的商品交易量、内容网站的页面浏览量还是资源网站的资源下载量,大部分都会存在排行榜这个东西。排行榜提供了一个热门信息的入口,也是口碑营销和用户从众心理的典型体现。但对于一个优秀的网站而言,80%以上都不会用自然排名,多少会动一些“小手脚”,那不是在欺骗用户吗?是的,我们有时候确实在做这样的事情。而相比那些金钱驱动的对用户不负责任的更改排名的方式(大家应该都懂的),下面介绍的更改排名的小技巧对用户而言绝对是“美丽的谎言”。

自然排名的弊端

  先来看看如果网站完全按照自然规则来定制排行榜会出现怎么样的情况:

Ranking-changing

  当然可能没有这么夸张,但排行上的内容保持1个月甚至3个月都没有变化还是有可能的。网民的从众心理是不容忽视的,对于一个在网站没有明确目的四处闲逛的用户来说,各类排行榜变成了他们最好的入口;或者我们可以从数据的层面来解释下这个问题,一般排行榜会挂在网站的什么位置?首页,分类索引页,侧边栏?反正是那些用户容易看到,能够轻易点击的地方,这些页面或位置的共同特点就是高曝光,以首页为例,来看看我的博客的曝光排名前5的页面:

GA-pageviews-top5

  从数据中可以看到首页的浏览量差不多是其他页面的10倍,所以对于一个资源而言,是否放入排行榜将会导致至少有5倍左右的曝光量的差异,即如果要完成同样的转化目标,未放入排行榜的商品需要比放入排行榜的商品高出4倍的转化率,对于同样的商品,如果放在排行榜只要4%的转化就可以完成100个交易,那么如果把它撤出排行榜同样要完成100个交易就需要高达20%的转化,简直就是天壤之别,这就是排行榜的魔力。

  这就是所谓的马太效应,是一个非常有趣的现象,但无论对于网站还是用户而言,马太效应的存在都是不利的,网站无法将那些排行之外的有潜力的商品推销出去,而用户同样会看不到那些排行榜之外更有价值的产品。所以我们需要设法去规避马太效应。

如何规避马太效应

  马太效应(Matthew Effect),简单地说就是“强者愈强,弱者愈弱”。不得不承认马太效应是一个极其强大的自然法则,全世界都在试图规避这个法则,但又有多少能够真正的解决问题的。这个在经济、社会学界让人十分头疼的问题似乎在互联网这个虚拟的领域还是存在许多解决方案的,其中一个在其他领域绝对无法适用的方法就是——随机数。

  其实在排行榜中规避马太效应的方法有很多,如果网站的数据和运算平台足够强大,完全可以借助一些算法去有效地解决这个问题,之前我也介绍过一个有效的内容推荐方法,或者如果能根据用户行为分析的结果提供根据用户兴趣定制的个性化排行榜,那下面的内容你可能就不必再看下去了。但对于一个小型网站或者刚刚起步数据还不是很全的新产品而言,随机数将会是规避马太效应的一个最简单有效的方法。

  产生随机数的方法有很多,随机数也有很多不同类型,比如常见的取值范围在(0,1]的两位小数,或者是随机生成1到100的自然数。更改排行榜的方法也有很多,下面就用1-100的自然随机数来例举几个我想到的调整TOP10排行榜的方法:

随机排行方法1

  调整策略:在前30名内容中随机取10个放入排行榜。

  实现方式:为前30名的每个内容分配一个随机数,然后根据随机数排序取前10。

  适用情况:同样适用前50或者前100打乱次序后随机取10,但是无论是前30还是50的内容排名上不能存在太显著的差异,比如热门书籍,可能前30本书的热门度差异并没有那么明显,那么就可以使用这种随机排序法。

随机排行方法2

  调整策略:将排行榜的8、9、10名替换成11-20、21-30、31-40中各取一个随机内容。

  实现方式:其实就是生成11-20、21-30、31-40范围的3个随机数,放到排行榜的8、9、10三个位置,先对1-100的随机数做一个简单处理,将其除以10 取余数,于是就相当于是0-9的随机数,在分别加上11、21、31就生成了11-20、21-30、31-40范围的3个随机数,取相应的内容放到排行榜即可。

  适用情况:存在明显的明星产品,比如软件下载网站的下载前几名会一直被某些软件占据,这些软件确实是用户最常用的软件,跟其他软件的下载量存在显著差距,这个时候就不要去动排名前几的产品,而只要随机变动排名后几位的产品就行。

随机排行方法3

  调整策略:随机取排行榜中的1个位置来放置推荐的内容。

  实现方式:有了上面的例子,这个实现起来就比较简单了,其实就是生成一个1-10的随机数,先将1-100的随机数除以10 取余数,再加1即可,再将排行榜上这个随机数的内容替换成推荐内容即可。

  适用情况:已经有现成的优质内容希望推荐给用户,并能够预期到这些内容很有可能在将来会上排行榜的。

  好了,上面就是我所列举的几个使用随机数改变排行榜来有效规避马太效应的实际应用,你是不是有更好的想法和方案,在评论中与我分享吧。

排行榜与随机数》上有 10 条评论

  1. harvey

    你好,看了你这篇文章,有点经验我想分享下,希望大家能一起讨论一下~~
    我之前在公司做过一个排行榜,类似于一种话题推荐的排行榜,我采用的是用时间区间来做排行的,就是我可能每天都会记录那个量,然后根据那个量的需要(有时一周,有时一个月)来排行,当然,当时还预留了个权重的字段,打算有需要的时候可以通过设置一个权重值进行半人工干预排行结果。
    不知道是否还有更好的做法呢?

    回复
  2. joegh 文章作者

    @harvey: 你好,很高兴看到你的评论,权重确实是一个很好的方法,人工干预也是调整排行榜一种常见的手段,根据运营人员的经验来调整排名可能会比单纯的数据运算结果要更加有效,这里介绍的随机数只是一个最简单易行的方法。

    回复
  3. SEO优化

    站在SEO的角度这是一个比较好的方法,但要如何实现兼顾用户需要和SEO就需要多思考,必竟我们的目标是多些引荐和更高的转化!

    回复
  4. 网站数据

    对于避免网站内容的马太效应问题,个人觉得这是个很矛盾的东西。按照自然法则,让那些表现不好的东西不要出现的方可面前,而优秀的内容一直出现在最明显的位置并非不妥。但是对于回头的访客来说,这种安排确实很不舒服。矛盾啊!!

    回复
  5. 爱蝌蚪

    关于排行榜,关键是看你想达到的目的是什么。如果只是想在前10名中做一些调整,为这些排名附上一个随机因子(随机性不要太大),这样调整看上去非常自然。

    回复
  6. trevor

    个人觉得这种随机数的方法只用来推自己的内容可以。不过如果你用来推用户的数据就不适合了。 大部分用户很在乎排行榜这个东西的。如果被发现并截图。用户会很愤怒的。

    回复
  7. joegh 文章作者

    @trevor: 嗯,这个方法的应用主要是网站自身内容的推荐,主要的宗旨还是“以用户为中心”,随机的用法也不会太过离谱,主要还是让用户能找到更新的更感兴趣的内容,其实用户都是非常聪明的,用户厌恶的是那些损害他们使用体验的操作。
    如果是作为一个平台推广用户或其他公司的产品或内容,甚至涉及推广位的交易购买的这个方法就不适用了。

    回复

harvey 进行回复 取消回复

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

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>