从零搭建一套DMP用户画像标签系统-业务逻辑
DMP(Data Management Platform)数据管理平台,是把分散的多方数据进行整合纳入统一的技术平台,并对这些数据进行标准化和细分,让用户可以把这些细分结果推向现有的互动营销环境里的平台。
用户画像,作为一种勾画目标用户、联系用户诉求与设计方向的有效工具,将用户的每个具体信息抽象成标签,利用这些标签将用户形象具体化,从而为用户提供有针对性的服务。
DMP要求对所有数据进行清洗整理,方便使用;其主要的业务实现方式就是通过打标签来形成用户画像。
标签体系
第一步是标签系统,标签系统是用来为满足某些特征的人群做标记用的,一个人身上可以有很多标签,我们就是根据这些标签来描绘这个人或人群的用户画像,为业务提供更精准的人群。
搭建标签体系需要从分类开始,标签又可以分为很多种类型,可以分的很细,这里我们只从业务角度出发,简单的分一下类,满足基本的核心需求。
用户标签:这些信息是用户最基本的信息,例如,性别、年龄、地区、学历、注册时间、是否结婚等等。
行为标签:用户的一些可统计的基本行为,例如,7日活跃次数、30日购买次数、90日浏览次数、180日关注次数、90日消费金额等等。
偏好标签:时间偏好、商品偏好、品类偏好、店铺偏好等等,通过统计用户行为后按照规则进行判断分类。
预测标签:通过用户行为数据,运用协同过滤算法、回归算法等等对用户进行行为预测。如果公司业务数据量级不大,这类标签会用的比较少,带来的效果也不一定有明显提升。
接下来将各类标签根据业务需要分成不同的标签分类,形成标签树。下面简单举一些电商场景的例子
创建标签的时候每个标签都会有规则,只需要根据业务场景提取规则就可以了;这里可以支持手动添加标签并设置规则;一些其他业务系统的规则可以直接当做标签使用,比如会员等级就可以不用添加规则,直接调相关信息作为用户属性标签使用。
用户分群
接下来是第二步,用户分群,运用标签来圈选人群,找到我们想要的人群。下面是达摩盘的界面可以参考下:
选择人群主要是两个点,第一是标签的使用;第二个是人群的排序。
标签在使用的时候可以选择多个标签,可以为“且”或者“或”的关系,通过多个标签定位我们想要的人群。在标签不能完全满足我们的需求时也可以支持标签加自定义规则来筛选人群。
对于人群的排序,因为满足我们条件的人群数量可能过多,也可能过少;为了取到合适的数量需要进行人群扩展或者减少。
当人群数量少于我们的预期时,可以扩展人群,一种办法是产品方面,通过程序算法扩展人群数量,比如常见的协同过滤算法。另一种办法是从业务上,新增标签或者调整规则使数量增加。两种办法都可以,一般后者更常见,效果也不错。
当人群数量高于我们的预期时,可以通过砍掉多余数据,优中选优。原理是将人群中每个个体进行打分,然后排序,根据需求的数量选择顺位高的截取就可以了。
打分的时候考虑权重和时间因素。不同标签之间的权重这里可以通过业务方式控制标签规则,使不同标签之间比较均衡;当然也可以程序算法可以解决,但是我一般还是选择业务的方式开发和操作成本更低,更能容易找准需求。相同标签之间可以用出现的频数来作为权重,例如购买口红5次、购买口红10次,权重就可以为5和10。
另外还要考虑权重的时间因素,可以用程序控制权重按照时间衰减,加一个时间衰减系数就行,但是不方便按照业务精细化的操作,比较抽象。所以用另外一种方式,在每个标签上加上时间周期限制,例如90天内购买口红次数;这样只需要通过调整规则来实现需求,更加具体。
最后一步就是将圈选的人群和相关的业务系统对接,例如常见的有push推送、电销、广告位、商品推送等等。这里比较简单,根据自身的业务来设计流程就好了,就不多讲了。
这里在导入业务系统后,可以对不同的人群效果进行统计,方便运营在下次使用时对比使用效果。
这套业务流程基本上可以套用大部分的dmp系统了,只需要根据业务需要来调整各部分的流程就可以了。
我自己做过的一个大数据dmp系统的业务流程和这个差不多,第一步是需求方上传需要的标签;第二步是通过上传的标签和库里的实际标签进行正则匹配,得到能使用的标签;然后在库里开始跑数据;第三步是根据跑数据后的预览结果对数量进行调整,主要是通过调整标签来进行;调整后导入不同的业务平台开始使用数据。