在人与人打交道的过程中,我们会在有意无意间给周围的人通过贴标签的方式进行大致的判断,比如好说话的、难相处的、聪明的、爱热闹的……贴标签就是用最快的速度将人和事归类,这是人类运用“模式识别”认识世界、进行社会交往最便捷的方式之一。
而在企业的数字化转型过程中,搭建标签体系也早已不是什么神秘的事情。在数字经济时代的今天,各行各业都早已意识到了数据的重要性,开始挖掘数据的价值。标签体系,正是将数据承载的信息和价值进行了具象化的呈现。通过采集用户在产品中的使用痕迹,进行标签分析、客户洞察,再落地到实际的企业精细化运营过程中去。可以说,标签是从实际业务场景出发,解决实际的业务问题的一个过程。
然而,落地到标签体系实际的设计与落地中来,却并不是那么简单,一蹴而就的事情。很多人都在做,却从第一步开始就做错,更不用说能带来真正的价值。那么到底应该如何应用和理解标签体系,这个系列将结合数雁的项目交付经验进行详细的讲解,今天先来聊聊标签的设计与加工,一般需要经过以下几个步骤:
· 标签体系设计
· 标签模型设计
· 标签加工与更新
· 标签应用
标签服务于业务应用场景,好的标签体系设计能够让业务人员在使用时随需随取,及时查询出需要的数据,就算不具备这个标签,业务人员也可以自己快速加工出来,无需寻求数据开发人员的帮助。那需要做到
·标签类目划分合理
·标签涵盖的数据源丰富,标签完善
·后续扩展性高,即基于基础标签加工出新的标签时,方便快捷
标签体系的设计一般会按照以下步骤:
根据现有业务背景,以及数据,梳理出大概的标签体系。如企业一般数据大概来源于这几部分:
● 用户基础数据
用户ID、性别、年龄、手机号、邮箱、身份证号、会员等级等基础信息。
● 业务交易数据
如在零售领域,用户发生的每一笔交易都会有记录,如下图:
● 用户行为数据
如用户在APP、PC、小程序等的浏览、点击、收藏、评论行为,可反映出用户的行为特点。
● 活动/积分数据
会员商城的cha会员等级、积分兑换等数据。
● 售后投诉数据
客户投诉、售后处理等数据。
基于对数据的梳理,可进行标签基本体系的梳理,梳理出一部分有价值的标签。
OLP模型是目前比较通用的建立标签体系的模型,OLP指“实体-关系-属性”模型,用下方场景举例:
· 实体:指对象,如人、书籍、门店等,可针对每个实体建立一套标签体系
· 属性:实体带的特征,如人有性别、年龄属性,书籍有价格、内容属性,门店有售卖渠道、地址位置等属性,属性是一种类型的标签
· 关系:通过动作产生关系,如基于购买动作,人和书籍产生关系,基于这个动作可产生消费时段偏好、支付方式偏好等标签
基于该模型,对标签进行查漏补缺,梳理出标签类目与标签。
· 标签中文、英文名:标签的中文名称、英文名称
· 标签所属类目:标签所属一级、二级、三级类目
· 标签类型:根据不同维度的划分,采用其中一种。比如统计类标签、预测类标签、自定义标签等,亦或是原子标签、衍生标签、组合标签、算法标签等
· 标签值定义:定义每个标签的标签值,如“近一个月买入金额区间”标签,可根据购买金额的区间段定义“零/低端”、“普通”、“中端”、“准高端”、“高端”等标签值
· 标签含义(描述):描述该标签业务含义,如“最近30天的购买商品的金额区间,对用户消费力进行评估”
· 标签业务口径:标签以哪个数据定义为准,如“用户活跃城市”标签,以用户购买次数最多的城市为口径加工,而不是浏览次数、评论次数等
· 标签技术口径:描述该标签从哪个表的哪个字段取值,SQL取数逻辑是什么
· 业务方来源:该标签的业务需求方是谁
· 标签更新周期:描述标签更新频次,天(如T+1、T+2等)、周、月、小时、分钟更新等
· 标签更新优先级:同一时间端跑多个标签时,若资源有限,先跑优先级高的标签
基于以上工作,最终得出一份标签体系表,以这份表和业务方最终确认标签划分、标签与标签值、标签加工口径是否有疑义,没问题,便可进入标签开发环节。
进入具体开发之前,需考虑标签模型层设计,在数仓加工出来哪些数据,标签产品加工哪些数据。标签模型依旧遵循数仓建模的“ODS-DWD-DWS-ADS”分层设计,基于DWD、DWS层抽象一层标签模型层,加工标签基础标签,届时在标签产品上让业务人员通过规则可加工生成新的标签。
一般遵循“公共层数据”、“大数据量计算”的标签放在数仓中数据开发写SQL实现,“通过规则可定义”、“标签规则经常修改”的标签在标签产品中配置。数仓一般实现:
包含基础属性数据、基础指标(指标也可以作为一种标签,如最近30天购买金额、最近30天访问次数等),这些数据不仅给标签系统用,也可以给BI报表、数据门户使用,所以放在数仓中加工表。
● 基础信息类标签
● 交易类标签
● 行为类标签
如计算历史最高花费金额、商品的历史最高库存、累计消费金额、用户排序等,这些标签的计算基于的数据量大,最好放在hive中跑批上线。
在数仓中加工好标签基础表,这些表中的标签一般称之为原子标签,再将该表对接标签产品,在标签产品中进行衍生类、组合类标签加工。
基于标签模型的设计,一部分基础指标类的标签在数仓已建设完成,一部分标签需要在产品界面上实现。我们接下来看下业务人员如何在袋鼠云标签产品「客户数据洞察平台」中配置标签。
假设一个电商类客户,需要建立一套用户标签体系,则首先创建“用户”实体对象,并在实体对象下接入标签多张基础表,如用户基础信息表、用户行为事件的指标表等,这些表的字段可作为原子标签直接使用,也可作为后续加工衍生、组合标签的基础。
同时,在后续加工衍生标签时,在某些场景上会用到多个实体下的原子标签加工,这时候可以用“关系”将2个实体关联起来,如将“用户”实体与“书籍”实体通过用户表的“最近购买商品ID”、以及书籍表的“书籍ID”关联起来,便可以用到2个表的字段进行某个标签的加工,如下图:
从标签基础表中读入原子标签,进行原子标签的元数据管理。
读入原子标签时,有些字段可能存储的是编号或一些枚举值,但业务人员需要看到具有真实业务含义的值,此处可做一层字典值映射。比如将“省市编号”映射为具体的省市名称。
基于接入的数据表的原始字段和原子标签,通过“且、或”关系、“求和、去重计数、计数、最大值、最小值、均值”聚合函数、“等于、不等于、小于、小于等于、大于、大于等于、包含、不包含等”操作符,对源表字段进行加工,生成衍生标签。
如基于用户访问次数、交易次数,加工“用户活跃度“衍生标签,包含“高活跃”、“一般活跃”、“睡眠状态”标签值,对用户活跃度进行衡量。
除通过可视化规则加工标签外,也会开放SQL界面写SQL加工标签,因为在实际场景中,客户场景不尽相同,有些复杂标签需要SQL快速实现,在产品界面上也可直接操作。
同时,虽然产品上会开放基于函数计算的标签加工、SQL类的标签加工,但还是会建议客户将公共层的指标类标签、及复杂类标签放在数仓中实现,以使标签配置这层轻量,届时进行数据跑批时快速。
基于原子标签和衍生标签,可进行组合标签的创建,如基于最近交易时间、最近1年交易次数,最近1年交易金额区间这3个标签,加工“用户综合价值”组合标签,将客户分为“低价值用户”、“一般保持用户”、“重要发展用户”等。
· 实时标签:如基于用户实时行为数据通过Flink引擎计算实时标签,如用户点击APP上的一个商品广告,且加入购物车,判断该客户属于“某类型商品感兴趣用户”,作为客户短期兴趣标签。
· 算法标签:如基于用户的基金交易行为,预测该用户属于追涨、杀跌、高抛等哪种类型的客户,作为客户的风险偏好标签。
最终将这些实时与算法标签的元数据可统一接入标签平台统一管理。
标签逻辑创建好之后,同时配置标签的更新周期、更新优先级,进行标签的定时跑批、手动跑批等。
作为「全链路数字化技术与服务提供商」,袋鼠云一直致力于为客户提供有价值的、全链路的数据服务,也希望通过更加优质的数据产品和服务助力企业数智化“蝶变”。全新升级的数据智能分析与洞察平台——数雁EasyDigit,包含客户数据洞察平台DataTag、指标管理分析平台EasyIndex。
其中,客户数据洞察平台,即标签体系构建与客户画像洞察平台。通过标签萃取、标签治理、客群圈选、画像分析、数据服务,构建以业务价值为导向的标签体系与多样化群组,深度掌握客户特征,应用于企业运营与营销,支撑商业化分析,驱动业务增长,让企业海量数据不再孤立无用,无形的数据创造无限的价值。
原文来源:VX公众号“数栈研习社” ,开源项目库地址:https://github.com/DTStack