用途:针对二值转化结果(转化/未转化)对比两个变体 A 与 B。适合想知道 P(B>A) 与期望损失、希望连续监控而不抬高错误率、两臂样本量不等的场景;需要面向干系人给出“上线 B”“保留 A”或“继续收集数据”的决策框架。
主要能力:使用 PyMC 建立 Beta-Binomial 模型,输出四项决策指标——P(B>A)、期望损失、ROPE(实际等价区间)与决策规则;提供 ArviZ 收敛诊断、MLflow 记录、样本量指引,并可与频率派 z 检验对比。模型以充分统计量四元组输入:n_a、conversions_a、n_b、conversions_b;行级数据可先用 Ibis 聚合。
使用方式:按项目结构 data/、src/(train.py、predict.py、plots.py)、notebooks/demo.py 组织;核心为 pm.Model 中定义 Beta 先验、delta 与 relative_lift 确定性变量、Binomial 似然,再 pm.sample 采样。示例运行:marimo edit --sandbox demo.py。先验可选 Beta(1,1) 无信息、Beta(3,97) 典型网页转化或由矩估计得到。决策时选期望损失较低的一臂;当两个期望损失都极小(<0.0001)视为等价。始终检查 R-hat<1.01、ESS>400,否则增加 draws 与 tune。
适用场景:落地页、邮件、定价、UI 改动的转化率比较。
限制:仅适用于两个变体、二值转化指标;更多变体需扩展为多臂或改用 bandits;连续指标(每用户收入、停留时间)应使用 bayesian-regression 搭配 Normal/LogNormal 似然;需自适应流量分配则用 bayesian-bandits;计数数据改用 Poisson 或负二项似然;不能修正非随机分流带来的选择偏差。