首先从前向的用户体验下手,一个普通用户,从微信群聊天框功能菜单中使用红包功能即可进入群红包设置界面(更新后,操作简便,过程更流畅),且默认是拼手气玩法(群红包核心玩法,有趣且互动性强),另外可以选择普通红包(金额不随机)。用户填充相应的数字,编写祝福语,完成支付即可发送红包到群里,和朋友拼手气开抢。



图1:红包金额时序分布和升序处理
图1中的上图,是实验1最原始的数据,按时序记录每一个被领取的红包金额。红色线为均值,可以直观看出,领取红包的金额和领取时间没有严格关联性(后文进一步举例说明这点,网传领取时间越靠后金额越大)。单对金额项进行升序处理,得到下图,金额小于均值的红包数量与大于均值的红包数量大致相同(实际为:19:22),且曲线比较线性(低于均值部分的曲线和均值线、坐标轴围成的形状与高于均值的情况比较吻合)。
(备注:记录操作原因,图1中图表横坐标数字越大表示领取红包时间越早!后文类似图表寓意相同,不在说明)

图2:频次统计直方图
用均值4分的区间去统计金额出现的频次,得到更能体现random概率的图2。出乎意料的是,图2反映出在紧邻均值的两个区间的频次统计居然是最少的,金额从少到多的频次统计大致出现先减后增的情况。

图3:频次统计散点图和多项式曲线拟合
用多项式曲线拟合,顺序值为6,可以得到图3。Totally是一个反正态模型(楼主自己脑补的词,嘿嘿)。有人会好奇尾部的缺陷,那是因为楼主将最后包含2倍均值的区间拆成两部分。如果合起来,整个曲线会更加接近“倒钟型”。

图4:红包金额时序分布和升序处理
图4采用图1相同的处理方法,得出来的图形也基本和图1类似。

图5:频次统计直方图
进入频次统计,又是让楼主受jing的节奏,这一眼看去,有几分正态分布的趋势。除了中间有一个偏差较大的凹陷(为紧邻均值的高区间)。

图6:频次统计散点图和多项式曲线拟合
多项式曲线拟合之后,可以看到一个类似有着大σ的正态分布的曲线。(一万头神兽在楼主心中奔跑,→_→)。
两个实验却得出相反的结论,在纠结之前,我们不妨先回头拆分一下拼手气红包的可能性以及相关的用户体验。
- 以上是关于random模型的一些分析和猜想,接下来网上还流传一个说法,抢红包的先后会影响金额的大小。为此楼主拿出13个同类型的实验数据来观察:

楼主将每次拼手气红包中的最佳手气数据标为白底色,可以明显看出13个实验里面,各个领取时间的最佳手气数量无明显差异,且可以看出似乎每个拼手气的最佳落在哪个时间是有一定变化规律的。
反过来想,抢红包的时间普遍在10秒以内,如果用时间来控制最佳手气的产出,那这样做的意义有多大呢?
用户掌握之后施行的操作成本又有多高?毕竟微信团队还是信奉“在你身边,为你设计”。
最后补充一个小细节,同等网络情况下(相同局域网但排除手机硬件问题),发包者总是可以抢到红包。而且在抢红包高峰时候依然成立。
如果这个现象是确实存在,楼主猜测红包random的过程是在客户端完成。发包者填充好各类信息之后确定发送,客户端执行random算法,配置各类数据然后发送到服务器(服务器直接收总金额、数量和random后的红包list),再转发到其它客户端配置显示相应的红包。而发包者无需后面一步,本地random完直接显示即可点击拆包,自然会比其它用户快一截。
如果真的是这样,那能否修改客户端的一些算法,识别出list中哪个红包最大,并默认发包者可以抽到这个。
原创文章,作者:Smiler李想,如若转载,请注明出处:https://www.iamue.com/4087/