用户画像项目规划
用户画像是数据仓库上的一个应用方向,针对用户个性化推荐,精准营销,个性化服务等多样化服务,对数据应用体系层级划分:
1.1 标签类型
-
1.统计类标签
此类标签是最为基础也最为常见的标签类型,例如,对于某个用户来说,其性别,年龄,近7天活跃时长等字段可以从用户注册数据,用户访问,消费数据中统计得出。 -
2.规则类标签
该类标签基于用户行为以及确定的规则产生。例如,对平台上的“活跃用户”这一口径的定义为:近30天交易2次以上。在实际的开发画像过程中,由于营业人员对业务更为熟悉,而数据人员对数据结构,分布,特征更为熟悉,因此,规则类标签的规则由运营人员与数据人员共同协商决定。 -
3.数据挖掘类
该类标签由机器学习加工产生,用于对用户的某些属性或某些行为进行预测判断。例如,根据一个用户的行为习惯判断该用户是男性还是女性、根据一个用户的消费习惯判断其对某商品的偏好程度。
1.2 数据架构
在整个用户画像方案中,系统的基础设施包括spark,hive,Hbase,airflow,mysql,redis,Elasticsearch,涉及到三大块,离线数据仓库,实时数据仓库,产品端。
hive作为数据仓库,将异源数据拉通(ID-Mapping),并做相应的清洗转化。
mysql存储标签元数据,监控空数据以及结果集数据。
hbase存储线上接口实时调用的数据
Elasticsearch存储标签用于人群计算和人群多维透视分析。
Airflow是使用python编写实现的任务管理、调度、监控工作流平台。依赖于crontab命令,Airflow可以方便地查看任务的执行情况,可追踪任务历史执行情况,任务执行失败时可以收到邮件通知,查看错误日志。
用户标签数据在hive中加工完成后,部分标签通过sqoop同步到mysql,提供用于BI报表展示的数据,多维透视分析数据,圈人服务数据,另一部分标签同步到hbase数据库用于产品的线上个性化推荐。
1.3 开发流程
- 目标解读:在建立用户画像前首先明确用户画像服务于公司的对象,再根据业务方的需求,明确对未来产品的建设目标和用户画像分析之后的预期效果。
- 任务分解与需求调研:针对服务对象的需求侧重点,结合产品现有的业务体系和数据字典规约实体和标签之间的关联关系,明确分析维度。
- 需求场景讨论与明确:数据产品需要根据与需求方的沟通结果,输出产品用户画像需求文档,在该文档中明确画像的应用场景,最终开发出的标签内容和应用方式,并就该文档与需求方反复沟通确认无误。
- 应用场景与数据口径确认:数据产品需要结合业务与数仓中已有的相关表,明确与各业务场景中标签的数据口径。此时,数据产品需要输出用户画像开发文档,该文档需要明确应用场景、标签开发的模型,设计的数据库与表以及应用实施流程。
- 特征选取与模型数据落表:数据分析人员需要根据前面明确的需求场景进行业务建模,写好hql,将相应的模型逻辑写入临时表,并抽取数据校验是否符合业务场景需求。
- 线下模型数据校验:数仓开发将相关数据落表后,设置定时调度任务,定时增量更新数据,数据产品需要校验数仓加工的hql逻辑是否符合需求,根据业务需求抽取表中的数据,校验其是否在合理范围之内。
- AB测试&灰度发布:AB测试&&灰度发布是进阶混合完成的,之后会通过Git进行版本管理,并且希望先灰度一些非核心低优先级的任务并且在低峰时间段来验证。
- 效果追踪:上线后持续追踪标签的应用效果及业务方反馈,调整优化模型及相关权重配置。
1.4 画像应用的落地
用户画像最终的价值还是要落地运行,为业务带来实际价值。这里需要开发标签的数据工程师和需求方相互协作,将标签应用到业务中。否则开发完标签后,数据还是只停留在数据仓库中,没有为业务决策带来积极作用。
需要注意的是,画像开发过程中,需要开发人员组织数据分析,运营,客服等团队的人员进行画像应用上的推广。对于不同岗位,其关注点的侧重也不同,需要与业务人员多沟通,多交流才可挖掘出业务背后的逻辑,开发出适用的产品。只有让业务人员在日常工作中真正应用画像数据,画像产品,才能更好地推动画像标签的迭代优化。
1.5 画像表结构设计
不同业务背景有不同的设计方式,一般有两种设计方式:
- 每日全量数据的表结构
全量数据表中,在每天对应的日期分区中插入截止到当天为止的全量数据。用户在查询时,只需查询最近一天的数据即可获得最新全量数据。 - 每日增量数据的表结构
日增量数据表,即在每天的日期分区中插入当天业务运行产生的数据,用户通过限制查询日期的范围,获取特定时间范围内的被打上特定标签的用户。
同时hive需要对输入进行全盘扫描来满足查询条件,通过使用分区可以优化查询,对于用户标签这种日加工数据,随着时间推移,分区数量的变动也是均匀的。
可以通过 日期+二级标签主题+标签id 的方式进行分区,设置三个分区字段更便于开发和查询数据。
1.6 规划数据指标体系
数据指标体系是建立在用户画像的关键环节,也是在标签开发前要进行的工作,具体就是需要结合企业的业务情况设定相关的指标。
一般可以从业务场景的角度出发,可以将用户标签体系归为用户属性、用户行为、业务场景(类似用户消费)、地域细分、偏好细分、风险控制、社交属性、用户分层等维度。对于传统企业来说可以更多地从用户属性维度去丰富指标体系。