本书可以帮助读者在用户画像领域形成一个体系化的思维,在面对一个具体项目时不会无从下手。
如何建立标签指标体系?
指标体系中包含哪些标签?
如何设计存储画像标签的表结构?
如何开发标签?
画像系统中涉及哪些数据存储工具?
如何打通标签数据到服务层?
如何对画像系统进行监控?
如何对整个画像系统进行调度?
如何使用画像系统服务于业务场景驱动增长?
这些都是画像系统的子模块。
第1章 用户画像基础
1.1 用户画像是什么
用户的一切行为在企业面前是"可溯""分析"的。企业内保存了大量的原始数据和各种各样业务数据,这是企业经营活动的真实记录。随着大数据技术的深入研究与
应用,企业的关注点日益聚焦在如何利用大数据来为精细化运营和精准化营销服务,而要做精细化运营,首先要建立本企业的用户画像。
1.1.1 画像简介
用户画像,即用户信息标签化,通过收集用户的社会属性,消费习惯,偏好特征等各个维度的数据,进而对用户或者产品特征属性进行刻画,并对这些特征
进行分析,统计,挖掘潜在价值信息,从而抽象出用户的信息全貌。用户画像可以看做企业应用大数据的根基,是定向广告和个性化推荐的前置条件,为数据驱动
运营奠定了基础。
从基础设施建设到应用层面,主要有数据平台搭建及运维管理,数据仓库开发,上层应用的统计分析,报表生成及可视化,用户画像建模,个性化推荐与
精准营销等应用方向。
很多公司在大数据基础建设上投入很多,也做了不少报表,但业务部门觉得大数据和传统报表没什么区别,也没能体会大数据对业务有什么帮助和价值,
究其原因,其实是"数据静止在数据仓库,是死的"。
而用户画像是帮助大数据"走出"数据仓库,针对用户进行个性化推荐,精准营销,个性化服务等多样化服务,是大数据落地应用的一个重要方向。数据应用
体系的层级划分如下:
1.基础平台搭建:数据平台建设,数据仓库建设,统一SDK
2.报表可视化:可配置数据报表以及报表的可视化展现
3.产品运营与分析:自助提取数据,报表分析工具
4.精准化运营工具:用户行为分析,用户画像,数据挖掘,个性化推荐
5.战略决策:决策支持
1.1.2 标签类型
用户画像建模其实就是对用户"打标签",从打标签的方式来看, 一般分为3种类型:
1.统计类标签
这类标签是最为基础也最为常见的标签类型,例如,对于某个用户来说,其性别,年龄,城市,星座,最近7日活跃时长,近7日活跃天数,近7日
活跃次数等字段可以从 用户注册数据,用户访问,消费数据中统计得出。该类标签构成了用户画像的基础。
2.规则类标签
该类标签基于用户行为及确定的规则产生。例如,对平台上"消费活跃"用户这一口径的定义为"近30天交易次数 >= 2"。在实际开发画像中,
由于运营人员对业务更为熟悉,而数据人员对数据的结构,分布,特征更为熟悉,因此规则类标签的规则由运营人员和数据人员共同协商确定。
3.机器学习挖掘类标签
该类标签通过机器学习挖掘产生,用于对用户的某些属性或某些行为进行预测判断。例如,根据一个用户的行为习惯判断该用户是男性还是女性,
根据一个用户的消费习惯判断其对某商品的偏好程度。该类标签需要通过算法挖掘产生。
在项目工程实践中,一般统计类与规则类标签即可以满足应用需求,在开发中占比较大。机器学习挖掘类标签多用于预测场景,如判断用户性别,用户购买
商品偏好,用户流失意向。一般的,机器学习标签开发周期较长,开发成本较高,因此占比小。
1.2 数据架构
在整个工程化方案中,系统依赖的基础设施包括 Spark,Hive,HBase,Airflow,MySQL,Redis,Elasticsearch。除去基础设施外,系统主体还包括
Spark Streaming,ETL,产品端 3个重要组成部分。
下发虚线框中为常见的数据仓库ETL加工流程,也就是将每日的业务数据,日志数据,埋点数据等经过ETL过程,加工到数据仓库对应的 ODS层,DW层,DM层。
中间的虚线框即为用户画像建模的主要环节,用户画像不是产生数据的源头,而是基于数据仓库ODS层,DW层,DM层中与用户相关数据的二次建模加工。在ETL
过程中将用户标签计算结果写入Hive,由于不同数据库有不同的应用场景,后续需要进一步将数据同步到MySQL,HBase,Elasticsearch等数据库中。
Hive:存储用户标签计算结果,用户人群计算结果,用户特征库计算结果;
MySQL:存储标签元数据,监控相关数据,导出到业务系统的数据;
HBase:存储线上实时调用类数据;
ElasticSearch:支持海量数据的实时查询分析,用于存储用户人群计算,用户群透视分析所需的用户标签数据(由于用户人群计算,用户人群透视分析的条件
转化成SQL语句多条件嵌套较为复杂,使用Impala执行也需要花费大量时间)。
用户标签数据在Hive中加工完成后,部分标签通过Sqoop同步到MySQL数据库,提供用于BI报表展示的数据,多维透视分析数据,圈人服务数据;另一部分标签
同步到HBase数据库用于产品的线上个性化推荐。
1.3 主要覆盖模块
搭建一套用户画像方案整体来说需要考虑8个模块的建设:
1.用户画像基础
需要了解,明确用户画像是什么,包含哪些模块,数据仓库架构是什么样子,开发流程,表结构设计,ETL设计等。这些都是框架,大方向的规划,只有
明确了方向,后续才能做好项目的排期和人员投入预算。这对于评估每个开发阶段重要指标和关键产出非常重要。
a) 用户画像是什么
1.画像简介
2.标签类型
b) 数据架构
c) 开发流程
d) 常见表结构设计
1.日增量数据
2.日全量数据
2.数据指标体系
根据业务线梳理,包括用户属性,用户行为,用户消费,风险控制等维度的指标体系。
a) 用户属性维度标签
1.常见用户属性
2.用户性别
b) 用户行为维度标签
c) 用户消费维度标签
d) 风险控制维度标签
e) 标签命名方式
3.标签数据存储
标签相关数据可存储在Hive,MySQL,HBase,Elasticsearch等数据库中,不同存储方式适用于不同的应用场景。
a) Hive 存储
1.分区插入数据
2.标签 ID-Maping
b) MySQL 存储
1.元数据管理
2.标签量级监控
3.结果集存储
c) HBase 存储
d) Elasticsearch 存储
4.标签数据开发
用户画像工程化的重点模块,包含统计类,规则类,挖掘类,流式计算类标签的开发,以及人群计算功能的开发,打通画像数据和各业务系统之间的通路,
提供接口服务等开发内容。
a) 统计类标签开发
b) 规则类标签开发
1.数据调研
2.确定业务规则
c) 挖掘类标签开发
d) 流式计算标签开发
1.读取kafka数据
2.标签开发
3.上线工程化
e) 打通数据服务层
5.开发性能调优
标签加工,人群计算等脚本上线调度后,为了缩短调度时间,保证数据的稳定性等,需要对开发的脚本进行迭代重构,调优。
a) 数据倾斜调优
b) Spark 读取小文件调优
c) 使用 Spark 缓存
d) 减少 Shuffle 类算子
e) ID-Mapping 映射
f) 开发中间表
6.作业流程调度
标签加工,人群计算,同步数据到业务系统,数据监控预警等脚本开发完成后,需要调度工具把整套流程调度起来。讲解Airflow这款开源ETL工具在
调度画像相关任务脚本上的应用。
a) Crontab 命令调度
b) Airflow 工作平台
1.Airflow 服务构成
2.主要功能模块
3.工作流调度
4.常用命令
c) 标签数据监控预警
d) ELT 异常排查
7.用户画像产品化
为了能让用户数据更好的服务于业务方,需要以产品化的形态应用到业务上。产品化的模块主要包括 标签视图,用户标签查询,用户分群,透视分析等。
a) 标签视图查询
b) 标签编辑管理
c) 自定义配置查询
d) 多维透视分析
e) 目标人群固定
8.用户画像应用
画像的应用场景包括 用户特征分析,短信,邮件,站内信,Push消息的精准推送,客服针对用户的不同话术,针对高价值用户的极速退款等VIP服务。
a) 经营分析
1.商品分析
2.用户分析
3.流量分析
b) 精准营销
1.短信/邮件营销
2.ROI效果分析
c) 个性化推荐与服务
1.Push消息
2.相关商品推荐
3.用户个性化服务
1.4 开发阶段流程
1.4.1 开发上线流程
第一阶段:目标解读
在建立用户画像前,首先要明确用户画像服务于企业的对象,再根据业务方的需求,明确未来产品建设目标和用户画像分析之后的预期效果.
一般而言,用户画像的服务对象包括运营人员和数据分析人员.不同业务方对用户画像的需求有不同的侧重点,就运营人员来说,他们需要分析用户的特征,
定位用户行为偏好,做商品或内容的个性化推送以提高点击转化率,所以画像的侧重点就落在了与欧诺个户个人行为偏好上;就数据分析人员而言,他们需要分析
用户行为特征,做好用户的流失预警工作,还可以根据用户的消费偏好做更有针对性的精准营销.
第二阶段:任务分解与需求调研
经过第一阶段的需求调研和目标解读,我们已经明确了用户画像的服务对象与应用场景,接下来需要针对服务对象的需求侧重点,结合产品现有业务体系和
"数据字典"规约实体和标签之间的关联关系,明确分析维度。就后文介绍的案例来看,需要从用户属性画像,用户行为画像,用户偏好画像,用户群体偏好画像
等角度去进行业务建模。
第三阶段:需求场景讨论与明确
本阶段,数据运营人员需要根据与需求方的沟通结果,输出产品用户画像需求文档,在该文档中明确画像应用场景,最终开发的标签内容与应用方式,并就
该文档与需求方反复沟通并确认无误。
第四阶段:应用场景与数据口径确认
经过第三个阶段明确了需求场景与最终实现的标签维度,标签类型后,数据运营人员需要结合业务域数据仓库中已有的相关表,明确与各业务场景相关的
数据口径。在该阶段中,数据运营方需要输出产品用户画像开发文档,该文档需要明确应用场景,标签开发的模型,涉及的数据库与表以及应用实施流程。
第五阶段:特征选取与模型数据落表
本阶段中数据分析挖掘人员需要根据前面明确的需求场景进行业务建模,写好HQL逻辑,将相应的模型逻辑写入临时表中,并抽取数据校验是否符合业务
场景需求。
第六阶段:线下模型数据验证与测试
数据仓库团队的人员将相关数据落表后,设置定时调度任务,定期增量更新数据。数据运营人员需要验收数仓加工的HQL逻辑是否符合需求,根据业务需求
抽取表中数据查看是否在合理范围内,如果发现问题要及时反馈给数据仓库人员调整代码逻辑和行为权重的数值。
第七阶段:线上模型发布与效果追踪
经过第六个阶段,数据通过验收之后,会通过Git进行版本管理,部署上线。使用Git进行版本管理,上线后通过持续追踪标签应用效果及业务方反馈,
调整优化模型及相关权重配置。
1.4.2 各阶段关键产出
画像体系的开发分为几个主要的阶段,包括前期指标体系梳理,用户标签开发,ETL调度开发,打通数据服务层,画像产品端开发,面向业务推广应用,为
业务方提供营销策略的解决方案等。
1.标签开发
根据业务需求和应用场景梳理标签指标体系,调研业务上定义的数据口径,确认数据来源,开发相应的标签。标签开发在整个画像项目周期中占比较大的
比重。
任务名称:
性别标签开发;
会员标签开发;
活跃度标签开发;
RFM标签开发;
...
任务内容:
数据调研,熟悉数据字典,开发标签(包括统计类,算法类,实时类的标签)
重点内容:
数据调研,和业务方确认数据口径,标签开发上线。初期上线满足应用需求。
2.ETL调度开发
梳理需要调度的各任务之间的依赖关系,开发调度脚本及调度监控告警脚本,上线调度系统。
任务名称:
任务依赖关系梳理;
监控脚本开发;
调度脚本开发;
上线调度系统;
任务内容:
梳理各任务之间的依赖关系;
开发标签监控,人群计算监控,服务层监控等相关脚本;
根据梳理的各任务间的调度依赖,开发调度流脚本;
调度流脚本上线调度试运行/正式运行;
重点内容:
满足定时调度,监控预警,失败重试,各调度任务之间的复杂依赖关系。
3.打通服务层接口
为了让画像数据走出数据仓库,应用到用户身上,需要打通数据仓库和各业务系统的接口。
任务名称:
push系统业务对接沟通;
外呼系统业务对接沟通;
广告系统业务对接沟通;
客服系统业务对接沟通;
...
任务内容:
画像人群数据和push系统的打通方案,开发方式确定;
和外呼团队了解外呼业务场景,确定打通方式;
和广告团队了解目前的广告场景,确定打通方式;
和客服团队确定系统打通方式;
...
重点内容:
打通数据仓库数据和各业务系统之间的通路,提供稳健的服务。
4.画像产品化
需要产品经理与业务人员,技术开发人员一起对接业务需求点和产品功能实现形式,画产品原型,确定工作排期。Java Web端开发完成后,需要数据开发
人员向对应的库表中灌入数据。
任务名称:
产品经理与业务人员,技术开发对接沟通;
Java Web端开发;
产品上线;
任务内容:
确定产品功能,画原型,明确开发排期;
开发测试,内测;
通知各业务方使用产品;
重点内容:
产品交互友好,能支持到业务方对用户进行分析,精细化运营的需求。
5.开发调优
在画像的数据和产品端搭建好架构,能提供稳定服务的基础上,为了让调度任务执行起来更加高效,提供服务更加稳健,需要对标签计算脚本,调度脚本,
数据同步脚本等相关计算任务进行重构优化。
任务名称:
标签脚本,调度脚本的重构优化;
任务内容:
梳理现有标签开发,调度,校验告警,同步到服务层等相关脚本,明确可以优化的地方,迭代优化;
重点内容:
减少ETL调度时间,降低调度时的资源消耗。
6.面向业务方推广应用
用户画像最终的价值产出点是业务方应用画像数据进行 用户分析,多渠道触达运营用户,分析ROI,提升用户活跃度或营收。因此,面向业务人员推广画像
系统的使用方式,提供针对具体业务场景的解决方案显得尤为重要。在该阶段,相关人员需要撰写画像的使用文档,提供业务支持。
任务名称:
写画像使用文档;
提供业务支持;
任务内容:
面向数据分析师,业务人员等群体撰写详细的画像使用文档,包括相关表及元数据,产品使用手册等;
针对业务场景,为业务方提供画像解决方案;
重点内容:
帮助业务人员将画像数据应用到业务中去,提高用户活跃度,提高GMV。
1.5 画像应用的落地
画像开发过程中,还需要开发人员组织数据分析,运营,客服等团队的人员进行画像应用上的推广。对于数据分析人员,可能会关注用户画像开发了哪些表,
哪些字段及字段的口径;对运营,客服等业务人员来时候,可能更关注用户标签定义的口径,如何在Web端使用画像产品进行分析,圈定用户进行定性营销,以及应用
在业务上数据的准确性和及时性。
1.6 某用户画像案例
1.6.1 案例背景介绍
1.6.2 相关元数据
1.6.3 画像表结构设计
1.7 定性类画像
本书重点讲解如何运用大数据 定量刻画用户画像,然后对用户的刻画除了定量维度外,定性刻画 也是常见手段。定性类画像常见于用户研究等运营类岗位,通过
电话调研,网络调研问卷,当面深入访谈,网上第三方权威数据等方式收集用户信息,帮助理解用户。这种定性类调研相比大数据定量刻画用户来说,可以更准确的了解
用户需求和行为特征,但这个样本量有限。