[读书笔记]用户画像:方法论与工程化解决方案

目录

  • 前言
  • 第一章 用户画像基础
    • 1.1 用户画像是什么
      • 1.1.1 画像简介
      • 1.1.2 标签类型
    • 1.2 数据架构
    • 1.3 主要覆盖模块
    • 1.4 开发阶段流程
      • 1.4.1 开发上线流程
      • 1.4.2 各阶段关键产出
    • 1.5 画像应用的落地
    • 1.6 某用户画像案例
      • 1.6.1 案例背景介绍
      • 1.6.2 相关元数据
      • 1.6.3 画像表结构设计
    • 1.7 定性类画像
    • 1.8 本章小结
  • 第二章 数据指标体系
    • 2.1 用户属性维度
      • 2.1.1 常见用户属性
    • 2.2 用户行为维度
    • 2.3 用户消费维度
    • 2.4 风险控制维度
    • 2.5 社交属性维度
    • 2.6 其他常见标签划分方式
    • 2.7 标签命名方式
    • 2.8 本章小结
  • 第三章 标签数据存储
    • 3.1Hive存储
      • 3.1.1 Hive数据仓库

前言

作者-知乎-数据智能专栏
开设过live直播
天善智能开设过系列网课:用户画像解决方案
兴趣关键词:指标体系、标签作业效率(ETL)、标签监控、实时计算、画像产品化。。。
成果:2019年:第3次从0到1搭建用户画像系统(离线标签开发、用户数据分析、ETL调度、流式计算开发、打通数据服务层、应用画像数据服务业务方、获得业务增长)

书的特色:本书经过作者一边开发画像系统,一边总结梳理编纂。(在读完全书之后再来写这部分)

第一章 用户画像基础

1.1 用户画像是什么

读完总结

1.1.1 画像简介

用户画像,即用户信息标签化,通过收集用户的社会属性、消费习惯、偏好特征等各个维度的数据,进而对用户或产品特征属性进行刻画,并对这些特征进行分析、统计、挖掘潜在价值信息,从而抽象出用户的信息全貌。用户画像可看作企业应用大数据的根基,是定向广告投放与个性化推荐的前置条件,为数据驱动运营奠定了基础。

数据应用体系的层次划分:
1.基础平台搭建:数据平台搭建、数据仓库建设、同一SDK
2.报表与可视化:可配置数据报表以及报表的可视化展现
3.产品运营与分析:自主提取数据、报表分析工具
4.精细化运营工具:用户行为分析、用户画像、数据挖掘、个性化推荐
5.战略决策:决策支持

1.1.2 标签类型

用户画像建模事实上就是对用户‘打标签’,标签可分为
1.统计类标签:如性别、年龄、近7天活跃时长
2.规则类标签:基于用户行为及确定规则产生,如消费活跃定义为‘近30天交易次数>=2’,实际开发中由于运营人员对业务更熟悉,数据人员对数据结构、分布、特征更熟悉,因此规则确定由运营以及数据人员协商确定。
3.机器学习挖掘类标签:通过机器学习挖掘产生,用于对用户的某些属性或行为进行预测判断。

1.2 数据架构

整个工程化方案中,系统依赖的基础设施包括:Spark,Hive,HBase,Airflow,Mysql,Reids,Elasticsearch。除去基础设施,系统主体还包括Spark Streaming,ETL,产品端3个重要组成部分。下图是用户画像数仓架构图:[读书笔记]用户画像:方法论与工程化解决方案_第1张图片下方虚线框为常见的数据仓库ETL加工流程,即将每日业务数据、日志数据、埋点数据等经过ETL过程,加工到数据仓库对应的ODS层、DW层、DM层中。
中间的虚线框即为用户画像建模的主要环节,用户画像是对基于数据仓库ODS层、DW层、DM层中与用户相关数据的二次建模加工。在ETL过程中将用户标签计算结果写入Hive,由于不同的数据库有不同的应用场景,后续需要进一步将数据同步到Mysql、HBase、Elasticsearch等数据库中(不同数据库的应用场景见书)。
用户标签数据在Hive加工完成后,部分标签通过Sqoop同步到Mysql数据库,提供用于BI报表展示的数据、多维透视分析数据、圈人服务数据;另一部分标签同步到HBase数据库用于产品的线上个性化推荐。

1.3 主要覆盖模块

搭建一套用户画像方案整体需要考虑8个模块建设:
1.用户画像基础:明确用户画像是什么,有哪些模块,明确大致框架,规划,项目排期和人员投入。
2.数据指标体系:根据业务线梳理指标体系。
3.标签数据存储:将标签相关数据存储在数据库中,不同数据库有不同应用场景。
4.标签数据开发:用户画像工程化的重点模块,开发标签数据并打通画像数据和各业务系统之间的通路,提供接口服务等开发内容。
5.开发性能调优:标签加工、人群计算等脚本上线调度后,为缩短调度时间,保障稳定性,对开发脚本进行迭代、重构、调优。
6.作业流程调度:标签加工、人群计算、同步数据到业务系统、数据监控预警等脚本开发完成后,需要调度工具(如Airflow)将整套流程调度起来。
7.用户画像产品化:为使用户数据更好服务业务方,需以产品化形态应用在业务上。相关模块包括:标签视图、用户标签查询、用户分群、透视分析。
8.用户画像应用:利用用户画像,业务上可以进行用户特征分析、消息精准推送、客服针对用户的不同话术,对高价值用户的极速退货的VIP服务应用。

1.4 开发阶段流程

本节主要介绍画像系统开发上线的流程以及各阶段的关键产出。

1.4.1 开发上线流程

第一阶段:目标解读:建立用户画像前,首先需明确用户画像服务于企业的对象,再根据业务方需求,明确未来产品建设目标和用户画像分析之后的预期效果。(总结:明确目标,明确预期效果)
第二阶段:任务分解与需求调研:针对服务对象的需求侧重点,结合产品现有业务体系和‘数据字典’规约尸体和标签之间的关联关系,明确分析维度。如从用户属性画像、用户行为画像、用户偏好画像、用户群体偏好画像等角度去进行业务建模。(总结:确定分析维度)
第三阶段:需求场景讨论与明确:数据运营人员根据与需求方沟通结果,输出产品用户画像需求文档,在文档中明确画像应用场景、最终开发出的标签内容与应用方式,并就该文档与需求方反复沟通并确认无误。(总结:明确要开发的标签,明确标签的应用场景,明确业务方需求,输出用户画像需求文档)
第四阶段:应用场景与数据口径确认:数据运营团队内部就开发实施流程达成一致,输出产品用户画像开发文档。
第五阶段:特征选取与模型数据落表:数据分析挖掘人员根据需求场景进行业务建模,写好HQL逻辑,将相应模型逻辑写入临时表,并抽取数据校验是否符合业务场景需求。(总结:写好代码,做好测试)
第六阶段:线下模型数据验收与测试:数据仓库团队人员将相关数据落表后,设置定时调度任务,定期增量更新数据。数据运营人员需验收数仓加工的HQL逻辑是否符合需求,查看数据是否在合理范围内。(总结:落表、设置定时调度任务、并抽查测试)
第七阶段:线上模型发布与效果追踪:经过六完成验收后,通过Git进行版本管理,部署上线。上线后通过追踪标签应用效果及业务方反馈,调整优化模型及相关权重配置。(总结:模型上线,效果追踪,调整参数权重)

1.4.2 各阶段关键产出

为保证程序上线的准时和稳定,需要规划好各阶段任务排期和关键产出。
画像体系开发分为一下几个主要阶段:
1.标签开发:根据业务需求梳理标签指标体系
2.ETL调度开发:梳理需要调度的任务间的依赖关系,开发调度脚本和调度监控告警脚本
3.打通数据服务层:打通数据仓库和各业务系统的接口
4.画像产品化:画产品原型
5.开发调优:为调度任务执行更高效、服务更稳健,需对标签计算脚本、调度脚本、数据同步脚本等相关计算任务进行重构优化。
6.面向业务方推广应用:面向业务人员推广画像系统的使用方法、撰写画像的使用文档,提供业务支持。

1.5 画像应用的落地

用户画像最终的价值还是要落地运行,只有业务人员在日常工作中真正应用画像数据、画像产品、才能更好推动画像标签迭代优化,带来流量提升和营收增长,产出业绩价值。

1.6 某用户画像案例

全书以一个实际案例贯穿。本节主要介绍案例背景和相关元数据,以及在开发标签中可以设计的表结构样式。
在本案例开发工作中,基于Spark计算引擎,主要涉及的语言包括HiveQL、Python、Scala、Shell等。

1.6.1 案例背景介绍

简略介绍(详细介绍见书):图书电商网站,两个需求:
1.内容的精准推送、提高用户的点击转化率
2.建立用户流失预警机制,及时识别将要流失的用户群体
数据仓库积累大量业务数据、日志数据、埋点数据。如何充分挖掘沉淀在数据仓库中的数据的价值,有效支持用户画像的建设。

1.6.2 相关元数据

简略介绍(详细介绍见书):
可获取数据按类型可分为:
1.业务类数据:指用户在平台上下单、购买、收藏物品、货物配送等与业务相关的数据。
2.用户行为数据:指用户搜索某条信息、访问某个页面、点击某个按钮、提交某个表单等通过操作行为产生(在解析日志的埋点表中)的数据。
涉及数据仓库的表主要包括(详细表结构见书):
1.用户信息表(dim.user_basic_info):存放用户相关信息:如姓名、年龄、性别、电话号码、归属定等信息。
2.商品订单表(dw.order_info_fact):存放商品订单的各类信息:如订单编号、用户id、用户姓名、订单生成时间、订单状态等信息。
3.埋点日志表(ods.page_event_log):存放用户访问APP时点击相关控件的打点记录。通过在客户端做埋点、从日志数据中解析出来。
4.访问日志表(ods.page_view_log):存放用户访问APP的相关信息及用户的LBS相关信息,通过在客户端埋点,从日志数据中解析出来。
5.商品评论表(dw.book_comment):存放用户对商品的评论信息。
6.搜索日志表(dw.app_search_log):存放用户在APP端搜索相关的日志数据。
7.用户收藏表(dw.book_collection_df):记录用户收藏图书的记录。
8.购物车信息表(dw.shopping_cart_df):记录用户将图书加入购物车的数据。

1.6.3 画像表结构设计

表结构设计的重点是要考虑存储哪些信息、如何存储(数据分区)、如何应用(如何抽取标签)这3个方面的问题。
不同业务背景有不同的设计方式,这里提供两种设计思路:
1.每日全量数据的表结构
2.每日增量数据的表结构

1.7 定性类画像

用户刻画除了定量维度外,还有定性刻画。定性刻画多见于用户研究等运营类岗位,主要通过电话调研、网络调研问卷、当面深入访谈、网上第三方权威数据等方式收集用户信息。这种定性类调研与大数据定量刻画用户相比,更精确地了解用户需求和行为特征,但由于样本量有限,得出的结论不一定能代表大部分用户观点。

1.8 本章小结

本章主要介绍了用户画像的一些基础知识,包括画像的简介、标签类型、整个画像系统的数据架构,开发画像系统主要覆盖的8个模块,以及开发过程中的各阶段关键产出。初步介绍了画像系统的轮廓概貌,帮助读者对于如何设计画像系统、开发周期、画像的应用方式等有宏观的初步的了解。本书后面的章节将围绕1.3节中画像系统覆盖的8个模块依次展开。

第二章 数据指标体系

数据指标体系是建立用户画像的关键,是标签开发前的工作,具体来说就是需要结合企业的业务情况设定相关的指标。
互联网企业建立用户画像时候一般除了基于用户维度(userid)建立一套用户标签体系外,还会基于用户使用设备维度(cookieid)建立相应的标签体系。
建立的用户标签按标签类型可分为统计类、规则类和机器学习挖掘类。
按标签维度可分为用户属性类、用户行为类、用户消费类和风险控制类。

2.1 用户属性维度

2.1.1 常见用户属性

用户属性是刻画用户的基础。常见用户属性指标包括:用户年龄、性别(可以细分为自然性别和购物性别)、安装时间、注册状态、城市、省份、活跃登陆地、历史购买状态、历史购买金额等。
用户属性维度的标签建成后可以提供客服电话服务,为运营人员了解用户基本情况提供帮助。
用户属性标签包含统计类、规则类、机器学习挖掘类。

2.2 用户行为维度

用户行为是另一种刻画用户的常见维度,通过用户行为可以挖掘其偏好和特征。常见指标包括:用户订单行为、下单/访问行为、用户近30天行为类型指标、用户高频活动时间段、用户购买品类、点击偏好、营销敏感度等行为。

2.3 用户消费维度

对于用户消费维度指标体系的建设,可从用户浏览、加购、下单、收藏、搜索商品对应的品类入手,品类越细越精确,给用户推荐或营销商品的准确性越高。
可以通过品类+行为的组合找到目标潜在用户人群:
首先:通过圈选‘浏览’、‘收藏’、‘加购’、‘购买’、‘搜索’与该女装相关品类来筛选可能对该女装感兴趣的潜在客户。
然后:组合其他标签(如‘性别’、‘消费金额’、‘活跃度’等)筛选出对应高质量用户群。

2.4 风险控制维度

为防止薅羊毛、恶意刷单、借贷欺诈等行为的用户给平台带来损失和风险,互联网公司需要在风险控制维度构建起相关的指标体系,有效监控平台的不良用户。结合公司业务方向,例如可从账号风险、设备风险、借贷风险等维度入手构建风控维度标签体系。

2.5 社交属性维度

社交属性用于了解用户的家庭成员、社交关系、社交偏好、社交活跃程度等方面,通过这些信息可以更好地为用户提供个性化服务。

2.6 其他常见标签划分方式

本章前5节从用户属性、用户行为、用户消费、风险控制、社交属性共五大维度划分归类了用户标签指标体系。
从业务场景的角度出发,还可以将用户标签体系归为用户属性、用户行为、营销场景、地域细分、偏好细分、用户分层等维度。每个维度可细分出二级标签、三级标签等。具体地:
1.用户属性:包括用户年龄、性别、设备型号、安装/注册状态、职业等刻画用户静态特征的属性。
2.用户行为:用户消费行为、购买后行为、近N日访问、收藏、下单、购买、售后等相关行为。
3.偏好细分:用户对商品品类、商品价格段、各营销渠道、购买的偏好类型、不同营销方式等方面的偏好特征。
4.风险控制:对用户从征信风险、使用设备的风险、在平台消费过程中产生的问题等维度考量其风险程度。
5.业务专用:应用在各种业务上的标签,如A/B测试标签、Push系统标签等。
6.营销场景:以场景化进行分类,根据业务需要构建一系列营销场景,激发用户的潜在需求,如差异化客服、场景用户、再营销用户等。
7.地域细分:标识用户的常住城市、居住商圈、工作商圈等信息,应用在基于用户地理位置进行推荐的场景中。
8.用户分层:对用户按生命周期、RFM、消费水平类型、活跃度类型进行分层划分。

2.7 标签命名方式

本节感觉用处不大

2.8 本章小结

本章主要介绍了如何结合业务场景去搭建刻画用户的数据指标体系。其中2.1节到2.5节介绍了一种思路,2.6节提供了另一种思路。2.7节介绍了一种规范化命名标签的解决方案,可保证对每一个业务标签打上唯一的标签id。
对于互联网企业来说,其存储的海量用户访问日志数据便于分析用户操作的行为特性;而对于传统企业来说则可以更多地从用户属性维度去丰富指标体系。

第三章 标签数据存储

在画像系统搭建过程中,数据存储的技术选型是非常重要的一项内容,不同的存储方式适用于不同的应用场景。本章主要介绍使用Hive、MySQL、HBase、Elasticsearch存储画像相关数据的应用场景及对应的解决方案。

3.1Hive存储

3.1.1 Hive数据仓库

建立用户画像首先需要建立数据仓库,用于存储用户标签数据。Hive是基于Hadoop的数据仓库工具、依赖于HDFS存储数据、提供的SQL语言可以查询存储在HDFS中的数据。开发时一般使用HIve作为数据仓库,存储标签和用户特征库等相关数据。

你可能感兴趣的:(读书笔记,数据分析)