本文目录一览:
什么是增长黑客?
一群以数据驱动营销、以市场指导产品方向,通过技术化手段贯彻增长目标的人。
黑客(或骇客)与英文原文Hacker、Cracker等含义不能够达到完全对译,这是中英文语言词汇各自发展中形成的差异。Hacker一词,最初曾指热心于计算机技术、水平高超的电脑高手,尤其是程序设计人员。
逐渐区分为白帽、灰帽、黑帽等,其中黑帽(black hat)实际就是cracker。在媒体报道中,黑客一词常指那些软件骇客(software cracker),而与黑客(黑帽子)相对的则是白帽子。
黑客是一群晃荡于网络上的技术人员,他们熟悉操作的设计与维护;精于找出使用者的密码,通晓计算机,进入他人计算机操作系统的高手,包括一些人所说的内鬼其实也是指技术人员和电脑高手。
根据开放源代码的创始人“埃里克·S·雷蒙德”对此字的解释是:“黑客兵工厂Hacker”与“cracker”是分属两个不同世界的族群,基本差异在于,黑客是有建设性的,而骇客则专门搞破坏。
朋友圈评论表情包原来只是A/B测试?一文搞懂A/B测试与统计学原理
还记得前一阵子风靡朋友圈的表情包评论斗图吗?
但是从12月24日起,陆续有网友反映微信朋友圈无法评论表情包了。当时就有网友猜测该功能非正式版本,很有可能为A/B测试。
12月25日,微信官方回应表示:“此前,我们对朋友圈评论发送表情包功能进行灰度测试,部分用户更新 7.0.9 版本后可使用。目前,该功能已暂停。”
为什么有的用户还可以用表情包,而有的用户就不能用了呢?这其实就是A/B测试。
与微信这次的测试类似,假设我们的网站有一个落地页。关于详情按钮,设计团队偏向绿色,而产品经理则主张蓝色。双方对他们的选择都有强烈的看法。 谁来决定? 选择是否正确?
根据范冰在《增长黑客》一书中的介绍,A/B测试,简单说来就是针对想调研的问题提供两种不同的备选解决方案(比如两个注册页面),然后让一部分用户使用方案A,另一部分用户使用方案B,最终通过数据观察对比确定最优方案。
A/B测试的所有步骤都要遵循 单变量 的思想,比如
1.将测试用户随机分为两部分
2. 测试要在同一时间进行
想像一下,如果我们要测试游戏注册按钮蓝色绿色孰优孰劣。蓝色版本在周一周二测试,绿色版本在周六周日测试,测试的结果是绿色按钮点击率更高。但是,由于周末游戏用户活跃度原本就比较高,测试结果很有可能受到了时间因素的影响。
A/B测试不是一次性的试验,而是一个不断【设定目标】-【提出假设】-【变量修改】-【运行试验】-【衡量结果】的一个循环过程
目标: 目标是用于判断哪个版本更好的量化指标。
假设 :生成A/B测试的假设。
变量 :确定单一变量,对网站当前版本的该变量进行所需的更改。
试验 :网站的访问者将被随机分配到两个版本,并收集相应的数据。
结果 :通过假设检验与置信区间来分析收集到的数据,得出结论。
从原理上看,A/B测试通过抽取样本来估计总体,在上面的例子中:
样本 是随机抽取使用该版本的用户的点击动作(0或1)
总体 是(如果网站全面改版)所有使用该版本的用户的点击动作(0或1)
但这样就足够了吗?如果我们最后得出的结果是A版本点击率5%,B版本点击率5.2%,B版本一定就是更好的?事实上这很有可能只是由抽样误差引起的。
这时我们就需要通过 假设检验 对结论进行数据支撑
针对具体业务问题,我们可以将其提取成统计问题。以新旧哪个版本的点击率更高这个业务问题为例,假设检验的步骤如下
1. 提出假设
将新版本的点击率写成p1,旧版本的点击率写成p2
H0:p1=p2
H1:p1p2
原假设H0是新旧版本点击率没有差异,备选假设H1是新版本点击率高于旧版本。
如果有足够的证据去拒绝原假设H0,我们就可以得到 p1p2 的结论。
2. 确定显著性水平a
提前设定一个比例。如果测试结果出现的概率低于这个比例,我们就有足够的理由拒绝原假设H0。一般取5%。
3. 确定检验统计量
为了计算测试结果出现的概率,我们需要一个已知概率分布的统计量。一般对比双样本转化比率差异用z统计量,z服从标准正态分布。
4. 根据样本计算统计量及p值
我们通过试验得到了该统计量的值。由于已知其概率分布,我们能算出“出现比试验结果更极端情况”的概率,即p值。
5. 得出结论
如果p值小于我们之前设定的显著性水平,我们就有足够的证据拒绝H0假设,即新版本点击率比旧版本高
如果p值不小于我们之前设定的显著性水平,我们没有足够的证据拒绝H0假设,即新旧版本点击率没有明显差别
统计量z是怎么来的呢?为什么z服从标准正态分布?
首先要明确一点,我们对比两个版本的点击率,就是在进行双样本比例假设检验,因为我们有两个总体。
假设我们有随机变量 (xi), i=1,...,n,xi {0,1},0代表失败,1代表成功
那么xi服从伯努利分布,xi~Bernoulli(p),p为总体比率
根据伯努利分布定义,xi的期望为p, xi的方差为 p(1-p)
现在我们考虑
p' 的期望是 n*E(x)/n = p
p' 的方差是 n*var(x)/n^2 = p(1-p)/n
现在我们考虑统计量
根据中心极限定理,不论xi服从什么分布,当n趋向无穷时,Z都服从标准正态分布
首先我们有原假设 H0: p1=p2
如果 xi~Bernoulli(p1) 来自总体1,yi~Bernoulli(p2) 来自总体2,x之间iid,y之间iid,x与y独立
p1' 期望为 p1,方差为 p1(1-p1)/n1
p2' 期望为 p2,方差为 p2(1-p2)/n2
因为 在H0假设下 p1=p2:=p ,
p1' - p2' 期望为 p1-p2=0
p1' - p2' 方差为 p(1-p)(1/n1+1/n2)
由于 p1=p2=p 未知,我们用样本统计量 p'=(n1*p1'+n2*p2')/(n1+n2) 来代替 p
根据中心极限定理
服从标准正态分布
在这个模拟例子里,我们分别在两个版本抽取了1000个样本
版本1获得237个点击,点击率为23.7%
版本2获得195个点击,点击率为19.5%
Z统计量为2.28,p值为0.01120.05
所以我们得出结论,版本1点击率显著高于版本2
豆瓣读书推荐模块分析
现在已经很习惯,看到什么感兴趣书籍后,去豆瓣上查看书籍的评分和评价,来帮助自己了解这本书,看看是不是适合我。
使用过程也发现,豆瓣读书的推荐其实还不是很理想,刚好此次策略产品课的作业是它。
以下通过策略产品经理方法论、描述统计学的方法,通过数据分析初探关于豆瓣图书推荐模块的规则。
*说明:此次分析的模块为豆瓣图书详情页中的:喜欢这本书的人也喜欢...
,如图:
理想情况下,该模块推荐给用户的书籍,是与当前书籍强相关、能让用户感兴趣并且感到惊喜的书。
理想情况下,用户在书籍页面的推荐模块,是想找到与这本书有强相关的书籍,即类似的好书,相类似的好书可能是内容相似、可能是类型相似、可能是系列书籍、可能是同个作者的书籍。 同时该书自己未曾读过,能让自己感觉到惊喜的书籍。
本次分析的目的是,找到豆瓣读书中【喜欢这本书的人也喜欢】这个模块的推荐策略,并发现该策略可能存在的问题。
此次数据采集为10本书籍下的被推荐书籍,选取书籍的标签,通过分析,探索豆瓣书籍的推荐策略。(由于时间有限,数据又由人工采集,标签标注量大,因此数据样本为10本。可能与真实的豆瓣推荐策略有所出入,但此次的分析也能窥见其一部分策略问题。)
假设总体数据呈正态分布,样本为随机抽取,由于时间有限,本次样本为10本,10本书籍被推荐的书籍总数为86本。
选取的标签为:书名、图书类型、出版社、出版时间、作者、是否有系列、评分、标签、豆列。
统计每本书下【喜欢该书的用户也喜欢】这个模块下被推荐的书籍与该书在标签上的相关性。
部分数据截图:
在统计了10本书的推荐书籍的标签数据后,得出以下的数据,部分截图如下:
在分析样本之前,对豆瓣【喜欢这本书的用户也喜欢】这个模块的推荐策略,做出以下假设:
因为图书相比影视类型的特殊性,读书频道的用户更愿意从领域专家那获得图书的建议,用户需要的是与自己相似的专家的推荐,因此,
按照这个思路,假设当前豆瓣【喜欢这本书的用户也喜欢】模块的推荐策略为:
下面对假设做出分析
探索数据集并做描述性分析
说明:以下截图皆为整体数据的部分截图,不代表整体数据,整体数据附件在最末尾
共计86本被推荐书籍,平均得分8.5分
根据数据结果,书籍的平均得分为8.5分,豆瓣书籍的总分为10分,8.5分相对来说已经是非常高的分数了。但由于此次样本较少,无法准确定义8.5分是否为高分,只能主观上判定为高分。
10本书籍的被推荐书籍总数为86本,其中,有27本被推荐书籍为同一个作者,占比31.40%。部分截图如下:
由以上数据分析可知,被推荐书籍与作者可能存在一定相关性。
86本被推荐书籍中,只有13本被推荐书籍与样本书籍为同系列,占比15.12%部分截图如下:
由数据可知,同系列与被推荐的书籍相关性较低。
样本中,《人类简史》这本书属于【历史】类型,但被推荐的5本书中,没有一本与它的类型一致。同样,《认识商业》这本书,属于商业类书籍,但被推荐的10本书籍中,有8本与它的类型不一致。
《创业维艰》这本书属于经管类型,但被推荐的6本书中,有5本书与它的类型不一致。
由以上可知,被推荐书籍与书籍的类型关系不大
86本被推荐书籍中,只有3本书不属于同一个标签,也即被推荐书籍与当前书籍同标签的占比为96.51%。
由此可知,被推荐的书籍与书籍标签有强相关性。
进一步观察,发现每一本书下都有至少几十种的标签,书籍详情页只展示7-8个热门标签,越多人标记的展示越靠前,因此可知,标签被标签的次数为被推荐的权重之一。
但标签的命名,是否存在人为管理暂时不得而知,本文不做探索。
86本被推荐的书籍中,有56本书籍与当前书籍同一个豆列,占比65.12%。
由此可知,豆列与被推荐书籍有强相关性。
另外,根据观察,被推荐的豆列的在收藏和推荐的数据上相比其他含有该书籍的收藏数和推荐数在数量上差距很大,因此可知热度越高的豆列被推荐的可能性越大。
经过测试,当我登录或不登录,或者用其他人的账号登录,看到的《为何家会伤人》被推荐的书籍都一致,由此可知,推荐结果与用户个性化行为无关,推荐模块非个性化推荐。
根据以上的描述性分析,得出以下结论:
说明:由于本次样本数量小,以上结论皆为单变量探索,与实际可能存在一些出入,善待更多数据进一步验证。
根据以上的分析结论,得出以下几个问题:
根据数据及查阅到的资料发现,豆瓣读书的推荐算法使用的是CF中,基于物品的特征相似性给予推荐。即通过一些特征联系用户和物品,给用户推荐那些具有用户喜欢的特征的物品,这个特征方式即标签、豆列,推荐的结果是基于相同的热门标签和豆列的集合。
这样的结果就是造成热门集群效应,让推荐位容易长期被几本热门的著作占据。长此以往,就会造成两个问题:
有的书籍与这本热门书其实关系不大。举例来说,在《增长黑客》这本书中,看到被推荐的书籍中就有《启示录》,严格来说,《增长黑客》这本书其实算偏运营的,而《启示录》算是产品类或经管类的书籍,与《增长黑客》的类型差异很大。
再比如,我在《认识商业》这本书下,看到的被推荐书籍如下:
这些被推荐的书籍与《认识商业》的类型相较,类型都不相同,而作为一个想学习商业知识的用户而言,其实对他们更有价值的,是类似《认识商业》内容的高分好书,因此这个推荐结果其实不理想。
武志红的书籍和吴军的书籍,被推荐的书籍几乎全部都是他们俩自己的书
图中被标记的都是与当前书籍同作者的书籍,出现频率太高了,其他作者的书反而少。
根据观察,推荐结果中包含了实际为同一本书的不同版本,但豆瓣实际目前已经将书籍的书评的长评和短评数据汇总了,即同一本书的不同版本下的短评和长评是一样的。因此其实没必要推荐不同版本。