题目重点:从双边市场干扰解释为何用 geo×time switchback;定义 session 转化率分子/分母、treatment multiplier、聚类置信区间和 rollout guardrails。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 先澄清 treatment 是改变展示 ETA、改进 ETA 预测,还是实际改变派单使 ETA 变短。这三种处理的因果机制不同;本文训练场景取改变展示 ETA 的乘数,不声称题目指定该干预。
- 实验单位定义为地理区域 g×时间块 t,区块内用户都看到同一个 multiplier;分配前固定 eligible rider sessions 口径,若一次会话中多次搜索,只在会话级记一次是否下单。
- 主要指标 SRC=Σ converted eligible sessions / Σ eligible sessions,分子和分母均可能受 treatment 影响;服务地区、时区、司机供给以及跨区流动要先定义边界。
解题路线
- 先画机制图:展示 ETA→用户预期→是否下单,同时下单改变司机供给与后续真实 ETA;同一区域并行给不同用户分组会相互干扰,因此按地区×时间块整体切换 treatment/control。若干预只是前端展示,干扰仍可能存在于市场平衡。
- 用随机化日历使每个地区在各星期、小时段都见到两种处理,时间块长度要覆盖订单产生和供给反应,切换边界留 washout 或以会话开始时所在块固定归组;跨区会话按预定规则归属。保持 assignment、展示值、真实 ETA、订单及司机供给日志可审计。
- 先定 estimator:分别汇总 treatment 与 control 的 converted 和 eligible,总比值之差或相对提升;不要把每个区块的转化率直接等权平均,除非目标 estimand 明确要区块等权。分母本身可能变,所以同时报告 eligible sessions、流量构成与漏斗各层变化。
- 置信区间不能把同一时空块内的每个 session 当独立样本。可对随机化单元做 cluster bootstrap、随机化推断,或对比值用聚类稳健的 delta method;报告 95% CI、实验单位数、跨块相关和预先定义的最小可检测效应。具体方法取决于块数与分层设计。
- 上线前做 A/A 和日志完整性检查,低比例放量再逐级扩大;主指标之外监控真实等待、取消率、司机接单率/收入、价格、投诉、区域公平性和模型误差。若误导性展示 ETA 抬高短期转化却损害真实体验,应停止。
手动走一遍
例:treatment 有 900 次转化/10,000 eligible sessions,control 有 800/10,000,点估计分别 9% 与 8%,绝对差 1 个百分点。这个差本身不说明显著或可上线;要按 geo×time 区块计算 95% CI,并核查 treatment 是否改变 eligible 分母、取消率及真实等待。数值仅为统计示例,不是题目结果。
规模与取舍
若 G 个地区、T 个时间块,随机化单元约 G×T,推断的有效独立样本量由这些单元和跨时间相关决定,不能用原始 session 数替代。日志处理随会话数 N 线性增长;估计需按块聚合分子/分母,存储量 O(GT),bootstrap B 次约 O(BGT)。
易错点与追问
容易失分的边界
- 只在用户级随机 AB,却忽略司机供给与下单行为在同一区域互相影响,造成处理组与对照组污染。
- 只对转化用户计数、不锁定 eligible session 分母;或简单平均各块转化率,意外改变业务权重。
- 用普通 Bernoulli session 级标准误给 95% CI,忽略 switchback 分组和时间自相关。
- 只看 SRC 上升就全量上线,未检查实际等待、取消及司机侧 guardrails。
继续深挖
- 若 treatment 同时改变真实 ETA 和展示 ETA,如何拆出预期效应与实际服务改善效应?是否需要多臂或阶段实验?
- 地区之间司机跨界接单导致干扰时,怎样调整 geo cluster 或采用边界敏感性分析?
- 如果 treatment multiplier 有多个档位,如何控制多重比较、非线性反应和 rollout 决策?
