用户画像,即用户信息标签化,是大数据精细化运营和精准营销服务的基础。在大数据的时代下,用户的一切行为是可追溯和分析的。用户画像是通过分析用户的基础信息、特征偏好、社会属性等各维度的数据,刻画出用户的信息全貌,从中挖掘用户价值。它可以帮助数据“起死回生”,提供个性化推荐、精准营销、个性化服务。

一、画像基础

1.1 标签类型

用户画像建模其实就是对用户“打标签”,一般分为三类:

● 统计类标签:最基础常见的标签,从用户注册数据、用户访问数据中统计得出。

● 规则类标签:基于用户行为及规则产生,通常由对业务更为熟悉的运营人员和数据人员共同协商确定。

● 机器学习挖掘类标签:通过机器学习挖掘产生,根据某些用户行为或熟悉进行预测判断。例如,根据一个用户购买化妆品护肤品的次数权重更高,得出该用户的性别是女性。

1.2 数据结构

画像系统的基础设施包括spark、hive、hbase、airflow、redis、elasticsearch。下图是《用户画像》中的数据仓库架构。

① 数据仓库etl加工流程是对每日的业务数据、日志数据、埋点数据等数据经过etl过程,加工到对应的原始数据层(ods)、数据仓库(dw)、数据集市层(dm)中。

② 用户画像不是产生数据的源头,是经过ods层、dw层、dm层中的数据与用户相关数据的二次建模加工得到的数据。在etl过程将用户标签写入hive,根据不同数据对应不同数据库的应用场景,再将数据同步到mysql、hbase、elasticsearch等数据库中。

hive:存储用户标签、用户人群及用户特征库的计算结果

mysql:存储标签元数据,监控相关数据,导出到业务系统的数据

hbase:存储线上实时数据

elasticsearch:支持海量数据的实时查询分析

③ 用户标签在hive中加工完成后,部分标签通过sqoop同步到mysql数据库,提供用于bi报表展示的数据、多为透视分析数据、圈人服务数据;另一部分标签同步到hbase数据库用于产品的线上个性化推荐。

1.3 用户画像模块

搭建用户画像方案整体考虑以下8个模块

用户画像主要覆盖模块

● 用户画像基础

了解和明确用户画像包含的模块,设计数据仓库架构、开发流程、表结构,及etl的设计。主要就是明确大方向的规划。

● 数据指标体系

建立数据指标体系,根据业务线梳理,包括用户属性、用户行为、用户消费、风险控制等维度的指标体系。

● 标签数据存储

设计好数据指标体系后,考虑不同应用场景使用哪种存储方式。

● 标签数据开发

重点模块。标签数据开发包含统计类、规则雷、挖掘类、流式计算类标签的开发,以及人群计算功能的开发。

重点内容:数据调研、和业务方确认数据口径、标签开发上线。打通画像数据和各业务系统之间的路,提供接口服务

● 开发性能调优

标签数据开发上线后,为了缩短调度时间、保证数据稳定性,需要对标签脚本、调度脚本进行迭代重构、调优。梳理现有标签开发、调度、校验告警、同步到服务层等相关脚本、明确可以优化的地方,迭代优化。

重点内容:减少etl调度时间,降低调度时的资源消耗。

● 作业流程调度

标签加工、人群计算、同步数据和业务系统、数据监控预警脚本开发完成后,需要调度工具把整套流程调度起来。

重点内容:满足定式调度、监控预警、失败重试,各调度任务之家的复杂依赖关系。

● 用户画像产品化

产品化的模块包括包括标签视图、用户标签查询、用户分群、透视分析等。

重点内容:满足业务方对用户精准营销的需求。

● 用户画像应用

应用场景包括用户特征分析、短信邮件、站内信、push消息的精准推送,客户针对不同用户的话术、针对高价值用户的极速退款等高级服务应用等。

重点内容:帮助业务方理解和应用用户画像数据,提高用户活跃度和gmv。

1.4 开发上线流程