问题的回答。
个性化推送通知需要严格的准实验方法,原因在于用户在活跃时间的自我选择。通过社交网络或家庭账户可能出现的交叉污染进一步增加了隔离效果的难度。
关键方法是差异中的差异(DiD)与合成控制。控制组是基于用户打开应用程序的时间和历史订单模式通过倾向得分匹配建立的。
为了调整时间段效应,采用按时区分层。交叉污染通过分析设备 ID和IP 地址检测以查找共享账户。
留存率指标被计算为使用Cox比例风险模型的风险比。这样可以考虑到审查数据和流失风险的不均匀性。
生活中的情况
在应用程序Delivery Club中,计划使用Python的ML模型与CatBoost来个性化推送通知的发送时间。问题在于,活跃用户主要在午餐时间打开应用,造成自我选择偏差。
20%用户的部分推出引发了“口耳相传”的效果。控制组的用户从同事那里获知促销活动,这导致了交叉污染。
第一个考虑的解决方案是经典的A/B测试与地理分组。城市A为测试组,城市B为对照组。
这种方法的优点包括组的纯粹隔离和结果对业务的简单解释。缺点则在于城市间的烹饪偏好和收入差异,这造成了基准留存率的偏差在12-15%。
第二个选项是仅分析已启用通知的用户(协议分析)。这允许专注于对通信作出反应的目标受众。
优点是对产品团队的高度相关性。缺点是忽略了选择性退出偏差的效果:关闭通知的用户具有3倍以上更高的基准流失率,这扭曲了干预的整体效果。
第三个解决方案是Google的因果影响方法,采用合成控制的构建。使用贝叶斯结构时间序列来建模反事实。
优点包括考虑时间趋势和季节性而无需显性控制。缺点是对协变量选择的高度敏感以及在干预前平行趋势假设的脆弱性。
最终选择了混合方法:逆概率加权(IPW)用于根据用户活跃时间调整自我选择,加上差异中的差异,并在地理组层面集聚标准误差。
这一解决方案保持了发送时间的个体变异性,这是个性化的关键。同时,通过群体稳健性控制组间的关联数据。
结果显示7天留存率的真实增量效果为+8.3%。简单比较显示+15%。该效果仅在“历史中有3+次订单的用户”组中具有统计显著性。
这使得预算优化推送,排除了冷用户从个性化广告系列的目标受众中。
候选人常常遗漏的
如何在计算订阅产品的LTV预测时正确考虑季节性,同时存在群体异质性?
初学者通常使用简单的历史留存曲线平均,而不考虑在黑色星期五期间到来的用户具有完全不同的留存特征。其流失率是有机用户的2-3倍。
正确的方法是为每个群体建立单独的BG/NBD或Gamma-Gamma模型,考虑季节性虚拟变量。另一种选择是使用基于群体的LTV,结合贝叶斯分层建模来借用群体间的力量(部分汇聚)。
在评估入门ツール效果时,intent-to-treat (ITT) 和 treatment-on-the-treated (TOT) 分析之间有什么区别,何时应用哪种方法?
ITT分析测试组中所有用户接受入门的效果(offer),包括拒绝者。TOT测量直接经历入门ツール的效果(合规者平均因果效果)。
ITT较为保守,适用于关于功能扩展的商业决策。它反映了考虑摩擦后观众的实际行为。TOT需要工具变量,回答强制入门的合理性。
选择方法的错误会导致效果的过高估计40-60%。对于TOT,可以使用展示入门的随机错误作为工具(instrument)。
如何诊断A/B测试时出现的“peek”问题,并应用哪些统计调整?
Peek发生在测试提前停止并达到显著性时。诊断是分析p值随时间变化:对于peek,曲线显示出“平滑游荡”,并频繁交叉0.05的阈值。
解决方案包括使用组序列测试与alpha支出函数(O'Brien-Fleming)。替代方案是贝叶斯A/B测试,采用ROPE(实际等价区)方法。
通过Apache Airflow的数据质量门固定样本大小也十分有效。关键错误是使用未经调整的朴素置信区间,而没有Bonferroni调整,这会将假阳性率抬升至25-30%(在5次中间检查时)。