同一个号码在TG筛开通与TG筛活跃中出现不同结果,不一定是谁“测错了”。两项任务回答的问题不同,执行时间也可能不同;号码重分配、格式转换、空值解释和UserID映射冲突都会制造表面矛盾。排查时应先重建证据链,而不是覆盖其中一张Excel。
先确认比较的是不是同一个问题
| 任务 | 主要字段 | 观察重点 |
|---|---|---|
| TG筛开通 | 手机号、是否开通 | 本次任务的开通状态 |
| TG筛活跃 | 手机号、UserID、用户名、离线时间、活跃天数、姓名、VIP、冻结 | 账号与活动相关字段 |
筛活跃表中某列为空,不等于筛开通的“未开通”;两个状态不能直接互换。
第一步:对齐检测时间
比较两张表的checked_at与batch_id。账号状态可能变化,两次任务相隔越久,差异越可能是真实时间变化。不要用今天的活跃结果覆盖数月前的开通观察,应同时保留并标明时间。
第二步:回到phone_raw
检查两批是否使用相同国家码、是否多保留国内前导0、是否被Excel科学计数法截断,以及去重规则是否一致。只比较标准化后的号码会隐藏上游差异,所以phone_raw和normalization_rule必须可追溯。
第三步:检查连接键
若团队用手机号、TG UserID和contact_id混合连接,两张表可能实际对到了不同记录。一个号码对应多个UserID、一个UserID出现在多个联系人或映射值变化时,都应进入冲突队列,不能自动选择“最新的一条”。
第四步:区分空值、未知和错误
- 空值:字段没有返回;
- 未知:任务无法形成明确结论;
- 错误:格式或处理发生异常;
- 明确否:任务确实返回否定状态。
很多“结果不一致”只是导入脚本把前三种都写成了false。
只重跑有原因的记录
把差异按原因分组:时间差、格式差、连接冲突、unknown/error和真正状态变化。修正转换或导入规则后,只重跑受影响子集并生成新batch_id。全量重跑会让审计线索消失,也无法证明问题已经解决。
TXT和Excel怎样保留证据
爱普筛只接收一行一号的TXT,任务完成后导出对应Excel。企业内部应保存源文件哈希、任务名、行数、转换规则和contact_id映射;姓名、订单和整张CRM不需要上传。返回表先进入暂存区,再生成对比报告。
不要把技术差异升级为营销结论
即使最终确认号码已开通且近期活跃,也不能推出真实身份、购买意向或联系许可。Telegram官方Spam FAQ提醒,陌生人不欢迎的消息仍可能被举报和限制。
排查完成的标志不是两张表被强行改成一致,而是每个差异都有类别、证据、负责人和处置结果。开通与活跃本来就是不同观察;让差异可解释,比让数字相同更加重要。
