每年618和双11前两周,推荐系统团队常做一次全链路压测。2023年某服饰电商在9月20日做压力测试:把排序服务的QPS从日常的1200拉到8000。结果发现两个坑:第一,召回池里下架商品占比从0.3%涨到4.1%;第二,特征落库延迟从90秒恶化到11分钟。记住三个数字:召回覆盖商品数、特征新鲜度、排序耗时P99。
先说数据常识。商品表里有个"上架状态"字段,推荐侧缓存12小时。压测当天有236个商品在中午12点被运营手动下架,缓存没失效,排序模型照样打分。常见错误是只在离线评估里看AUC,不看线上召回池的脏数据比例。建议每天凌晨2点跑一次"下架商品混入率"检查,阈值设0.5%。
排序模型方面,某3C平台2022年用了双塔召回加LambdaRank排序。他们踩的坑是:训练样本用曝光日志,但曝光日志只记录前3页商品。结果模型学到的"不点击"样本有73%来自第1页。修正办法是加位置偏置特征,并做逆倾向加权。实操步骤:(1)导出14天日志;(2)按位置分桶统计点击率;(3)给第2页以后样本乘1.8到3.2的权重;(4)重训后看NDCG@10变化。
数据统计要盯分布而不是均值。2021年某生鲜平台发现排序CTR从6.2%掉到5.7%,均值看起来只降0.5个百分点。拆开看:一线城市降0.2%,三线城市降1.9%。原因是三线城市新上线的"次日达"标签把配送时效特征带偏了。常见错误是只用大盘均值做监控,建议按城市等级、用户活跃度、品类三个维度做交叉分桶,每桶样本少于5000时报警。
概率角度讲个案例。某美妆电商做A/B实验,实验组CTR 5.8%,对照组5.5%,看起来涨了0.3个百分点。用两比例Z检验,样本各40万,p值0.031,显著。但他们的错误是跑了7天才看结果,期间做了3次中期窥探。按序贯检验校正后p值变0.11,结论翻转。建议:实验前定好样本量和最短运行天数,中期窥探用Alpha Spending,别在第3天就下结论。
模型评估别只看离线指标。2023年某图书平台离线NDCG@10从0.41提到0.46,上线后人均点击反降2.1%。排查发现:新模型偏好推长尾书,但长尾书封面图缺失率18%,用户看到灰图不点。修正步骤:(1)补齐封面图;(2)加"图片完整度"特征;(3)离线评估加一个"可展示率"门槛,低于95%的item降权。离线涨点不等于线上涨点,中间隔着展示质量。
最后给一组可执行检查清单。大促前T-14天:跑召回池脏数据比例,阈值0.5%。T-10天:重训排序模型,检查位置偏置加权是否生效。T-7天:按城市等级做分桶监控,每桶样本下限5000。T-3天:冻结特征口径,禁止改埋点。T-1天:确认A/B实验的序贯校正参数。每个检查项写进值班表,出问题15分钟内能定位到具体环节。