用户画像,即用户信息标签化,是大数据精细化运营和精准营销服务的基础。在大数据的时代下,用户的一切行为是可追溯和分析的。用户画像是通过分析用户的基础信息、特征偏好、社会属性等各维度的数据,刻画出用户的信息全貌,从中挖掘用户价值。它可以帮助数据“起死回生”,提供个性化推荐、精准营销、个性化服务。
用户画像建模其实就是对用户“打标签”,一般分为三类:
● 统计类标签:最基础常见的标签,从用户注册数据、用户访问数据中统计得出。
● 规则类标签:基于用户行为及规则产生,通常由对业务更为熟悉的运营人员和数据人员共同协商确定。
● 机器学习挖掘类标签:通过机器学习挖掘产生,根据某些用户行为或熟悉进行预测判断。例如,根据一个用户购买化妆品护肤品的次数权重更高,得出该用户的性别是女性。
画像系统的基础设施包括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数据库用于产品的线上个性化推荐。
搭建用户画像方案整体考虑以下8个模块
用户画像主要覆盖模块
● 用户画像基础
了解和明确用户画像包含的模块,设计数据仓库架构、开发流程、表结构,及ETL的设计。主要就是明确大方向的规划。
● 数据指标体系
建立数据指标体系,根据业务线梳理,包括用户属性、用户行为、用户消费、风险控制等维度的指标体系。
● 标签数据存储
设计好数据指标体系后,考虑不同应用场景使用哪种存储方式。
● 标签数据开发
重点模块。标签数据开发包含统计类、规则雷、挖掘类、流式计算类标签的开发,以及人群计算功能的开发。
重点内容:数据调研、和业务方确认数据口径、标签开发上线。打通画像数据和各业务系统之间的路,提供接口服务
● 开发性能调优
标签数据开发上线后,为了缩短调度时间、保证数据稳定性,需要对标签脚本、调度脚本进行迭代重构、调优。梳理现有标签开发、调度、校验告警、同步到服务层等相关脚本、明确可以优化的地方,迭代优化。
重点内容:减少ETL调度时间,降低调度时的资源消耗。
● 作业流程调度
标签加工、人群计算、同步数据和业务系统、数据监控预警脚本开发完成后,需要调度工具把整套流程调度起来。
重点内容:满足定式调度、监控预警、失败重试,各调度任务之家的复杂依赖关系。
● 用户画像产品化
产品化的模块包括包括标签视图、用户标签查询、用户分群、透视分析等。
重点内容:满足业务方对用户精准营销的需求。
● 用户画像应用
应用场景包括用户特征分析、短信邮件、站内信、Push消息的精准推送,客户针对不同用户的话术、针对高价值用户的极速退款等高级服务应用等。
重点内容:帮助业务方理解和应用用户画像数据,提高用户活跃度和GMV。