数据仓库知识点之One-ID介绍
基础解释
ID-MAPPING:是基于操作ID进行打通映射,找到唯一标识ID的一种手段。简单说,就是把不同来源(不同设备,不同APP,不同应用等)的数据,通过一系列技术手段或者方法映射成同一个对象的过程。
ONE-ID:ONE-ID主要解决孤岛数据的链接问题,将实际实体的行为关系通过顶层的ONE-ID进行孤岛串联,就能打通不同用户,不同实体之间的所有跨端、跨APP、跨平台之间的孤立状态,ONE-ID本质是一种桥梁关系,核心基础就是ID-MAPPING。
主账号:一般在公司核心产品中或者一个对应的应用APP中,一个用户可能有多个账户,其中用户主要通过该账号进行的平台活动视为该用户的主账号,主账号的识别规则根据具体的业务应用来定,每个应用根据自己业务的不同,识别主账号的逻辑和规则也不近相同。
相关数据采集来源:
ID-MAPPING主要解决什么问题?
主要是消除统一用户的重复问题,提高数据准确性。解决了上述数据孤岛的问题,同时为不同/相同设备在相同/不同应用之间的切换提供同一个用户空间实体,进而进行业务上的一些策略实施。
技术原理
在日常的工作中,实现实体ID也就是实现ONE-ID体系的构建主要是有以下几种方案,一般的,我们都需要以当前业务形态为切入,来作为业务视角的主要切入id来对其他的ID顺次的进行关心打通,所以总体方案上是有ID在策略上的权重之分的。
如上图所示,一般是基于实际场景,根据注册的应用id为切入id,然后按着对应的标识权重,对所有相关的ID进行映射打标,最终基于所有的ID分配全网或者全局唯一的用户ONE-ID,而实现该过程最核心的就是进行idmapping映射。
常见的几种方式
(1)基于应用注册账号体系构建: 一般的,现有企业都是根据当前业务的注册账号为做主ID进行关联账号的打通,例如,某APP的注册用户id,很多做法是按着该id为分析主题,强关联打通用户对应的设备,手机号登信息,冗余一个实际用户多个账号。甚至基于该账号分配one-id。而有的则是基于此在上层继续聚合(识别同人账号),将多账号的人聚合起来给一个对应的id,作为唯一oneid标识。
(2)基于注册账号+设备信息构建:现在主流的全ID打通方式,将所有注册id和设备相关的id全部采集,利用规则+算法的能力构建挖掘对应的映射关系对,从而进行唯一id的标识和分配。
(3)基于纯设备号来构建:基于用户的终端设备id,来唯一标记唯一id。在一些传统的互联网例如搜索等主要还是通过设备账号来构建one-id体系。
ID-MAPPING实现的两种途径
1.基于ID关联的模糊匹配
原理:以主要的应用账号为主要的id,通过手机和邮箱(有身份id更好)作为桥接ID,对其余id进行简单关联和规则过滤,类似聚类和减枝的操作,然后将关联部分的id进行抽取打标,分配统一的id作为ONE-ID。
方案优缺点:
(1) 需要有明确注册流程信息采集,并且能容忍误差。
(2)基于简单的关联和基本的聚类,无法避免大量稀疏设备的孤岛效应。
(3)方法简单,使用去规模不大要求不高的场景。
2.借助于图计算将用户的账号id和关联关系构建图,运用规模图计算的框架来进行处理
基本过程是将用户的id信息作为节点,能关联产生的关系作为边:
规则约束和阈值:
(1)通过规则保留必须要保留的账号信息,例如一些关键的应用账号,会员账号肯定是不能被弱化和丢弃的。
(2)对于一些权重较低的孤立节点,可以根据行为信息,进行一定的聚类和规则匹配,选择是过滤还是去掉。
(3)id-mapping映射之后,同一个全局实体id是分配得到的,通过联通图算法,对一个联通链路的数据所有id进行唯一one-id的分配,在构图过程中,会对一些关键的id进行有限节点权重的分配,便于进行子图的聚类和联通图算法的高效查找。
使用场景
1.one-id服务:通过算法构建全oneid之后,会提供分片服务的方式对外提供服务接口。
2.营销圈人:为了提高圈人的效率和质量,有时候会基于唯一自然人id进行人群全选,在同一个oneid之下,对对应的账号进行投放。
3.社群发现和行为网络挖掘:通过ip-mapping,构建的oneid体系能对全网,全端设备进行人群层面的分析和挖掘,参考社交一些app。
相关的图算法库
- Python nextworkx
- Sparkgraphx
- neo4j
- Google graph开源项目
- ...