用户画像标签体系——从零开始搭建实时用户画像(三)

用户画像标签体系——从零开始搭建实时用户画像(三)用户画像标签体系 ​ 用户画像的核心在于给用户“打标签”,每一个标签通常是人为规定的特征标识,用高度精炼的特征描述一类人,例如年龄、性别、兴趣偏好等,不同的标签通过结构化的数据体系整合,就可与组合出不

用户画像标签体系——从零开始搭建实时用户画像(三)

用户画像标签体系——从零开始搭建实时用户画像(三)

用户画像标签体系

​ 用户画像的核心在于给用户“打标签”,每一个标签通常是人为规定的特征标识,用高度精炼的特征描述一类人,例如年龄、性别、兴趣偏好等,不同的标签通过结构化的数据体系整合,就可与组合出不同的用户画像。

​ 梳理标签体系是实现用户画像过程中最基础、也是最核心的工作,后续的建模、数据仓库搭建都会依赖于标签体系。

​ 为什么需要梳理标签体系,因为不同的企业做用户画像有不同的战略目的,广告公司做用户画像是为精准广告服务,电商做用户画像是为用户购买更多商品,内容平台做用户画像是推荐用户更感兴趣的内容提升流量再变现,金融行业做用户画像是为了寻找到目标客户的同时做好风险的控制。

​ 所以第一步,我们要结合所在的行业,业务去分析我们用户画像的目的。这其实就是战略,我们要通过战略去指引我们最终的方向。

用户画像标签体系——从零开始搭建实时用户画像(三)

对于电商企业来说,可能最重要的两个问题就是:

现有用户- 我的现存用户是谁?为什么买我的产品?他们有什么偏好?哪些用户价值最高?

潜在客户- 我的潜在用户在哪儿?他们喜欢什么?哪些渠道能找到他们?获客成本是多少?

而对于金融企业,还要加上一条:

用户风险—用户的收入能力怎么样?他们是否有过贷款或者信用卡的逾期?他们的征信有问题吗?

我们做用户画像的目的也就是根据我们指定的战略方向最终去解决这些问题。

在梳理标签的过程还要紧密的结合我们的数据,不能脱离了数据去空想,当然如果是我们必须要的数据,我们可能需要想办法去获取这些数据,这就是数据采集的问题,我们之后会深入的讨论。

先展示两种常见的标签体系,随后我们将按步骤建立我们的标签体系。

电商类标签体系

用户画像标签体系——从零开始搭建实时用户画像(三)

可以看到电商类的标签体系,更关注用户的属性,行为等等信息。那么我们需要的数据也就来源于用户可提供的基本信息,以及用户的行为信息,这些我们可以通过埋点获取,而用户的订单情况也是非常的重要的标签。

金融类标签体系

用户画像标签体系——从零开始搭建实时用户画像(三)

对于金融行业,最明显的区别是增加了用户的价值和用户风险的信息。这些信息在用户申请贷款时一般都可以提供,还有很多信息需要通过征信获取。

最终,不管是电商还是金融或者其他领域,我们都可以通过数据对用户进行画像,最终建立标签体系,影响我们的业务,最终实现战略目的。

下面我们来具体看一下如何一步步的分析建立整体标签体系。

标签的维度与类型

在我们建立用户标签时,首先要明确基于哪种维度去建立标签。

一般除了基于用户维度(userid)建立用户标签体系外,还有基于设备维度(cookieid)建立相应的标签体系,当用户没有登录设备时,就需要这个维度。当然这两个维度还可以进行关联。

而两者的关联就是需要ID-Mapping算法来解决,这也是一个非常复杂的算法。更多的时候我们还是以用户的唯一标识来建立用户画像。

而标签也分为很多种类型,这里参照常见的分类方式,

从对用户打标签的方式来看,一般分为三种类型:1、基于统计类的标签;2、基于规则类的标签、3、基于挖掘类的标签。下面我们介绍这三种类型标签的区别:

  • 统计类标签:这类标签是最为基础也最为常见的标签类型,例如对于某个用户来说,他的性别、年龄、城市、星座、近7日活跃时长、近7日活跃天数、近7日活跃次数等字段可以从用户注册数据、用户访问、消费类数据中统计得出。该类标签构成了用户画像的基础;

  • 规则类标签:该类标签基于用户行为及确定的规则产生。例如对平台上“消费活跃”用户这一口径的定义为近30天交易次数>=2。在实际开发画像的过程中,由于运营人员对业务更为熟悉、而数据人员对数据的结构、分布、特征更为熟悉,因此规则类标签的规则确定由运营人员和数据人员共同协商确定;

  • 机器学习挖掘类标签:该类标签通过数据挖掘产生,应用在对用户的某些属性或某些行为进行预测判断。例如根据一个用户的行为习惯判断该用户是男性还是女性,根据一个用户的消费习惯判断其对某商品的偏好程度。该类标签需要通过算法挖掘产生。

标签的类型是对标签的一个区分,方便我们了解标签是在数据处理的哪个阶段产生的,也更方便我们管理。

标签分级分类

标签需要进行分级分类的管理,一方面使得标签更加的清晰有条件,另一方面也方便我们对标签进行存储查询,也就是管理标签。

用户画像标签体系——从零开始搭建实时用户画像(三)

用户画像体系和标签分类从两个不同角度来梳理标签,用户画像体系偏战略和应用,标签分类偏管理和技术实现侧。

把标签分成不同的层级和类别,一是方便管理数千个标签,让散乱的标签体系化;二是维度并不孤立,标签之间互有关联;三可以为标签建模提供标签子集。

梳理某类别的子分类时,尽可能的遵循MECE原则(相互独立、完全穷尽),尤其是一些有关用户分类的,要能覆盖所有用户,但又不交叉。比如:用户活跃度的划分为核心用户、活跃用户、新用户、老用户、流失用户,用户消费能力分为超强、强、中、弱,这样按照给定的规则每个用户都有分到不同的组里。

标签命名

标签的命名也是为了我们可以对标签进行统一的管理,也更好识别出是什么标签。

用户画像标签体系——从零开始搭建实时用户画像(三)

这是一种非常好的命名方式,解释如下:

标签主题:用于刻画属于那种类型的标签,如用户属性、用户行为、用户消费、风险控制等多种类型,可用A、B、C、D等
字母表示各标签主题;
 标签类型:标签类型可划为分类型和统计型这两种类型,其中分类型用于刻画用户属于哪种类型,如是男是女、是否是会员、
是否已流失等标签,统计型标签用于刻画统计用户的某些行为次数,如历史购买金额、优惠券使用次数、近30日登陆次数等
标签,这类标签都需要对应一个用户相应行为的权重次数;
 开发方式:开发方式可分为统计型开发和算法型开发两大开发方式。其中统计型开发可直接从数据仓库中各主题表建模加工
而成,算法型开发需要对数据做机器学习的算法处理得到相应的标签;
 是否互斥标签:对应同一级类目下(如一级标签、二级标签),各标签之间的关系是否为互斥,可将标签划分为互斥关系和
非互斥关系。例如对于男、女标签就是互斥关系,同一个用户不是被打上男性标签就是女性标签,对于高活跃、中活跃、低
活跃标签也是互斥关系;
 用户维度:用于刻画该标签是打在用户唯一标识(userid)上,还是打在用户使用的设备(cookieid)上。可用U、C等字
母分别标识userid和cookieid维度。

最终形成得标签示例:

对于用户是男是女这个标签,标签主题是用户属性,标签类型属于分类型,开发方式为统计型,为互斥关系,用户
维度为userid。这样给男性用户打上标签“A111U001_001”,女性用户打上标签“A111U001_002”,其中
“A111U”为上面介绍的命名方式,“001”为一级标签的id,后面对于用户属性维度的其他一级标签可用“002”、
“003”等方式追加命名,“_”后面的“001”和“002”为该一级标签下的标签明细,如果是划分高、中、低活跃
用户的,对应一级标签下的明细可划分为“001”、“002”、“003”。

用户画像标签体系——从零开始搭建实时用户画像(三)

标签存储与管理

Hive与Druid数仓存储标签计算结果集

因为数据非常大,所以跑标签出来的结果必须要通过hive和druid数仓引擎来完成。

在数据仓库的建模过程中,主要是事实表和维度表的开发。

事实表依据业务来开发,描述业务的过程,可以理解为我们对原始数据做ETL整理后业务事实。

而维度表就是我们最终形成的用户维度,维度表是实时变化的,逐渐的建立起用户的画像。

比如用户维度标签:

首先我们根据之前讨论的用户指标体系,将用户按照人口,行为,消费等等建立相关中间表,注意表的命名。

用户画像标签体系——从零开始搭建实时用户画像(三)

第一张人口属性表:

用户画像标签体系——从零开始搭建实时用户画像(三)

同样的,其他的也按这种方式进行存储,这种属性类的计算很容易筛选出来。

然后,我们将用户的标签查询出来,汇总到用户身上:

用户画像标签体系——从零开始搭建实时用户画像(三)

最终用户的标签就形成了

用户画像标签体系——从零开始搭建实时用户画像(三)

当然,对于复杂的规则和算法类标签,就需要在计算中间表时做更复杂的计算,我们需要在Flink里解决这些复杂的计算,未来开发中我们会详细的讨论,这一部分先根据标签体系把相应的表结构都设计出来。

Mysql存储标签元数据

Mysql对于小数据量的读写速度更快,也更适合我们对标签定义,管理。我们也可以在前端开发标签的管理页面。

用户画像标签体系——从零开始搭建实时用户画像(三)

我们在mysql存储的字段如图所示,在页面上提供编辑等功能,在开发标签的过程中,就可以控制标签的使用了。

这样,我们的标签体系已经根据实际的业务情况建立起来了,在明确了标签体系以后,也就明确了我们的业务支撑,从下一章开始我们将正式开始搭建大数据集群,接入数据,进行标签开发,未完待续~

参考文献

《用户画像:方法论与工程化解决方案》

更多实时数据分析相关博文与科技资讯,欢迎关注 “实时流式计算”

用户画像标签体系——从零开始搭建实时用户画像(三)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8191.html

(0)
上一篇 2023-03-06
下一篇 2023-03-06

相关推荐

  • python绘图进阶(Python编程绘图)

    python绘图进阶(Python编程绘图)泰勒图绘制的核心思想是设计一个只有第一象限的极坐标,并将方差,相关系数进行捆绑,通过转化为极坐标系坐标进行绘制。为了实现泰勒图的绘制,我设计了两个函数:

    2023-11-25
    134
  • Python输出实现标题

    Python输出实现标题Python是一门流行的编程语言,它有着强大的输出功能,可以轻松地输出各种格式的文本。其中,Python输出实现h1/h1标题是一项非常基础和必要的功能,本文将从多个方面对此进行详细的阐述,包括功能实现和代码示例等。

    2024-09-16
    24
  • 【JDBC】编程(2)-[通俗易懂]

    【JDBC】编程(2)-[通俗易懂]实现模糊查询(以“查哪个用户的密码中的第二个字符为‘a’为例)……

    2023-05-03
    146
  • Repeatable-Read及Read-Committed区别[亲测有效]

    Repeatable-Read及Read-Committed区别[亲测有效]mysql 默认提供的是 Repeatable-Read 可重复读,更适用于oltp Read-Committed 不可重复读 也可以叫做提交读 在MySQL中基本有这两种事务隔离级别的设置,默认的…

    2023-03-10
    150
  • clickhouse数据库安装_php clickhouse

    clickhouse数据库安装_php clickhouse这里会介绍ClickHouse几种数据库引擎,已经对应的特点和应用的场景。数据库引擎允许您处理数据表。默认情况下,ClickHouse使用Atomic数据库引擎。它提供了可配置的table engin

    2023-06-09
    136
  • Python中的time模块,用于时间相关操作

    Python中的time模块,用于时间相关操作Python中的time模块是一个非常实用的模块,它提供了用于获取当前时间、时间格式转换、计时等功能。time模块的使用涵盖了很多领域,包括系统与程序的时间操作、计时、调度等。

    2024-01-04
    110
  • 使用Python更新MongoDB数据,提高数据库性能

    使用Python更新MongoDB数据,提高数据库性能MongoDB是一种非关系型数据库,与关系型数据库相比,MongoDB的查询速度很快,但在处理海量数据时,也会出现性能瓶颈。本文将介绍如何使用Python更新MongoDB数据库数据,以提高数据库性能。

    2024-02-09
    103
  • redis速度慢_数据库性能慢了

    redis速度慢_数据库性能慢了本篇为Redis性能问题诊断系列的第四篇,也是最后一篇,主要从应用程序、系统、服务器硬件及网络系统等层面上进行讲解,重点分享了哪些配置需要重点关注和调整优化,才能最大程度的发挥Redis的处理能力;

    2023-06-06
    148

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注