目录
注:此博文为根据 赵宏田 老师的 用户画像·方法论与工程化解决方案 一书读后笔记而来,仅供学习使用
0. 相关文章链接
1. 什么是用户特征库
为进一步从多个维度丰富用户特征,挖掘用户的相关行为,除了 开发用户标签体系外,一般还会开发用户的特征库。一方面为个性化 推荐、精准营销、商业分析等应用提供中间层数据,另一方面也可以 削减不同算法在特征构建时的冗余加工。
简单来说,用户特征库就是对用户每一次的不同行为(如浏览、 收藏、搜索、购买等)及该行为对应的标签(或商品品类)进行详细 的记录,以便从用户的行为特征中挖掘用户的偏好。与开发用户标签 相比,用户特征库可以对数据进行汇总统计,从多个维度分析用户特 征,而用户标签则“相对静态”地记录了用户当前的状态。
例如,用户经常浏览或购买奶粉、尿不湿、婴儿车等商品,则她 可能是一个孩子的妈妈;用户经常浏览、收藏、点赞搞笑、段子类视 频,可用于挖掘用户的内容喜爱偏好;用户对女装、美甲等商品的浏 览、购买、收藏等行为数据,在用户性别分类的挖掘中时会很有效。 在用户画像建模的过程中,为了高效挖掘用户特征,需要进行用户特征库的规划和开发。
2. 特征库规划
用户与商品相关行为的日志数据包含了用户对商品行为的明细。 下面通过一个用户特征库的构建案例进行说明。该用户行为特征库规划ER图如下图所示。
根据应用需要,创建表dw.cookie_feature_event_append来构建 用户特征,表结构如下表所示。
字段名 | 中文名 | 类型 | 备注 |
cookie_id | cookie id | String | 非空 |
tagid | 标签id | String | 非空 |
tagname | 标签名称 | Siring | 非空 |
tag_type_id | 标签类型 | String | 按业务线来划分标签 |
act_num | 事件统计值 | Bigint | 行为次数 |
data_date | 日期分区 | String | 非空 |
act name | 事件名称 | String | 如点赞/打赏/加购/点击/收藏/浏览等行为 |
- cookie_id:用户访问id。
- goods_id:商品id,用户行为对应的商品。
- goods_name:商品名称,用户行为对应的商品。
- tag_type:标签类型,可以按商品归属的三级品类进行划分, 如游戏本、轻薄本、机械键盘等表示不同的3c品类。
- event_value:用户当日行为次数统计值,如用户某日浏览某品 牌笔记本电脑3次,该字段记录为3。
- data_date:数据日期,按日进行分区。
- act_name:用户行为事件名称,如点击、搜索、提交等。
该表中的act_name事件名称对应的数据来源可大致分为3种类型:
- 打点日志数据:用户访问页面时点击了哪些按钮、搜索了哪些 关键词都会通过打点日志上报记录;
- 访问日志数据:用户访问了哪些页面,访问了多长时间都可以 从访问日志数据中挖掘;
- 订单数据:用户订单及订单里面的商品。
其中,事件名称可以通过一张维表来记录用户不同的行为事件,行为事件划分得越细,用户在平台的行为捕捉得越全面,如下表所示。记录用户不通行为事件的维表:
事件名称 | 事件说明 | 事件类型 |
Saddtobagclick | 加购点击 | 加购 |
Saddtobag picture click | 加购图片点击 | |
$shopping_minus_click | 购物车点击减号 | |
$shopping_plus_click | 购物车点击加号 | |
$add tobag_submit_c lick | 加购物品提交 | |
$product_click | 商品点击 | 点击 |
Spageview_brand_click | 详情页品牌点击 | |
Spageview_brandgoods_click | 详情页品睥推荐商品点击 | |
Spageview delails click | 详情页detail查看 | |
Spageview_gallery_click | 详情页图片点击 | |
Sexposed_num | 曝光 | 浏览 |
Spageview_view | 洋情页查看 | |
Shi story_pageview | 浏览历史页面 | |
Sexposed_num | 点赞内容 | 点赞 |
Spageviewview | 点赞评论 | |
Ssearch_product | 搜索结果点击 | 搜索 |
Ssearch_result | 搜索关键词点击 | |
Sshare_product | 打赏商品 | 打赏 |
Ssharemoney | 打赏金额 |
3. 数据开发
数据开发过程中,主要从订单表、访问日志表、打点日志表中对 用户当日的行为(加购、点击、浏览、点赞等)抽取数据,然后清洗 加载到用户特征库对应表(本案例 一
dw.cookie_feature_event_append)的当日分区下,如下图所示。
本案例中ods.page_event_log是打点日志表,从打点日志表中获 取用户点击相关行为的事件;从订单表dw.order_info_fact中获取 cookieid当日与相关的订单数据;从cookie的访问日总表 ods.page_view_log中获取cookieid当日访问详情页相关数据。
根据用户行为事件进行数据开发,分别插入用户行为特征库中:
- 用户加购行为带来的标签
- 用户点击行为带来的标签
- 用户搜索行为带来的标签
再举2个用户行为特征的例子:
- 例1:查询近7日浏览某商品(id=6926512)详情页超过10次的用 户,拉取这部分用户对其进行商品营销
- 例2:查询近7日浏览、收藏、关注过“母婴”品类商品的用户, 拉取这部分用户对其进行消息推送营销,
通过用户特征库,数据分析师或数据开发人员可以从多个维度钻 取用户行为数据进行挖掘
在特征库的开发过程中,除了从用户维度开发特征库,同样也会 对商品、商家等开发相应的特征库。通过特征库可以更方便地对用 户、商品、商家建模,并分析特征及进行算法应用。
4. 其他特征库规划
除了要对用户特征库进行开发,也需要围绕本公司的产品进行特 征库的规划与开发。下面提供一种产品特征库的开发维度设计方案,如下表所示。商 品特征库的开发可以从商品类目、价格、曝光量、点击、加购、销量、销售额、评论、退货等多个维度展开。
字段名 | 中文名 | 类型 | 备注 |
pro duct_id | 产品id | Bigint | 非空 |
productname | 产品名称 | String | 非空 |
lev 1 name | 一级类目 | String | |
lev2_name | 二级类目 | String | |
lev3_name | 二级类目 | String | |
on_sale | 在架状态 | Bigint | |
supplierjd | 供应商编码 | String | |
supplier name | 供应商名称 | String | |
on sale lime | 首次上架时间 | String | |
price | 吊牌侪 | Double | |
discount_price | 折扣价 | Double | |
cost_price | 成本价 | Double | |
exposure 30_times | 30天曝光次数 | Bigint | |
click_30_times | 30天点击次数 | Bigint | |
add_cart_30_iimes | 30天加购次数 | Bigint | |
sales_30 | 30天销量 | Bigint | |
gmv_30 | 30天带售额 | Double | |
marks | 评论数 | Bigint | |
marks_pic | 带图片评论数 | Bigint | |
goodcomments | 好评数(4&5星) | Bigint | |
good_comment_rate | 好评盘(4&5星) | Bigint | |
bad comments | 差评数(4&5星) | Bigint | |
bad comment rate | 差评率(4&5星) | Bigint | |
return number | 退货数 | Bigint | |
return__tate | 退货逐 | Double | |
datadate | 日期分区 | String | 非空 |
注:再次声明,此博文为根据 赵宏田 老师的 用户画像·方法论与工程化解决方案 一书读后笔记而来,仅供学习使用
注:其他相关文章链接由此进 -> 用户画像文章汇总