V3.0 全新发布 · 分布式去重引擎
全部文章

精选博客

全球号码数据库去重系统:库和比对为什么必须在一起

说明全球号码数据库去重系统为什么不能把“存号”和“洗名单”拆成两套工具,以及国家码、历史库和任务结果如何共用同一套键。

64 次浏览
全球号码数据库去重系统全球号码去重号码数据库

跨境团队常会先买一个“洗表工具”,再另搭一个通讯录或 CRM 存号。用几个月后会发现:洗过的名单和库对不上,英国号、泰国号各有各的写法,重复触达并没有下降。 全球号码数据库去重系统 要解决的,就是把“存”和“比”收成同一套键,而不是两个互不认识的文件柜。

操作层的国家码问题见 全球号码批量去重。下面写系统为什么必须一体,以及一体之后最小要具备什么。

拆开的后果:洗得越勤,库越脏

两套工具拆开,典型路径是:

  1. 运营用洗表软件出一份“已去重 csv”
  2. 有人再手工导入 CRM / 网盘里的总表
  3. 下次采购包又用洗表软件,但底库还是上次那份总表的原文

中间丢了三样东西:规范化规则版本、来源批次、以及“当时为什么判重复”。下一次文件里的 +66 8xxxxxxxx 和库里的 08xxxxxxxx 对不上,系统会当成新号放行。钱照花,投诉照来。

全球场景下这个问题更重:同一人在不同渠道包里的国家码写法本来就不统一。没有共享的键,数据库只是在堆字符串。

一体系统里,键只生成一次

全球号码数据库去重系统的主路径应当是:

新文件 → 按任务默认地区规范化 → 得到键 → 文件内去重 → 对库去重 → 通过号可选择写入底库

库里 unique 的是键,不是用户看见的那一格。每条记录仍保留 raw、region、source、rule_version,事后才能解释结果。表怎么拆,见 号码数据库系统怎么设计;格式规则怎么做,见 全球号码去重系统开发

“数据库”两个字在这里不是营销词。没有可回滚的底库,去重系统每次都从零开始,做不到全球业务要的那件事:今天的英国包,不要打到上个月已经加过 WhatsApp 的同一批号。

全球,指的是规则和地区参数,不是把所有数字压成一串

一体系统里最容易写错的,是用一套长度假设伺候所有国家:

  • 已带 + / 00 的号,以号码自带地区为准
  • 没带的,才用任务级默认地区去补
  • 前导 0、号长、国家码位数按地区元数据走,不要全球删 0

默认地区必须写在任务上,并出现在导出里。同一天跑英国包和东南亚包,是全球号码数据库去重系统的常态,不是例外。

结果必须能回答“撞了哪类历史”

跨境投放的人对账需求很具体:

  • 这份名单文件内部重复多少(渠道质量)
  • 撞了成交客户多少(保护)
  • 撞了近 90 天已触达多少(省通道费)
  • 格式异常多少(要不要退款或重采)

一个布尔值“重复”回答不了。系统要把文件内重复、历史重复、异常分开,历史重复最好能带到来源类型(客户 / 投诉 / 某批次采购),而不是把整库展示给销售。

规模上来之后,一体仍然比“先洗再导”便宜

名单到百万、千万,拆开的两套工具会在导入环节翻倍:洗一次写一份文件,再导入一次写一份库,规则还可能在两次之间被改掉。一体系统里解析、规范化、比对、写库是同一任务的不同阶段,失败可按批次撤。吞吐和存储布局见 亿级号码怎么做到秒级去重

第一版不必上分布式。先保证全球规则、底库和任务结果共用键。分布式是量上来之后的事。

常见问题

已有 CRM,还要全球号码数据库去重系统吗?

CRM 管的是人和跟进状态,不是全球号码写法。可以对接:去重系统出通过号,再写入 CRM。不要让 CRM 的“手机号字段去重”承担国际号规范化。

多国家能不能各建一套库,最后再合并?

短期能跑。一旦出现同一号在两个国家包里、或号码没标地区,合并会变成二次清洗工程。更稳的是一套库、任务级地区、键全局唯一。

从哪看库和比对在同一个后台里长什么样?

在线 Demo 看导入、状态和导出。按自己的全球底库部署,联系 Telegram @imchat。架构分层见 底层架构