前言
为什么写这本书
我曾在知乎“数据智能”专栏下面不定期连载关于用户画像的文章,也曾在知乎开设过几期live直播,还曾在天善智能等网课平台开设过系列网课“用户画像解决方案”。在和同行业中对画像感兴趣的朋友们交流时,我发现大家虽然来自地产、烟草、零售、互联网等不同行业,但所在公司对用户画像领域都有建设需求,而且大家对于指标体系、标签作业效率(ETL)、标签监控、实时计算、画像产品化、业务应用场景和应用方式等方面都有进一步了解的兴趣。所以我想对这些年做用户画像的经验、踩过的“坑”进行梳理总结,为数据开发、数据分析、运营、用户研究等岗位的工作人员提供一些参考。
在写这份解决方案的一个个夜晚,我有时会想,科技和时代都在飞速发展,如果有一天我不做这一行了,该拿什么来回忆那些年奋斗的时光呢?2019年,我第3次从0到1开始搭建用户画像系统,从离线标签开发、用户数据分析、ETL调度、流式计算开发,到打通数据服务层、应用画像数据服务业务方、获得业务增长的反馈,这一路走过来,过程是痛苦的,收获是丰富的。奋斗的日子固然多彩,回望一步步走过的路,谨以此书向那些不舍昼夜奔腾向前的日子致敬。
本书特色
开始做用户画像的时候我也不知道从何处下手,市面上介绍Hive、Spark、HBase、MySQL、数据仓库等大数据相关技术的书籍很多,但是介绍用户画像搭建开发的书籍很少,甚至没有。在没有相关项目经验的情况下,我不知道如何把这些大数据组件统筹起来搭建用户画像系统。直到这两年,我才一边开发画像系统,一边总结梳理,最终编纂成本书。
本书借助数据仓库实现一套用户画像系统的方案。从实际工程案例出发,结合多业务场景,内容涵盖开发离线批处理计算的标签及流式计算标签,为读者的分析、开发、搭建用户画像系统,并借助该用户画像系统为运营人员制定运营用户的策略提供端到端的解决方案。
一套好的解决方案需要包括以下几个层面。
1)架构层:在画像系统的架构层,本书首先介绍了画像数据仓库的架构,进一步介绍了数据存储的技术选型,在什么场景下使用Hive、MySQL、HBase、Elasticsearch等工具存储数据,用户标签开发、人群计算开发等相应数据开发层面的内容,以及整个项目的开发流程和各阶段的关键产出。
2)流量层:介绍整个方案是如何运作起来的。本书主要涉及画像系统的作业流程调度、数据仓库和各业务系统的打通。
3)业务层:包括系统的前后端交互以及如何把这套系统应用在业务服务层面。本书通过用户画像产品化介绍了产品端和画像系统的“代码”层面是如何进行交互操作的。
4)方案价值:包括系统上线后如何服务于各业务场景产生业务价值以及有待进一步完善的地方。
以上几个层面的内容构成了一套完整的用户画像解决方案,这也是本书各章节覆盖的全部模块。
数据的最终目的是走出数据仓库,应用到业务系统和营销系统中来驱动营收增长。
我在学习数据仓库的时候学过Kimball的《数据仓库工具箱》,其中关于数据仓库的34个子系统的介绍对我影响很大,其对于如何解决特定问题并形成结构化思维有着系统的方法论与解决方案。虽然面对具体问题的处理方式是灵活且丰富多样的,但是固定的结构化思维有利于快速找到突破口,形成良好的开端。
本书可以帮助读者在用户画像领域形成一种体系化思维,在面对一个具体项目时不会无从下手。如何建立标签指标体系?指标体系中包含哪些标签?如何设计存储画像标签的表结构?如何开发标签?画像系统中涉及哪些数据存储工具?如何打通标签数据到服务层?如何对画像系统进行监控?如何对整个画像系统进行调度?如何使画像系统服务于业务场景来驱动增长?这些都是画像系统的子模块。
主要章节及内容
本书共9章,各章具体内容如下:
第1章:主要讲用户画像的基础知识,包括搭建用户画像系统需要覆盖的模块,开发阶段流程,各阶段的关键产出,以及数据仓库架构、表结构的设计等内容。阅读本章可以帮助读者形成构建用户画像的一个整体化思想。
第2章:结合业务设定指标体系,本章针对案例背景,从常用的用户属性、行为、消费、风险控制这4个维度设定指标体系。本章提供的标签可涵盖大部分刻画用户画像的应用场景,对于具体应用点,读者可根据公司业务特性进行针对性的补充。
第3章:讲解了标签相关数据的存储,包括Hive存储、MySQL存储、HBase存储和Elasticsearch存储。不同的存储方式适用于不同的场景和业务需要。
第4章:也是本书的重点章节,书中介绍的标签数据及相关脚本的开发是用户画像构建工作的重点。本章讲解了对常见的统计类、规则类、挖掘类、流式计算类标签以及用户特征库等与用户相关的数据的开发,还进一步介绍了如何计算人群数据、打通数据到服务层通路的开发。通过GraphX图计算用户2度关系熟人的案例介绍了如何深度挖掘用户间的关联关系。本章对每一小节都进行了详细的讲解,并附有配套的代码计算过程。
第5章:讲解了开发过程中常见的数据倾斜调优、对小文件的读取、缓存中间数据、开发中间表等调优工作。
第6章:讲解了如何使用开源ETL工具Airflow实现画像系统相关任务的工程化上线调度,以及对数据的监控预警和调度异常的排查。
第7章:画像产品化是数据从数据仓库走向业务服务的重要环节,画像产品化可便于业务人员使用工具来分析用户,将业务上定义的用户群应用到各业务系统中提供服务。本章为数据产品人员、业务人员提供了解决方案的思路。
第8章:介绍了用户画像的应用场景,包括经营分析、精准营销、个性化推荐等应用方向,方便业务人员、产品经理、数据分析师更好地了解用户、触达用户。
第9章:通过场景化介绍用户画像实际应用的8个案例,清楚地展现了用户画像作为一种分析、触达用户的工具在实际业务上的应用方式和应用流程。
主要读者对象
❑产品经理:由于岗位性质对技术不是特别熟悉,可重点关注第1、2、7、8、9章的内容。
❑数据分析师:可以从多个维度对用户及用户群进行分析,可重点关注第1、2、3、7、8、9章的内容。
❑运营人员:可重点关注第2、8、9章的内容,了解画像系统涉及的指标体系、应用场景及应用策略。
❑数据开发人员:本书主要站在数据开发人员的角度对整个画像系统进行系统化介绍。数据开发人员可完整阅读本书各章的内容。
❑市场人员:借助画像系统了解用户群体的特征以及运营用户群的策略方法,可重点关注第2、8、9章的内容。
勘误和支持
由于水平有限,书中难免会存在疏漏之处,恳请读者批评指正。为此,读者可通过邮箱(892798505@qq.com)或微信(administer00001)反馈有关问题,我将尽全力为读者进行解答。
致谢
感谢父母对我一路成长的支持。感谢机械工业出版社华章公司的杨福川老师和李艺老师,这是我第二次与两位老师合作,每次合作与沟通总是那么愉快;感谢为本书写推荐的朋友们,你们的专业建议让本书更加精彩。最后,感谢过去一年中自己的每一分投入,不断积累,将大数据在用户画像领域的工程化实现和应用方案编纂成书。