1.⽤户画像:⽅法论与⼯程化解决⽅案---⽤户画像基础
本书可以帮助读者在⽤户画像领域形成⼀个体系化的思维,在⾯对⼀个具体项⽬时不会⽆从下⼿。
如何建⽴标签指标体系?
指标体系中包含哪些标签?
如何设计存储画像标签的表结构?
如何开发标签?
画像系统中涉及哪些数据存储⼯具?
如何打通标签数据到服务层?
如何对画像系统进⾏监控?
如何对整个画像系统进⾏调度?
如何使⽤画像系统服务于业务场景驱动增长?
这些都是画像系统的⼦模块。
第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等数据库中。
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 案例背景介绍大数据etl工具有哪些
1.6.2 相关元数据
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论