前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iTunes热门排行榜算法的数据分析

iTunes热门排行榜算法的数据分析

作者头像
小莹莹
发布2018-04-23 15:41:36
1.6K0
发布2018-04-23 15:41:36
举报
几天前,我发表了一篇文章——深度分析苹果公司的iTunes免费app热门排行榜的算法、促进、排名操纵和算法故障。

下面是文章概述:

2014年10月29号和12月18号,iTunes热门排行榜上发生了一些奇怪的事情。就像被地震震过一样,榜单上所有app的次序都发生了大规模的重排,有些app甚至完全消失了。这两个极不稳定日子的榜单排名变化的数量级高于平常——许多app来回变动,很多app很不稳定。

如果你是为iOS设备做app的,那么你肯定知道你app的成功取决于榜单上的排名。如果你是在iPhone和Pad上使用app,那么你应该意识到App开发者要让你下载他们的app有多难。苹果公司在iTunes的app商店布置了一个算法,可以识别不同的类别中的热门app。

这实际上是一个黑盒子。我们不知道它究竟是如何工作的,但很多人得出一个结论——影响排行榜排名结果的主导因素是在一段较短的时间内app的下载量。

如果有一大堆人突然都下载你的app,你的app就登上了排行榜,它将被更多的人看到,导致更多的下载。有人估计,登上排行榜冠军可能带来每天数以万计的下载量。

在iTunes 的app商店算法中编码是成就或者毁灭一个app的力量。如果你得到它好的一面,那你就能成功,反之,你会失败。

如果这些天的变动是故意的,我们是不是应该被告知?目前iTunes上有超过900万注册开发者发布的1200万种APP。算法障碍在华尔街会导致数亿美元的损失。那么受iTunes算法障碍影响的企业家们的损失有多少呢?他们都是花了无数的时间和资源投入到增值苹果公司生态系统的人。不管是做实验还是A/B测试,苹果公司处理这类严肃的问题时,是不是应该表示应有的尊重?

虽然App商店排名算法不透明,还是可以通过观察其随时间的输出来了解更多。在Nick Diakopoulos的著作算法问责中,强调了通过追踪输入与输出来调查公司内部运作的算法。

分析这类数据给我们提供了一种方法掌控问责制度的能力,在这个例子中,就是苹果和他的算法。

也许苹果还没有意识到这些障碍?也许是我的数据有缺陷?我会让你们来做判断。我打算找到另一个在同一时间抱怨排行榜反常变动的人。如果你看到一些相似的事件,请留言或联系。

其他人也在操纵这个系统

登上iTunes热门排行榜有显而易见的利益。哪里有利益,哪里就有人耍花招。热门app排行榜算法在很大程度上依赖一段较短时间内的下载总量,这种促进的做法是相当普遍的。通过仔细计划一个伴随着激励下载的广告活动,这个app可以在短时间内获得新冲力和足够的下载量,大幅度提高排名。这个和谷歌SEO(搜索引擎优化)没什么区别,谷歌SEO是通过在正确的时间选择正确的关键词,你可以使得你的网站更可见。

下图显示Beats Music和Soundcloud在2014年三月到六月的排行榜。Y轴曲线越高,热门免费排行榜上的排名越低。垂直的红色表示周六和周日。

请注意: SoundCloud的排名保持相对稳定,即每周的轻微浮动。但是Beats Music却是完全不同的曲线。整个三月和四月的大部分时间,排行榜上的排名呈现一个稳定的下降直到这些app完全消失。然后过了几天,它又迅速回升到第五,在这个位置待了10天,然后又重新快速回落。这并不像一个典型的自然飙升,特别是在那段时间没有显著的产品发布或者更新。

这些都是显而易见的为了抬高app排名的信号。

奇怪的是,几周之后的 3月28日,苹果公司宣布即将收购Beats Music。这项活动的时间恰好在收购之前多少显得有点可疑。也许是故意操纵来提高并购的财产,或者仅仅只是一个巧合。获得这类数据使得我们可以将Beats Music揪出来。

苹果公司对这些行为视而不见

现在,让我们深入到数据中

在过去的一年,我收集了iTunes榜单的数据来分析他们的算法是如何计算的。我们在betaworks建立和输出了很多ios app。如果我们对于app排名算法知道越多,我们就可以做更好的决策,特别是当我们发布新服务时。

每天,我的脚本会点击很多关于苹果公司发布的跨多个图表的排行榜单的RSS订阅,然后将这些结果保存到Mysql数据库。为了更好的分析,我使用两个时间段的数据:14年3月——14年5月和14年8月——15年1月。因为这个原因,你会在下表看到六月中旬和八月之间有一个空隙。

这个数据集包括273天期间iTunes的免费热门app排行榜单上2358种不同的app。一些app一直停留在热门排行榜上,而其他的则只在几天内少量地出现了一下。

举个例子,排行榜上累计出现天数最高的前五名是:LINE,Emoji Keyboard 2, Spotify Music,Vine 和Pandora Radio。长期占据排行榜(连续多日上榜)的app则有些不同:InstaCollage Pro,Clash of Clans, Shazam,SoundCloud 和RetailMeNot Coupons.而变动最大、出现了陡峭的爬升和下降的app有:Game of War,NFL Mobile,Dunkin’ Donuts,LinkedIn 和 the Bible.

下面是Tinder和Ube榜单排名的典型的曲线图

Tinder和Uber在免费app热门排行榜随时间的排名变化

注意以下几点:

  • Tinder和Uber连续出现相反的周期模式:当有一个在高位时,一个就在低位(记住:图上的线越高,排名就越低)。
  • 感恩节和圣诞节——对于Tinder的数据和Uber的出租出行都不是一个好时候。
  • 过去的一年,Uber的排名仅仅是变的更强健了。从11月以来,随着所有负面的媒体报道和被禁止的威胁,你可以想到越来越少的人使用这个服务。但是它仍然连续在排行榜前50名。除非Uber为了排名投入更多的花费,但似乎它的新下载并没有下降。
  • 十月末有一些奇怪的行为,Tinder排名上升了。十二月中旬,两个app在同一天都消失了。这里有两个漏洞我们一会深挖下。

我们来看看其他的例子.

流行社交网络和消息app随时间的排名变化

社交网络和消息app在排行榜上呈现出明显的星期变动,同时又有效地维持平均排名。LINE,一种受欢迎的消息app,却是一个例外,它在2014年春季出现了两个显著的峰值,LINE在3月急剧上升到排行榜前50,在接下来的一个半月内又慢慢的下滑,直到5月才重新登上前50的位置。这可能是很多因素引起的。

在3月14日中午,LINE发布了高级呼叫服务,允许用户与非LINE用户以统一费率通话,不管这个电话来自哪里。对于峰值的一个解释是,这个新的特性促进成千上万的用户在短时间内下载这个app。另一个解释是,LINE的市场团队实施了一些推动策略,促进下载量,导致了排名的大幅上升。

如果我们根据它的标准差将每个时间序列标准化,我们可以清楚的看到各app有序对齐的周期波动。

社交网络和消息app随时间的标准化排名变化

Viber, WhatsApp, Twitter 和Facebook Messenger的星期循环是密切相关的,呈现出这样的规律:一周的中间排名最高,周一排名最低。Snapchat和 Vine的表现又非常不一样,是很短暂的循环。Snapchat与facebook、messenger、twitter几乎相反,它显著的使用率出现在周末,将周一的排名拉高,周一也是它在排行榜上排名最高的时间段。这是有意义的,自从iTunes采用之前几个小时的信息来计算现在的排名。所以当一个app在周一出现峰值,这意味着它下载的高峰期是在周日。

什么app可以让我们看到其他app在周日的下载量:the Bible。

the Bible——是app商店最受欢迎的“工具”app之一,在过去一年中都在排行榜上。在一年中,有一段时间的变动大于其他时间。你可以看上面的图,the Bible的波动明显以周为单位,周一是排名最高的(=周日有很多的下载量)。一年中圣经的最高排名毫无意外的在复活节那天,在这天,它登上了排行榜的第24位 。另外,我们可以明显的观察到一个波动——当我们看夏天的那段时间,周日和周一的排名有巨大的不同。很少有用户在星期内下载the Bible。

使用相关性

计算app之间的相关性可以帮助我们比较移动app的使用模式。相关性是一种计算两个对象的相互关系的方法。两个app的相关系数越高,他们随时间变化的排名变动也越相似,例如下图矩阵中颜色越暗的格子。(大矩阵包括前100名app)

App商店相关矩阵:颜色越深的区域,两个app之间的相关性越高。

我们在上面的图中可以清楚的看到很多群组——颜色深的区域代表的一系列app之间有高度相关性。下面的线形图可以很好的解释这些app为什么会在一个群组。

Dropbox, Google Drive, LinkedIn和Job Search app表现出相似的随时间变化的排名波动模式

Facebook, YouTube, Instagram 和and Pandora表现出相似的随时间变化的排名波动模式

几乎所有的app都与圣经相关

游戏是完全不同的竞技场(需要他们自己的博客展示)

相关的游戏app:发布时间相同和呈现相似的模式算法障碍(算法漏洞)

算法障碍

现在我们已经对这些数据很熟悉了,让我们继续研究实际的难题.

我们绘制出过去一年所有app的排名,我们可以清楚的判别那些不寻常的日子。在10月29日和12月18日,我们可以看到显著的变动,一半的app从榜单上消失,剩下的排名则上升,而且大量新的app在单日出现,第二天一切变动又恢复正常,重新恢复次序。

我在这些数据上花了好几个小时,旋转所有参数,试图为这些骤降找到理由。也许是假期?星期的天数不同?大规模的同步促销运动?但是没有一个符合的答案。

唯一可能的解释是,突然有这么多波动的唯一方法是算法。

当与前几个月的数据做对比时,这个解释是非常切中要害的。

我们可以取时间序列数据的一阶导数来显示波动,能有效地呈现相邻两天的不同。这就意味着,如果某个app在周二排行第20名,周三第35名,我们要绘制一条在y轴上攀升15个点的线。在下图中你会注意到总体波动是稳定的,除了那两个特殊的日子。

现在我们来看看另一个不同的度量指标——持久力

我们定义“持久力”是:app连续登录榜单的天数。绘制包括所有app的“持久图”,我们得到这个好像是Zipfian的分布,有些时候也叫长尾或者幂次定律,一般是在社交系统数据中的定义。

当我们将图放大,可以看到阶梯函数形式。大量的app在排行榜上的时间正好是连续的129天。这当然不是自然的,即支持了我们的假设——涉及一种自动机制。就像突然关掉了开关,我们看见大量的app同一时间从榜单上消失。我曾经看到这类事情在twitter的僵尸网络上发生。

不管我们如何看待这两天,这个基础的数据感觉就很奇怪。在12月17日和12月18日。我们看到几乎没有app排名下降。榜单上一半的app排名都上升了,另一半则从榜单底层重新开始。这些重新开始的app都是典型的不会从榜单上消失的app,包括:Dropbox, Amazon, Google Maps, LinkedIn, LINE, Twitter和 WhatsApp.

2014年12月18日iTunes的app商店排行算法故障

在他们的排行榜中,当天排行榜上有88种app。这些包括:Fandango Movies, Unroll Me, Bubble Witch 2 Saga, GIF Keyboard, Yahoo 和Amex Mobile。在这个单子中很少有游戏app的身影,但也并不意外。一般来说,iTunes榜单包括20%-40%的游戏app。在12月18日这天,一段时间内按照类别细分的app图并没有指向特殊的异常,,尽管它在社交网络app类别中(浅蓝色线)呈现出一个微小的下滑。

这个很重要

分析这些数据给我们提供了一个引人入胜的窥视iTunes围墙内花园的机会。越深刻理解排行榜的内部运作原理,排行榜就变的更有可预见性,当我们建立、发布和推动app时,可以做出更好的决策。苹果公司拥有这个生态系统,而我们完全是听凭召唤。

他们掌握的算法中的障碍和异常行为越多,我们对于这整个系统的信任和信心就越少。不用怀疑这个生态系统已经被耍花招,但是这个算法的操纵就发生在我们面前,还是会有一种被不公平对待的感觉。特别是在没有任何警告的前提下。

运行这类数据分析可以帮助我们掌握苹果公司为了他们的算法中潜在的偏见或者数据的缺陷负责的力量——算法是如此有力量,它决定着谁能赚钱,谁损失钱。

谷歌做了大量的关于搜索引擎算法的变化正式工作,但是搜索仍然是谷歌的核心业务。而这个离苹果公司的现金牛核心还很远。

几乎可以忽略不计。

PPV课其他精彩文章:


1、回复“干货”查看干货 数据分析师完整知识结构

2、回复“答案”查看大数据Hadoop面试笔试题及答案

3、回复“设计”查看这是我见过最逆天的设计,令人惊叹叫绝

4、回复“可视化”查看数据可视化专题-数据可视化案例与工具

5、回复“禅师”查看当禅师遇到一位理科生,后来禅师疯了!!知识无极限

6、回复“啤酒”查看数据挖掘关联注明案例-啤酒喝尿布

7、回复“栋察”查看大数据栋察——大数据时代的历史机遇连载

8、回复“数据咖”查看数据咖——PPV课数据爱好者俱乐部省分会会长招募

9、回复“每日一课”查看【每日一课】手机在线视频集锦

PPV课大数据ID: ppvke123 (长按可复制)

大数据人才的摇篮!专注大数据行业人才的培养。每日一课,大数据(EXCEL、SAS、SPSS、Hadoop、CDA)视频课程。大数据资讯,每日分享!数据咖—PPV课数据爱好者俱乐部!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PPV课数据科学社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档