其他

微信红包不是随机分配?看这个北大学生实验后发现微信红包的分配秘密

2016-10-17 李星宇 寄托天下

最大的红包被谁抢了?

微信新用户?老用户?

与使用“苹果”有关吗?


在几次偶然的微信红包领取活动中

谢宇教授提出

“金额可能并非完全随机,而与用户经历有一定关联”

为此我们进行多次实验,得到一个有趣的结果

“微信红包”是腾讯公司开发的社交软件——微信的一个附加功能。它可以在一对一聊天当中发送,也可以在群聊中发送。在群聊当中,可以一次性发送多于1个的红包,每个群成员可以领取至多1个,先领先得,发完为止(如果红包数多于群成员数,则会有剩余)腾讯公司宣称,在这一情况下,每个红包的金额是随机分配的;也即,在红包数目足够的情况下,每位群成员得到的金额的期望值相等。


领红包与教授共进午餐——引出的问题


北京大学-普林斯顿大学“当代中国社会”研讨课7月11日-8月19日在北大举办,有12名北大本科生和15名普林斯顿大学本科生。作为课程的一个插曲,授课教师谢宇(普林斯顿大学教授、美国科学院院士)会不时地邀请一名学员共进午餐;邀请方式,就是在课程群中发放若干红包(红包数目多于课程人数),学员自愿领取,领到金额最高者与老师共进午餐。


这样的活动进行若干次之后,出现了一个有趣的现象:领到金额最高者绝大多数都是北大学生;此外,只有两位普林斯顿大学的学生领到过最高金额,这两位的共同点是注册微信账号的时间都较早。针对这一现象,谢宇教授提出一个猜想:“参与者领到的红包金额可能并非完全随机,而是与用户经历(注册账号早晚)有一定的关联”。因为大多数北大学生注册微信账号的时间较早,而大部分普林斯顿学生都是7月初抵达北京之后才注册微信账号。为此,谢宇教授在课程的微信群中做了若干次重复实验,并让我对相关数据进行记录和分析,试图考察微信红包金额与用户经历之间的关系。


两个变量:用户经历长短,是否使用“苹果”


这些数据都来自于上述课程微信群中的红包记录。共进行了10次红包领取活动,每次发放的总金额固定为5元,但是每次的红包个数在27-32个之间。由于领取红包的学生为27人,且在单次活动中并非每一个学生都会领取,因而每一次的红包数目,相对于学生人数而言都是足够的。每次红包领取活动中每位参与者得到的金额,是我们所关注的因变量。经过标准化之后,这些金额彼此之间具有可比性,我们称其为“标准化金额”,计量单位是人民币分。而我们的核心解释变量是用户经历,也就是从注册微信账号之日起至2016年8月1日这中间经历的时间(计量单位为月)。此外,我们还将“领取红包时是否使用的是苹果设备”作为控制变量。这两个解释变量,我们通过调查表的方式获得数据。


使用该微信群聊作为数据源有一个优势在于,在这一群聊中,红包领取活动的参与者的用户经历差异很大:最短的只有0.5月,最长的有58.5月(其注册账号的时间已经接近腾讯公司推出微信软件的时间)。这有助于我们发现其中可能存在的规律。(详见表1.)


我们注意到,每次红包领取活动中,发放的红包数目都是过量的,也即存在尚未被领取的红包。我们使用了一个简单的假设检验,证明了未被领取的红包与被领取的红包在金额分布上没有系统性差异,从而保证了之后的分析在这个意义上是无偏的。


转折点:约35个月

 

首先我们使用LOWESS方法绘制出领取到的“标准化金额”与用户经历之间的趋势线,如下图所示。由这条趋势线可以看出,标准化金额与用户经历之间是一个先增后减的关系,大致以35个月为转折点。转折点之前,用户经历越长,领到的红包金额倾向于变多;转折点之后,用户经历越长,领到的红包金额倾向于变少。



为了更为严格地验证这种关系,我们做了回归分析。在回归模型中,用户经历以一次项和平方项的形式出现,而“是否使用苹果设备”作为控制变量。我们分别使用普通最小二乘法和tau=0.25, 0.5, 0.75的分位数回归对模型的参数进行了估计。得到的结果较为一致:无论是否加入控制变量,“用户经历”平方项的系数都显著为负,而“用户经历”项的系数都显著为正。也就是说,红包金额与用户经历之间的关系可以用一个开口向下的抛物线去拟合。而在这8个回归中,我们估算出的这条抛物线的对称轴都落在31-38个月之间,与之前所说的转折点在35个月附近也是吻合的。有趣的是,我们的结果还发现,“是否使用苹果设备”对于领到的红包金额没有显著影响,详见下表。



得到极端金额的可能性


以上分析关注的重点,是领到的红包金额本身,而我们还想探究用户经历是否影响领到极端金额的可能性。所谓极端金额,我们定义:如果领到的标准化金额小于5分,则算作领到极端低值;如果领到的标准化金额大于或等于28分,则算作领到极端高值。我们使用了logistic回归去分别估计用户经历对于出现这两种情况的可能性的影响。结果表明,用户经历对于领到极端低值的可能性没有显著影响;但对于领到极端高值的可能性存在显著性影响,而且影响的模式同样是先增后减,可以拟合为一条开口向下的抛物线;转折点的位置也落在35个月附近。(详见表3.)



以上是对统计分析结果的简单描述,对细节感兴趣的读者可以参看文末正式的统计报告。


总结一下


总结起来,领取的红包金额与用户经历之间存在先增后减的关系。对于使用微信账号时间较短的用户,其在红包领取活动中得到的金额随着其用户经历的增加而增加;但在经过一个拐点之后,随着用户经历的增加,其在红包领取活动中得到的金额会减少。这一拐点落在30-40个月之间(用户经历)。与此同时,得到极端高金额的可能性与用户经历之间也存在着同样的关系和类似的拐点位置。但得到极端低金额的可能性与用户经历之间并无显著关系。这些结果在加入了控制变量(是否使用苹果设备)之后没有受到影响。


因此,对于最近注册微信的用户和使用年限很长的微信用户,其在红包领取活动中得到的金额相对更低;而用户经历在30-40个月之间的用户,平均而言其在红包领取活动中得到的金额最高。


由此可以推测,在微信群聊中发放多个微信红包的情形下,各个红包的金额并非完全随机分配。但是由于微信红包背后的程序未知,所以我们只能够注意到这一现象;其原因可能需要从腾讯公司的程序设计中寻找。


附:正式统计报告


1.数据与变量

 

1.1  数据来源

我们使用的数据主要来自于上述的课程微信群中的红包记录。该群聊总共进行了10次红包领取活动,每次发放的总金额固定为5元,但是每次的红包个数在27-32个之间。由于领取红包的学生为27人,且在单次活动中并非每一个学生都会领取,因而每一次的红包数目相对于学生人数而言都是足够的。为了得到用户经历等信息,我们使用调查表对27名学生进行了调查,采集了微信账号、注册时间和手机类型等信息。在每次活动中,每位参与者的表现作为一个观测;通过这10次活动的记录,我们总共得到了217个有效观测。


1.2  变量

1.2.1  因变量

因变量为在每次活动中每位参与者得到的红包金额。虽然每次活动的总金额都固定为5元,但是由于红包数目有变化,因此在不同的活动中,每位参与者领取到金额的期望会有差异。为了消除这一差异带来的偏误,我们对领到的红包金额做了标准化。标准化的方法如下。




其中yij为第i次活动中参与者j得到的金额,ni为第i次活动中的红包个数revenueij代表标准化金额,是我们最终使用的因变量,其度量单位为人民币分(1分=0.01元)。经过这样的标准化,我们将每次活动中发放的红包个数统一为了30个,也即每次活动中每个红包的金额期望值为1/6元(约为16.667分);这样,我们的217个观测中的因变量具有可比性。


在后一阶段的分析中,为了探求领取金额的极端值与用户经历之间可能存在的关系,我们使用了另外2个因变量:lower-tail和upper-tail,它们都是二分变量。



1.2.2  解释变量

核心解释变量是用户经历experience,也即每个用户从注册微信账号之日起至2016年8月1日所经历的时间,以月作为度量单位,精度为0.5月。


由于微信账号本身不能识别国籍(个人信息中的“所在地区”可以任意填写),而所有学员微信绑定的手机号都是中国大陆的号码,加之绝大多数红包领取活动都在同一间教室进行,因而我们能够考察到的唯一的可以对领取金额造成影响的解释变量是手机类型。因此我们选择手机类型作为控制变量iphone。它也是二分变量,如果使用iPhone或者iPad等苹果产品参与领取红包活动,则变量iphone=1;如果使用其它品牌的移动设备,则变量iphone=0。


1.2.3  变量的描述性统计

以上因变量与解释变量的描述性统计结果参见表1。


1.3  一个说明

需要说明的问题是,由于在每一次红包领取活动中,发放的红包个数都是过量的,因此我们的217个观测中没有包含未领取的红包。从表1中可以看出,217次观测中的标准化领取金额为16.516分。在虚拟假设H0:“revenue的均值=16.667”之下做假设检验,得到,因此不能拒绝虚拟假设H0。我们有理由认为,领取的红包与未领取的红包在金额分布上没有显著的系统性差异,从而我们的观测在这种意义上是无偏的。


2.统计分析结果


2.1  LOWESS结果

为了考察因变量(revenue)随着核心解释变量(experience)大致的变化趋势,我们首先绘制了散点图,并使用局部加权散点拟合方法(Locally Weighted Scatterplot Smoothing, LOWESS)添加了拟合曲线。其结果显示在图1中。


由拟合曲线可以看出,revenue与experience之间的关系可以大致以experience=35为界分为两段:在分界点以左,revenue随着experience递增;在分界点以右,revenue随着experience递减。也即如果用户使用时长小于35月,则用户经历越长,平均而言领取的金额数越高;如果用户时长大于35月,则用户经历越长,平均而言领取的金额数越低。


2.2  回归分析结果

LOWESS拟合的曲线显示revenue与experience之间存在一个先增后减的凹函数关系,为了更为准确地研究这一关系,我们考虑添加平方项experience2,进行回归分析。基本回归的方程如下。



在该模型当中,我们只考察experience及其平方项对于revenue的影响。

为了研究手机类型对revenue可能造成的干扰,我们在第2个回归模型中增加了控制变量iphone,模型如下。



表2的第(1)列和第(2)列分别显示了使用最小二乘方法(OLS)对这两个模型的回归结果。Experience平方项的系数为负且在统计上显著,experience项系数为正且在统计上显著,控制变量iphone的加入没有改变这一结果,且控制变量iphone的系数在统计上不显著。这表明revenue与experience之间可能存在一个二次函数关系。根据平方项与一次项的系数,可以估算出由增转为减的拐点位置在experience=33.91(回归(1))或experience=34.28(回归(2)),这与LOWESS的图形也基本吻合。


为了进一步验证这种二次函数关系,我们使用了分位数回归方法(quantile regression),分别取tau=0.25,0.5,0.75。回归结果显示在表2的第(3)列至第(8)列。这6个分位数回归的结果显示,experience平方项系数为负且显著,experience项系数为正且显著,控制变量iphone的加入不改变它们系数的符号和显著性,且iphone的系数本身不显著。由平方项和一次项估算出的拐点位置依次为experience=36.33, 37.88, 30.90, 31.09, 33.17, 33.71。这与OLS的结果以及LOWESS的结果吻合。


2.3 对极端值的分析结果

以上分析主要针对各个解释变量对于标准化领取金额的影响。下面,我们想考察这些解释变量是否会影响在红包领取活动中得到极端金额的可能性。为此,我们引入了2个因变量:lower-tail和upper-tail,它们都是二分变量。如果标准化领取金额小于5分,则lower-tail取1,否则取0;如果标准化领取金额大于或等于28分,则upper-tail取1,否则取0。由于因变量为二分变量,我们使用了Logistic回归方法;回归结果中各解释变量的系数代表了该变量对机会比率(odds ratio)的自然对数的边际影响率。


表3的第(1)列和第(2)列显示了以lower-tail为因变量的logistic回归结果;可以发现,experience及其平方项的系数在统计上与0没有显著性差异,控制变量iphone的系数也不显著。因此这些解释变量对领到极端低值金额的可能性没有显著性影响。


表3的第(3)列和第(4)列显示了以upper-tail为因变量的logistic回归结果;可以发现,experience平方项的系数为负且显著,experience项的系数为正且显著。也即,在用户经历较短的时候,随着experience的增加,在领取红包活动中得到极端高金额的可能性会增加;但是在一个拐点之后,随着experience增加,在领取红包活动中得到极端高金额的可能性会减低。根据系数可以估算出这个拐点的位置是experience=32.60(回归(3))或experience=32.07(回归(4))。控制变量iphone的加入不改变这一结果,而且是否使用苹果设备对于领到极端高金额的可能性没有显著的影响。


该实验引发了以下两个问题:第一个问题是该实验结果的可靠性和稳健性如何?第二个问题是假设该实验结果基本可靠,那么问题可能出在哪个地方? 

在统计学领域,有一条重要的定理有效地推动了理论计量经济学的发展:X和Y相互独立是X与Y条件均值独立的充分条件,X与Y条件均值独立又是X与Y之间线性无关的充分条件。该实验设计的这个微信红包的实验,也很好地体现了这条定理的逆否命题:如果我们发现分配金额(Y)条件于某个X(用户经验)的均值是X的函数(计量结果发现统计上具有显著性),则说明Y和X之间不是独立的,即分配金额并不是随机分配的,而是和用户经验有关。

在我们看来,该实验设计在以下两个方面有进一步改进的空间:


尤其注意:每次领微信红包的顺序



第一,选取的X(用户经验)可能并不是一个很好的解释变量。这项建议主要基于对计算机程序实现“随机分配”的思考。由计算机产生的“随机数”,其实只是“伪随机数”(pseudo random number),因为它仍然来自确定性的序列(由递推公式产生)。以Stata为例,它产生随机数的方式可以用以下公式表示:


其中,mod表示余数。根据每一个余数的值,计算机程序可以进一步分配一个比例,用这个比例乘以红包总金额,即为每个人能够抢到的金额。基于上述原理,我们认为需要尤其注意每次领取微信红包的顺序(每次微信红包发放后可以查询)。根据我们的观察和几个相关领域的学者群反馈,我们认为这个顺序很有可能是相对稳定的,即前一次微信红包发放时抢在前面的人在随后的红包发放中仍然排在前面,并且抢到红包的顺序和金额也可能有相关性。


有几个因素可能造成上述现象:

(一)人们对微信红包的热情。热情高的人每次抢红包时都会集中精力,更容易排到前面;

(二)对微信红包应用的熟悉度。对这个应用越熟悉的用户,越容易抢到前面。

(三)移动运营商的网速。假设中国移动的网速比中国联通快,那么使用中国移动网络的同学在其他条件不变的情形下更容易抢到前面。

(四)是否有辅助应用的帮助。安装了辅助应用(比如“红包神器”)的同学更容易抢到前面。如果参与人每次抢红包的顺序相对固定,则恰好与“伪随机数”产生的余数一一对应,导致的后果就是抢到较大金额的同学会集中在某个范围内。更为关键的是,每次领取微信红包的顺序与用户经验可能是高度相关的,在一定的区间内,随着用户经验的增长,对微信红包的应用更为熟悉,深知抢红包带来的“快感”,越容易抢到前面。因此,用户经验的系数在统计上显著的结果很可能体现的是更为深层次的结果:分配金额与抢红包的顺序显著相关,而这个相关性是由计算机程序生成随机数的方法决定的。基于上述逻辑,我们建议在回归中控制每次抢红包的参与人的顺序,并观察对应的“用户经验”是否仍然显著。


建议进一步扩大样本


第二,样本的数量。我们注意到,参与人只有27位,虽然微信红包的实验重复进行了10次,相当于用Bootstrap的方法增加了样本容量,但总共的观察值也只有270个。更为重要的是,基于我们前面的逻辑,每次抢红包的参与人的顺序可能是比较稳定的,造成了10次实验之间是高度相关的,无法满足基本回归中独立同分布的假设。此外,扩大样本容量能够显著增加每次抢红包的顺序的波动性,增加回归结果的可信性。因此,我们建议进一步扩大样本,观察最初的发现是否仍然成立。

不过该实验至少提出了一个很好的问题,并且至少表明红包金额大小与微信用户使用微信时间长短之间存在非线性的关系,当然这一结果的可靠性和稳健性还需要进一步检验。那么接下来可能需要扩大样本数量来进行该项实验,并且考虑更多的控制变量来进一步证实“微信群聊中发放多个微信红包的情形下,各个红包的金额是否完全随机分配”。如果腾讯研究院能够提供大数据给谢宇教授实验小组或腾讯研究院能够自己来验证,那就更好了,假设在现有技术与数据框架下依然得到“微信群聊中发放多个微信红包的情形下,各个红包的金额并非完全随机分配”这一结论,那么需要怀疑微信红包产生随机数的技术是否存在bug或更深层次的原因了。


注:本评论仅代表个人想法,与作者所在单位没有任何关系,写作时受到多个学者群和朋友群讨论的启发,这里不再一一致谢。

谢宇教授的话


谢谢各位读者朋友的热情关注与讨论!

我只是根据个人的经历提出了个假设,而这一假设,后来发现与我们得到的数据不矛盾。当然,证明这一假设需要更多的数据,但我有很多更重要的工作去做。文章作者是李星宇同学。

我只是觉得有趣,提了个假设而已。其他各界学者会跟进的。



不要问小编看明白了没,我根本就看不懂啊。。。。。。


内容来自|思考着iThink(iThink_1)

作者|李星宇、易行健  边文龙


感谢阅读

本文仅代表作者观点,不代表本平台立场


良心推荐

小编给你精选的好文,你就点点看嘛


原来我也可以申请这些学校ฅ(๑˙o˙๑)ฅ 你也来测测吧

• 5个月满分|大神的GRE复习计划

手把手教你写PS(港校为例)

美国大学所在城市の师兄师姐大吐槽

真实残忍的成长:为何留学第一年就那么拼

我只想过好安静、能罩住家人的后留学生活

常被忽视却可能左右你命运的选因素

比看世界更重要的是怎样去看待世界

   寄托天下微信:gternet  寄托人气论坛:gter.net专注十五载,最有情怀的留学生活交流平台考试 | 留学申请 | 海外生活 | 就业
蓦然回首,你我同为寄托人

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存