用户画像4:标签数据开发

标签数据开发是用户画像体系中最重要的一环,主要包括离线标签开发、实时标签开发、用户特征库开发、人群计算、打通数据服务层等开发内容。

标签开发主要涵盖模块

一、统计类标签开发

统计类标签是指用户年龄、性别、购买金额、累计购买次数、近x日登陆次数等描述用户状态的标签。

▷ 案例:近30日购买行为标签

 ① 拆解二级标签。近30日购买行为拆解为:付款订单量(ACTION_U_01_001)、总付款金额(ACTION_U_01_002)、加入购物车次数(ACTION_U_01_003)

② 将需要计算的标签从目标表中抽出来(ACTION_U_01_001、ACTION_U_01_002、ACTION_U_01_003)

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

③ 增量获取用户最新状态,做全连接关联。即通过全连接(full outer join)方式,当有最新状态时获取最细状态,否则保留原来的状态标签;

④ 任务执行完后,将数据插入Hive数据表中;

用户近30日购买行为标签

二、规则类标签开发

一般是根据业务场景,在 业务层面上指定的规则标签。这类标签受主观判断因素的影响,在开发前需要做数据调研,结合运营业务规则开发。

除了写脚本开发标签外,还可自动打标签。比如用户触发的行为中,有超过80%的记录是3C商品,那么自动打上“数码达人”的标签。

▷ 案例:用户价值类标签

RFM模型是衡量用户价值的重要工具,包含3个指标,8类人群:

(1)Recency:最近一次消费。指上一次购买的时候。

(2)Frequency:消费频率。消费频率是顾客在限定的期间内所购买的次数。

(3)Money:消费金额。消费金额是所有数据库报告的支柱,也可以验证“帕雷托法则”(Pareto’s Law)——公司80%的收入来自20%的顾客。

RFM模型
RFM分层模型

在开发对应标签前需要进行数据调研。结合业务场景对3个维度的指标在时间定义或数值上进行确定和划分。

①  得到用户最近一次交易时间的分布。例如按照二八比例,将最近一次交易时间距今<90天的,定义为“近”,>90天的定义为“远”

② 得到用户近一年交易订单量分布。将历史订单<=3单的的划分为“低频”,>3单的划分为“高频”

③ 得到将一年交易额分布。将交易金额<300的,定义为“低额”;>300的,定义为“高频”

④ 根据以上3个维度,进行交叉分析(R≤90=“近”,R>90=“远”;F≤3=“低频次”,F>3=“高频次”;M≤300=“低额”,M>300="高额"),划分为以下8类人群

⑤ 从用户消费订单表(dw.user_consume_order_info)里面读取用户最近一次消费距今天数、累计消费次数、累计消费金额这3个维度的数据,并注册视图user_rfm

⑥ 按照最近一次购买距今天90天、购买次数3次、消费500元来对用户3个维度进行高低划分。划分后的结果注册到视图user_rfm中

⑦ 将最终结果划分到8类人群中去,再将结果插入用户标签表中。

⑧ 执行完任务后查询得到结果

查询用户价值标签

三、挖掘类标签开发

挖掘类标签即算法类标签,需要用算法挖掘用户相关特征。一般用户相关的挖掘标签可包括根据购买商品预测用户男女性别、预测用户点击下单、判断用户已流失或即将流失。

挖掘类标签开发环节包括:①用户行为特征工程开发、②算法调优、③上线工程化调度等环节,开发周期较长。

▷ 案例:对大量未打标签的文章、帖子等文本数据自动分类,自动打标签。

1、特征选取及开发

① 标注:对一批文章进行人工准确分类,作为训练样本;

② 训练:计算机从标注好的文档集中挖掘出能够有效分类的规则,生成分类器。模型中用到的算法和数据处理技术包括文本分词、TF-IDF算法、朴素贝叶斯分类算法;

③ 分类:将生成的分类器应用在待分类的文档集中,从而获得文档的分类结果。

2、文本分词处理

将连续的字序按照一定规范重新组合成次序列的过程,中文分词是讲一个个汉字序列切分重一个个独立的单词。

3、数据结构处理

为了便于后续生成词向量空间模型,这些分词后的文本信息需要转换成文本向量信息并对象化。

4、文本TF-IDF权重

该步骤中将上一步存储的结构化数据构建成一个TF-IDF词向量空间,空间中的词均来自该训练集,各个词的权重矩阵也都一并保存下来。

5、朴素贝叶斯分类

至此,文本分类打标签流程中各模块的数据处理方式就完了,文件结构图如下:

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

四、流式计算标签开发

离线标签的开发,即批次ETL任务,一般为T+1日的数据。流式计算标签主要是实时数据,比如实时订单分析,或者给首次登录App的新人用户弹窗推送、发放红包,实时分析用户场景并进行推送。

五、用户特征库开发

特征库是对用户每一次行为(浏览、首次、搜索、购买等)及该行为对应的标签(或商品类)进行详细的记录,以便挖掘用户喜好。是为个性化推荐、精准营销、商业分析提供中间层数据。一般来说,我认为这一块是最重要的。

▪ 用户标签:静态记录当前状态

▪ 用户特征库:多维度汇总。例如:一个用户经常浏览、购买奶粉等婴儿用品,则她可能是个妈妈;用户经常收藏、点赞搞笑视频,可用于挖掘用户偏好;用户经常搜索美妆美容类商品,可能用户是女性。

① 特征库规划

用户与商品相关的行为日志数据保护了用户对商品行为的明细。根据应用需要,创建表dw.cookie_feature_event_append来构建用户特征。

构建用户特征表(dw.cookie_feature_event_append)

该表中的act_name是用户行为事件名称,大致可以分为3类:

a、埋点日志数据:用户访问页面时点击的按钮,搜索的关键词通过打点日志上报记录;

b、访问日志数据:用户访问的页面、访问时间从访问日志数据挖掘;

c、订单数据:用户下单信息及商品信息。

② 数据开发

数据开发过程中,主要从订单表、访问日志表、打点日志表中对用户当日的行为(加购、点击、浏览、点赞等)抽取数据,然后清洗加载到用户特征库对应表(dw.cookie_feature_event_append)

开发逻辑

③ 其他特征库规划

除了用户特征库,还有围绕本公司的产品进行特征库的规划与开发。

六、标签权重计算

用户行为对应不同的权重,比如用户购买的权重肯定比加到购物车重,加入购物车的权重大于收藏,收藏大于浏览。

1、TF-IDF算法

TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。

2、时间衰减系数

在用户画像的应用中,用户的某些行为会随时间衰减,而某些行为不会随时间衰减。时间衰减是指随着时间的推移,用户的历史行为和当前行为的相关性不断减弱。

3、标签权重配置

用户标签的权重最终还是需要进一步结合标签所处的业务场景、距离当前时间、用户行为产生该标签的行为次数等因素,最终得到用户标签权重的综合打分公式:

用户标签权重=行为类型权重×时间衰减×用户行为次数×TF–IDF计算标签权重

七、标签相似度计算

标签相似度计算主要是对标签进行有效聚类,通过对用户身上的标签构建“同现矩阵”的方式对标签进行聚类。例如最经典的“啤酒和尿布”的营销场景,就是一种相关性。即这里的同现是指标签同时出现,即一个用户被打上A标签的同时被打上B标签。如果有很多用户同时被打上A、B标签,那么A、B标签之间可能潜在某种相关性。

八、标签组合计算

当业务方根据业务规则应用标签时,是需要组合多个标签来创建对应的用户群体的,此时需要应用到组合标签计算。

▷ 应用案例:用户A、B、C、D、E已经被打上了符合自己特征的标签,业务人员想给“高价值用户群组”分发消费券。根据运营经验定义了“高价值用户群组”,其特征为:①女性;②25~35岁;③累计消费>5次;④累计消费>500元;⑤活跃度在中活跃以上的用户。组合标签计算的任务就是根据业务人员筛选的规则,给出符合上述条件的用户群组。

1、从MySQL读取不同组合标签的计算规则;

2、将上述规则拼接成接口传入参数的查询命令,通过接口方式进行查询;

3、通过Elasticsearch查询符合这些条件的用户id,返回id作为rowkey去HBase中查询用户身上的标签。

九、数据服务层开发

数据的主要目的是应用到业务系统和营销场景中,需要打通标签数据和业务系统,通过产品化的方式将标签数据应用到业务系统。

淘宝APP广告位推送

数据服务层开发就包括了离线服务层和在线服务层。

离线服务层:将ETL后的用户群数据推送到对应业务系统。

在线服务层:以RESTful API方式提供接口服务,可支持个性化推荐、营销推送(站内广告系统的个性化弹窗、App的消息push和轮播广告、短信等)、在线特征库等场景。

几个典型的应用场景包括:

1)短信营销:可以基于用户画像的自定义圈人服务,进行重点用户的广告/消息消息推送/短信/邮件营销。

2)邮件营销:可以基于不同用户群体,进行个性化有效的会员营销,同时在服务上也可以基于已经打通的用户数据,提供会员差异化的客服/物流/活动等服务。

3)风控系统:可以根据用户级别,作为风控系统规则引擎或模型的输入。

4)数据分析:可以分析不同群体的行为特征,提供分析和决策。

5)BI数据:可以监控核心用户群体的变化,为上层决策提供数据基础支持。

十、GraphX图计算用户

Spark GraphX是分布式图计算框架,基于Spark平台提供了对图计算的简单且丰富的接口,以满足对分布式图处理的需求。Spark GraphX由于底层是基于Spark来处理的,所以天然就是一个分布式的图处理系统。

在工程实践中,存在需要计算二度关系用户的场景,即用户与用户之间通过其共同的好友找到他们的二度关系熟人,这种对图的挖掘计算可借助Spark GraphX完成。

GraphX提供顶点(Vertex)、边(Edge)、三元组(Triple)三种视图,GraphX图计算也在这三种视图上完成。顶点包括顶点id和顶点属性;边包括源顶点(srcid),目标顶点(dstid)和属性(property);三元组是对顶点和边的扩展,将顶点和边的属性保存为一个RDD[EdgeTriplet[VD,ED]]

GraphX边属性

▷ 应用案例:多个用户(如下111、222、333)登录同一个手机上的某App(如下C),也存在同一个用户(111)在多个手机上(A、C)登录该App的情况,这里初步认为在同一个手机上登录的用户之间是熟人关系,基于这种熟人关系需要进一步挖掘用户的二度熟人。

用户登录手机关系分布图

参考资料:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270