一、 数据盘点
梳理企业目前所拥有的数据资产:crm/广告投放数据/网站、APP用户行为等。归结起来可以得到用户的两类属性:a.偏静态的用户属性,例如人口学属性、资产情况等;b. 偏动态的,最近xx天访问/购买过xx等。这两部分数据构成了上层数据平台的基础。 接着用event模型抽象出两张表User表和Event表,来保存上面的用户数据。 User表,保存用户属性信息:
{
uid: "987654321",
gender: "male",
age: 18,
salary: 1000,
location: "广州"
//等等,表用户属性...........
}
Event表,保存事件信息:
{
time:1555372805,
uid:"987654321",
gps: [118,32],
eventType: "buy",
properties:{
app:"xxx电商平台",
productId: 666,
productPrice:168,
}
}
两张表建立的目的在于存储最原始的用户行为信息:谁在什么时候再什么地方做了什么事。暂时只有用户真实的基础信息和真实行为,还未做进一步的加工和抽象,例如用户兴趣爱好还未加工出来。
二、 标签设计和加工
在设计标签之前,先将用户数据定义为三级(参考adobe设计):
![7fdac1de007c13897935ad19484931c1.png](https://i-blog.csdnimg.cn/blog_migrate/98ed62274517dcb5abe760b105c89ba5.jpeg)
再回到如何建设标签体系上面来,标签体系有三种思路:
1、 结构化标签体系
属于组织较规整,分类明确的体系,通常分为一级标签、二级标签等。
![9023b84841620b37a102f015ed2ea692.png](https://i-blog.csdnimg.cn/blog_migrate/8058b0f05adb467d0aee080a5d7afb19.jpeg)
但是这种分类存在一个问题,兴趣爱好标签是基于用户行为抽象出来的,爱好程度很难衡量。例如对Finance-Investment感兴趣的用户标签可能是这样来的:假如过去一个月浏览Finance-Investment相关新闻的天数大于7天,则打上该标签。至于是选7天,还是15天以上才打上相关兴趣标签,有时候是主观拍脑袋定的,没有统一的标准,也很难衡量其有效性。另外一种方式,就是抓一批种子用户出来,去Lookalike扩展出更多类似用户。 那如何通过上面说的三层定义来去打标签:
Trait: Finance-Investment
公式: select user,count(day) as days from event where eventType='visit' and newPage = 'Finance-Investment' and time past 30 days having days >= 7
在Signal之上,基于一定的统计和条件将用户打上相关标签。其他标签也同样处理,根据不同条件划到不同的标签分类下面。
2、半结构化标签体系
标签有一定的分类,但不会太拘泥于形式。在结构化和非结构化之间做一定的折中。下图为Bluekai聚合多家数据形成的半结构化标签体系。
![929eb12c12928692d60d081dda92f902.png](https://i-blog.csdnimg.cn/blog_migrate/85fb3c254cf6d9a919836c4f510b07e4.jpeg)
同样的,这样的标签可以通过Signal和Trait的组合运算得到。例如Intent类别,可以通过统计Signal,筛选出输入过某关键字的用户。
3、 非结构化标签体系
无层级关系,典型例子如搜索广告。不同行业,用户的行为决策逻辑是不一样的,靠非结构的标签去定向用具体场景下的用户,效果往往更好。具体可参考刘鹏老师的文章,链接在文末。 该类标签也可以用Signal和Trait来圈定。
signal是底层最小信息单元,trait是基于signal抽象的标签,segment 类似优化师投放时的人群包。三层定义非常灵活,不仅可以按结构化去组织标签,也可以半结构化,非结构化。当面对不同的客户时,可以采用不同的组织方式,甚至三种方式并存。
![44b8c8c7063e618cdca02b523b9d422a.png](https://i-blog.csdnimg.cn/blog_migrate/cd9849b316aac17b9f0fc870261d16ff.jpeg)
三、 统计分析和算法
上面是标签体系的设计,下面看看具体如何应用:
![6ff5ed81fb7c48c663f23f8a63b433a8.png](https://i-blog.csdnimg.cn/blog_migrate/85c7f77022fdb50b0aded7eaa1de67a5.jpeg)
从数据源中,可以从行为日志中清洗出events或signals,进一步加工为特征标签trait,或划分出人群包segment,可以结合业务系统中的一些用户属性,例如crm系统。例外还可以加工一张用户宽表(数据仓库中的dws层)。 宽表举例:
![1a881ab7318fbccccca3a2f853b9e64f.png](https://i-blog.csdnimg.cn/blog_migrate/295ab7f1cf781f8d39402c449a3b5517.png)
大家可以根据数据情况来定义宽表,主要目的一可以用于算法模型训练,也可以用户统计分析。
数据经过处理加工后,可以进一步用于算法模型训练、统计分析、画像统计、人群定向服务。统计分析可以根据具体业务场景划分不同数据主题域,向下衍生数据处理需求。
有了丰富准确的人群数据,应用层做起来很容易见效果。
参考资料:
1. adobe dmp, https://marketing.adobe.com/resources/help/en_US/aam/c_aam_home.html
2. 如何设计用户画像的标签体系,刘鹏, http://www.woshipm.com/user-research/1183618.html