课程项目 / 概率论
Reverse Engineering the Mechanism of WeChat Red Envelope
一个基于受控微信红包实验数据的概率建模与统计检验项目,用于比较候选金额分配机制。
SI140A Probability Theory · 课程项目 · 上海科技大学 · 2026 年 1 月
SI140A
项目概述
该项目研究能否从真实实验观测数据中反推出微信红包的概率分配行为。在受控数据采集协议下,我们收集红包金额分配记录,对经验分布进行可视化,设计候选概率机制,并通过正式的拟合优度检验比较仿真机制与观测数据的一致性。
摘要
- 该项目被整理为概率建模与统计推断研究,而不是普通编程作业展示。
- 通过经验直方图、箱线图和散点图分析不同领取顺序及总体样本的分布模式。
- 候选机制通过蒙特卡洛仿真生成理论频率,再与真实分配频率进行统计检验。
- 分析结果表明,Twice-as-the-Mean 机制更接近观测到的微信红包行为。

实验设置
固定总金额
每个红包的接收者数量
受控实验轮数
金额分配观测值
方法设计
项目方法结合了经验可视化、解析机制设计、基于仿真的近似分布估计和假设检验。目标不是完全复刻微信内部实现,而是判断哪个透明的概率模型与收集到的证据最一致。
方法
数据处理与可视化
- 将分配记录整理为按领取顺序划分的样本和总体样本。
- 使用直方图、箱线图和散点图总结经验分布特征。
方法
候选机制设计
- 构造在不同领取顺序上具有相同期望的分配规则。
- 推导并验证候选机制的期望与方差性质。
方法
蒙特卡洛仿真
- 在每个候选机制下生成合成红包分配样本。
- 估计理论频率分布,用于与真实数据进行比较。
方法
KS 与卡方检验
- 使用 Kolmogorov-Smirnov 检验比较样本分布差异。
- 在合并低期望频数区间后使用卡方检验比较频率。
方法
模型比较
- 综合比较检验统计量、p-value 和可视化分布差异。
- 选择与观测数据更一致、偏差更小的候选机制。
候选模型
项目主要检验了两个候选机制。这里保留核心建模思想,不在网页中完整复刻报告中的公式推导。
模型
Gamma-Dirichlet Split
- 通过 Gamma / Dirichlet 构造采样金额分配比例。
- 使用集中参数控制方差,同时保持目标期望。
- 解析性质较清晰,但拟合后的分布与真实数据存在显著差异。
模型
Twice-as-the-Mean Mechanism
- 按顺序分配金额,每一步的随机上界为当前剩余均值的两倍。
- 在不同领取顺序上维持近似相同的期望金额。
- 自然产生后续领取者方差更大的现象,与经验观察更一致。
核心发现
经验分析与仿真检验共同指向一个清晰结论:Twice-as-the-Mean 机制更接近观测到的微信红包分布,而 Gamma-Dirichlet Split 在可视化和统计检验上都显示出明显偏差。
模型KS p-value卡方 p-value解释
Gamma-Dirichlet Split5.23e-62.75e-69显著偏离
Twice-as-the-Mean0.08698.75e-11更接近经验分布
结论
- 不同领取顺序的期望金额大致相近,总体经验均值为 4.00 RMB。
- 后续领取者呈现更大的方差,并更容易出现较大的高金额观测值。
- Gamma-Dirichlet Split 在两种统计检验下都与真实频率存在显著差异。
- Twice-as-the-Mean 在 5% 显著性水平下通过 KS 检验,且卡方偏差明显小于 Gamma-Dirichlet Split。
- 后续探索包括 user-specific allocation mechanisms 和 fairness-aware red envelope designs。
我的贡献
贡献
- Derived and verified the expectation and variance of candidate mechanisms.
- Organized and coordinated the experiment.
- Contributed to part of the implementation.
- Verified simulation results and statistical conclusions.
可视化
以下图片从课程报告中的图表提取并重新设计为适合网页展示的版本,保留总体直方图和按领取顺序划分的箱线图分析,而不是直接展示整页 PDF 截图。


链接
完整报告包含详细推导、仿真代码片段、统计检验与附录材料。由于没有提供公开代码仓库,因此网页中不添加虚假的代码链接。
PDF 作为原始课程报告提供;作品集页面本身有意不展示队友学号等不必要的个人标识信息。