真实面经题目 · 原创解析
A/B Test 中遇到异常值时,如何判断、处理并保证实验结论可靠?
这题考实验分析中的稳健性和业务判断。异常值不能简单删除,要先区分数据错误、埋点问题、作弊攻击、真实重尾用户和实验策略造成的极端变化,再按预先规则处理并报告敏感性结果。
真实面经题目 · 原创解析
这题考实验分析中的稳健性和业务判断。异常值不能简单删除,要先区分数据错误、埋点问题、作弊攻击、真实重尾用户和实验策略造成的极端变化,再按预先规则处理并报告敏感性结果。
A/B Test 中遇到 outlier,第一反应不应该是删掉,而是先判断异常值的来源和它对实验结论的影响。异常值可能是数据质量问题,例如重复上报、金额单位错误、退款未抵扣、机器人流量或埋点 bug;也可能是真实业务现象,例如高价值用户、大额订单、节假日峰值、商家爆单;还可能是实验策略本身带来的结果,例如新补贴策略吸引了大额订单。如果不区分来源,随意删除可能把真实效果删掉,也可能让错误数据污染结论。 处理流程可以分为四步。第一,做数据诊断,检查指标分布、分位数、箱线范围、极端样本占比、分组是否均衡、异常是否集中在某个渠道、城市、版本或时间段。第二,做归因,结合日志、订单链路、埋点口径和业务事件判断异常属于数据错误、异常流量、自然重尾还是实验影响。第三,按预先定义的规则处理。数据错误应修复或剔除;作弊和机器人应按风控规则过滤;真实重尾可以用 winsorize、trimmed mean、log 变换、分位数指标、bootstrap 或非参数检验;如果异常是策略效果的一部分,就不能简单去掉,而要分层解释。第四,做稳健性分析,同时报告原始结果、处理后结果和关键分层结果。 成熟的回答还要强调实验规范:异常值规则应尽量在实验前写入分析方案,不能看到结果后选择对自己有利的处理方式。对于 GMV、客单价、交易额这类重尾指标,可以预先使用用户级聚合、截尾均值或 CUPED 等方法降低方差。最终结论要说明处理规则、受影响样本比例、主结论是否改变和业务解释。
异常值可能来自埋点错误、重复数据、作弊流量、极端真实用户或实验策略本身。不同来源对应完全不同处理方式,不能一看到极端值就删除。
需要看分位数、极端值占比、均值与中位数差异,以及异常是否集中在某个实验组、渠道、城市、设备版本或时间窗口。集中性往往能帮助定位根因。
异常处理最好在实验方案中提前规定,例如金额超过 P99.5 做 winsorize、机器人流量按风控名单过滤、埋点错误按质量规则剔除,避免事后选择性处理。
交易金额和 GMV 天然重尾,直接比较均值可能非常不稳定。可以使用截尾均值、缩尾、log 变换、分位数指标、bootstrap 置信区间或用户级聚合提升稳健性。
最终要同时说明原始结果、处理后结果、处理样本比例和结论变化。如果结论只在某一种异常处理规则下显著,就要谨慎上线并继续补充证据。
不能直接删除。要判断它是否是数据错误或作弊,还是实验策略真实带来的变化。如果是策略吸引的大额用户,删除会低估效果,应分层解释并做稳健性分析。
winsorize 是把超过阈值的值压到阈值上,保留样本但限制影响;trim 是直接剔除超过阈值的样本。二者都要提前定义阈值并报告敏感性。
说明效果可能由少数高值样本驱动。需要看业务是否接受这种收益结构,并补充分位数、用户分层、重尾稳健指标和大额样本真实性验证。
数据质量问题通常能在日志、埋点、单位、重复记录、支付退款链路或风控标记中找到异常证据;真实 outlier 虽极端,但业务链路和记录应自洽。