收藏本站
51Code Android开发培训Banner
您所在的位置:51Code首页 > 资料精选 > 行业资讯 > 【行业资讯】别人在抢红包,java程序员在研究红包算法

【行业资讯】别人在抢红包,java程序员在研究红包算法

       发布时间:2015年08月07日   12:37分    来源:51Code采编   关键词:java、红包     | 上一篇 | 下一篇 |


  微信红包在羊年春节的火爆程度不言而喻,广告主投入5亿现金红包,与央视羊年春晚独家合作起到了巨大的推动作用。这就像一针大补丸,在短时间内给微信带来了极大的关注度与流量。除夕全天微信用户红包总发送量达到10.1亿次,摇一摇互动量达到110亿次,红包峰值发送量为8.1亿次/分钟。

      抛开微信红包的市场价值不谈,红包本身的算法也引发了热议,由于官方没有给出明确的说法,各家也是众说纷纭,51code为大家带来几种分析。

      首先看看数据分析帝

      大多数人都做出自己的猜测,这也是在不知道内部随机算法的时候的唯一选择,但是大多数人没有给出自己亲自的调查结果。这里给出一份100样本的调查抽样样本数据,并提出自己的猜测。

      1. 钱包钱数满足截尾正态随机数分布。大致为在截尾正态分布中取随机数,并用其求和数除以总价值,获得修正因子,再用修正因子乘上所有的随机数,得到红包价值。

      这种分布意味着:低于平均值的红包多,但是离平均值不远;高于平均值的红包少,但是远大于平均值的红包偏多。

钱包价值与其频率分布直方图及其正态拟合.jpg
图1. 钱包价值与其频率分布直方图及其正态拟合

      但看分布直方图并不能推出它符合正态分布,但是考虑到程序的简洁性和随机数的合理性,这是最合乎情理的一种猜测。

      越是后面的钱包,价值普遍更高

钱包序列数与其价值关系曲线.jpg
图2. 钱包序列数与其价值关系曲线

      从图2中的线性拟合红线可以看到,钱包价值的总体变化趋势是在慢慢增大,其变化范围大约是一个绿色虚线上下界划出的“通道”。(曲线可以被围在这么一个正合乎常规的“通道”中,也从侧面反映了规律1的合理性,说明了并不是均匀分布的随机数)