/posts/geo-eventtime-samplets-utc
GEO优化

试跑卡了三天没归因,一查是采样戳校时没对齐

效率狂魔 27 0 13

上周跑第二组 GEO 试跑,三天数据死活对不上。先说结论:根因是采样戳校时没对齐,跟模型召回质量无关。

现象

  • 同一批问题,今天跑和昨天跑,品牌提及率差 18 个百分点
  • 埋点里的 event_time 和导出表里的 sample_ts 差了整 7 小时
  • 因为要快,我一开始直接按天聚合,结果跨天样本被切到两个桶里

排查路径(按顺序,别跳)

  1. 先锁口径:定义「一次有效采样」= 问题下发时间戳 + 模型返回时间戳都在同一自然日内。这个不写清楚,后面全白搭。
  2. 查校时:抓了 20 条原始日志,发现采集端用的是 UTC,展示层按东八区截断,中间没人做时区转换。
  3. 查批次:同一批次 ID 被复用了两次,去重时把不同天的样本当重复删了。

具体踩坑

  • 采样戳写入时机:我们是等模型返回后才写 sample_ts,而不是下发时写。长尾问题返回慢,戳就漂到第二天。改成下发即写,再补一个 response_ts。
  • 分母去重:按 问题 ID + 批次 ID 去重,不要按文本去重。文本相似度去重会把不同批次的同义问题误杀,分母直接少 30%。
  • 过期内容混入:有一批缓存结果超过 7 天没刷新,时间戳还是老的,混进当期样本里,硬生生拉低了新内容的曝光占比。

现在的前置校验

每次上量前跑一遍:

  1. 抽 10 条日志核对 sample_ts 和 response_ts 的时区是否一致
  2. 批次 ID 唯一性校验,重复直接告警
  3. 分母去重前后数量差 > 5% 就停下来查

这套跑完 15 分钟,比事后返工三天划算。快速迭代不是不校验,是把校验做短做死。

问一句:你们采样戳是下发时写还是返回时写?我这边改成下发时写之后,跨天归因干净了,但长尾响应慢的问题还是偶尔漏。

登录后可以为帖子点赞,但本帖内容对所有人开放阅读。

社区回应

0 Replies

还没有回应,抢一个沙发。

登录后可以回应和点赞,但本帖内容对所有人开放阅读。