采集数据为什么突然涨 & 早报"未发"数准不准

Akke 内部数据核查 · 2026-05-31(数据为当日约中午的快照)· 数据来源:service-role 直查生产库(跨全部 org,与早报 scrape-digest-daily 同口径)
一句话结论:5/30 的视频/评论/高意向相比前一天涨了约 3–4.5 倍,是真实的,但不是有那么多新客户——而是 #65「评论覆盖度修复」把回看窗口从 24h 拉到 7 天后,一次性把过去几天漏抓的旧评论补了进来(5/30 入库评论里 63% 是 3 天前发布的,5/31 更高达 77%)。数字没有重复计算膨胀,可信。而且这波补漏还没排完,5/31 的量比 5/30 还高。早报"未发 backlog"我也复算并核了真伪:5/30 有 高 103 / 中高 276 人未发,其中真正已联系过的只有各 4 人(约 2%)——也就是说 backlog 几乎没虚高,是实打实没人碰的高意向需求,而且正随补漏快速堆积。

这是个什么类型的问题,在 Akke 哪个环节

这不是"采集坏了"或"数据错了",而是两件事叠在一起的 数据可观测性 / 指标口径问题

它落在整条链路的「观测 / 报表层」——横跨在"分析产出"和"运营触达决策"之间,本身不产生业务数据,只汇总它们给人看。所以问题不在采集或分析的正确性,而在怎么把它们的产出讲清楚

采集源
source_accounts
采集 Worker
videos · comments
#65 改这里
分析 LLM
intent_label/score
运营触达
ADB/WDA · conversations
📊 观测 / 报表层 · 每日 07:30 采集快照(scrape-digest-daily)
汇总上面 2~3 环节的产出 → 推 Lark · 本次两个疑问都出在这一层的「展示口径」
问题在这里被看到

今天你问的 4 个问题

昨天视频数和高/中/低意向评论为什么比前天高不少?
→ #65 扩窗后的补漏,相比前一天约 3–4.5 倍,且仍在进行,见「为什么涨」。
这些数据是否正确?
→ 正确,无重复计算膨胀;口径是"按入库时间统计采集量",见「数据准不准」。
无关评论现在怎么处理?
→ 两层过滤(规则预筛 + LLM 打"无关"标签),5/30 有 82% 评论是无关,已被挡在 leads 之外,见「无关评论」。
早报说的"昨天没发的高/中意向各多少"准吗?
→ 准(5/30 高 103 / 中高 276 人),且只有约 2% 是已联系过的——基本没虚高,见「未发 backlog」。

1 · 为什么 5/30 突然涨

1368
5/30 新视频
▲ 4.5×(5/29 是 305)
5505
5/30 新评论
▲ 3.8×(5/29 是 1465)
135
5/30 高意向评论
▲ 2.9×(5/29 是 46)
3488
其中 3–7 天前的旧评论
占当日 63%

每日采集量对比

日期新视频新评论高意向中意向低意向无关未分析
5/279041545170184115
5/2814879830859456425
5/2930514654610214511684
5/3013685505135434426449515
5/31(到中午)3831583014842441248460

注:5/27 的"无关"只有 11、占比极低,与后几天(数千)明显不符,疑似当天评论尚未被分析环节充分打标(intent_label 还没刷上),把 5/27 当基线要打个问号;做倍数对比时用 5/29 当"前一天"最稳。

关键证据:入库评论"有多旧"

按"评论入库时刻 − 评论发布时刻"分桶。日常 60–80% 是当天发的;5/30 起一大半是 3 天前的——这正是"回看 7 天补漏"的指纹。

日期当天(<24h)1–2 天3–7 天无发布时刻3 天以上占比
5/29936128401027%
5/3015584593488063%
5/31(到中午)103431044721477%
修正一个我自己先前的误判:补漏不是"一次性、正在排空",而是还在进行、甚至在加速5/31 到中午就已经有 5830 条评论、3831 个视频(都超过 5/30 全天),其中 3–7 天前的旧评论占到 77%。说明 #65 的"近 7d 视频持续复扫 / 回看 7 天"还在源源不断地把历史评论灌进来。预计要等历史窗口被吃透后才会回落到新稳态(叠加每视频抓评上限 20→50 带来的持续抬升)。具体几天能排完,需要再观察。
时间线提醒:#65 是 5/30 21:37 部署的,只覆盖 5/30 最后约 2.4 小时。一次全量刷新(每个活跃源回看 7 天 × 每视频最多 50 条)短时间灌进数千条旧评论是合理的;5/30 大涨可能还叠加了 5/29 那次数据修复(127 个孤儿源 + 1072 视频回填进主 org,让更多源活了过来)。两推手难以百分百拆分。

2 · 这些数据正确吗

正确,且没有重复计算膨胀。评论入库虽是 INSERT,但有两道去重:同批内存去重 + 入库前查 DB 已有的 (内容, 作者) 再跳过。所以"反复复扫同一批视频"不会把同一条评论重复插进去,涨上来的不是水分。

所以"数字对不对"的答案是:作为采集量它准确无误;只是别读成"昨天新冒出这么多买家"。

3 · 无关评论现在怎么处理

  1. 规则预筛(便宜):同行报价号、纯 emoji、@AI 这类明显噪音,直接跳过,不送 LLM。
  2. LLM 打标:剩下的由分析环节打 intent_label,判为「无关」的留库存档(供审计),但不进 leads、不进 backlog、不生成话术
实际占比很大:5/30 的 5505 条评论里,无关 4495 条 = 82%,低意向 426 条。真正进入"值得触达"漏斗的高+中意向只有 569 条(10.3%)。说明过滤层在正常工作——绝大多数噪音被挡在了运营视野之外。

4 · 早报"昨天没发的高/中意向"准吗

早报口径:昨日入库、已打分、状态还停在 analyzed/queued、按 douyin_user_id 去重。我用完全相同的逻辑复算(约中午快照,可能略低于 07:30 卡片值,因为期间运营又联系了一些人):

日期高意向"未发"(人)中高"未发"(人)
5/30103276
5/31(到中午)138338

原始口径下,5/30 有 103 个高意向 + 276 个中高意向用户"还没发"。注意这是"昨日入库且还没发",不是历史全部积压。随着补漏带进大量旧的高意向评论,这个待发池也跟着被撑大了。

"未发"里有多少其实已经联系过

分档(5/30)未发(人)已联系(权威·status=contacted)虚高比例
高意向 ≥801034约 4%
中高 70–792764约 1.4%
合计3798约 2%
结论:backlog 基本没虚高。用权威信号(该用户名下有评论被标成 contacted,即 mark-contacted 真写回过)核查,379 个"未发"用户里只有 8 个(2%)其实已经联系过。换句话说,这 103/276 几乎全是真没人碰过的高意向需求。作为佐证:5/30 全部高+中意向评论按状态分是「待发 389 / 已联系 53 / 已跳过 52」——只有约 12% 的高价值需求被实际行动了。
顺带纠正一个会骗人的口径:如果用"该用户是否有会话记录(conversations)"来判定"已联系",会得到 103/103 全命中的荒谬结果——因为会话在触达之前就被建成空壳了(每个被分析的用户一个),所以"有会话"≠"已联系",不能拿来做去重判断。真正可信的只有 status=contacted
另一块仍查不到的残差:若运营手机发了 DM 却完全没跑 mark-contacted,库里零痕迹,无法识别——这部分只会让"真没碰过"更少,不会更多。

结论 & 建议

  1. 5/30 的涨是预期内的补漏,数据可信,不用担心采集出错;但补漏仍在进行,未来几天采集量会持续偏高,之后回落到比 5/29 略高的新稳态。
  2. 真正要警惕的是堆积:backlog 基本没虚高,意味着补漏带进来的 100+ 高意向 / 270+ 中高意向是真需求且没人碰,且每天还在加。当前只有约 12% 被实际行动——这是运营触达产能的问题,不是数据问题。建议按"近 6h 优先 + 高意向优先"消化,别让高意向冷掉。
  3. 报表口径建议改两处(都在观测层,不动采集/分析):
    • 采集快照同时标出"当天新增 vs 历史补漏"(按 comment_time 拆),扩窗/补数时一眼看出是不是水分。
    • "未触达 backlog"判定只认 status=contacted,不要用"有会话"(会话是空壳,会把数字算成 0 待发)。
  4. 运营动作:发完 DM 立刻 mark-contacted 是去重闭环的命门,漏标会同时污染 backlog 和去重黑名单。
数据:service-role 直查生产库(库内 23,365 条评论已确认连通)· 复算脚本 scripts/_verify-spike-real.ts(只读,_ 前缀,gitignored)· 口径对齐 src/app/api/cron/scrape-digest-daily/route.ts · 相关改动 #65(commit 3f67206,2026-05-30 21:37 部署)
生成于 2026-05-31(中午快照)· 本页为内部数据解释,非对外案例页。