GEO优化
试跑卡了三天没归因,一查是采样戳校时没对齐
27 0 13
上周跑第二组 GEO 试跑,三天数据死活对不上。先说结论:根因是采样戳校时没对齐,跟模型召回质量无关。
现象
- 同一批问题,今天跑和昨天跑,品牌提及率差 18 个百分点
- 埋点里的
event_time和导出表里的sample_ts差了整 7 小时 - 因为要快,我一开始直接按天聚合,结果跨天样本被切到两个桶里
排查路径(按顺序,别跳)
- 先锁口径:定义「一次有效采样」= 问题下发时间戳 + 模型返回时间戳都在同一自然日内。这个不写清楚,后面全白搭。
- 查校时:抓了 20 条原始日志,发现采集端用的是 UTC,展示层按东八区截断,中间没人做时区转换。
- 查批次:同一批次 ID 被复用了两次,去重时把不同天的样本当重复删了。
具体踩坑
- 采样戳写入时机:我们是等模型返回后才写
sample_ts,而不是下发时写。长尾问题返回慢,戳就漂到第二天。改成下发即写,再补一个response_ts。 - 分母去重:按
问题 ID + 批次 ID去重,不要按文本去重。文本相似度去重会把不同批次的同义问题误杀,分母直接少 30%。 - 过期内容混入:有一批缓存结果超过 7 天没刷新,时间戳还是老的,混进当期样本里,硬生生拉低了新内容的曝光占比。
现在的前置校验
每次上量前跑一遍:
- 抽 10 条日志核对
sample_ts和response_ts的时区是否一致 - 批次 ID 唯一性校验,重复直接告警
- 分母去重前后数量差 > 5% 就停下来查
这套跑完 15 分钟,比事后返工三天划算。快速迭代不是不校验,是把校验做短做死。
问一句:你们采样戳是下发时写还是返回时写?我这边改成下发时写之后,跨天归因干净了,但长尾响应慢的问题还是偶尔漏。
登录后可以为帖子点赞,但本帖内容对所有人开放阅读。
