用户画像
# 一、 数据驱动营收
数据 的最终目的是走出数据仓库,应用到业务系统和营销系统中来驱动营收增长。
# 二、 用户画像是什么?
用户画像,即用户信息标签化,通过收集用户的社会属性、消费习惯、偏好特征等各个维度的数据,进而对用户进行刻画,并对这些特征进行分析、统计,挖掘潜在的价值信息,从而抽象出用户的信息全貌。
# 三、 用户画像的标签类型的种类
用户画像建模,其实就是对用户“打标签”,用户打标签的方式,分为以下3类:
- 统计类标签
- 规则类标签
- 机器学习挖掘类标签
# 3.1 统计类标签
该类标签构成了用户画像的基础。
这类标签是最为基础也最为常见的标签类型。例如,对于某个用户来说,其性别、年龄、城市、星座、近7天活跃时长、近7日活跃天数、近7日活跃次数等字段可以从用户注册数据、用户访问、消费数据中统计中得出。
# 3.2 规则类标签
该类标签是基于用户行为及确定的规则产生。例如,对平台上“消费活跃”用户这一口型的定义为“近30天交易次数>= 2”。在实际开发画像的过程中,由于运营人员对业务更为熟悉,而数据人员对数据的结构、分布、特征更为熟悉,因此规则类标签的规则是由运营人员和数据人员共同协商确定。
# 3.3 机器学习挖掘类标签
该类标签通过机器学习挖掘产生,用于对用户的某些属性或某些行为进行预测判断。例如,根据一个用户的行为习惯判断该用户是男性还是女性、根据一个用户的消费习惯判断其对某商品的偏好程度。该类标签需要通过算法挖掘产生。
在项目工程中,一般统计类标签和规则类的标签即可以满足应用需求,在开发中占有较大比例。机器学习挖掘类标签多用于预测场景,如判断用户性别、用户购买商品偏好、用户流失意向等。
# 四、用户画像标签体系
这里设计的用户标签体系主要分为以下方面:
用户基本属性标签
用户订单属性标签
用户退换货属性标签
用户购物车属性标签
用户活跃属性标签
用户偏好属性标签
# 4.1 用户基本属性标签
用户属性指标主要根据业务数据来源(业务系统中的用户信息),尽可能全面描述用户基础属性,这些基础属性值是短期内不会改变的,如:年龄、性别、手机号归属地、身份证归属地等。
字段 | 字段类型 | 字段定义 |
---|---|---|
user_id | bigint | 用户编号 |
login_name | string | 登录名称 |
user_name | string | 用户姓名 |
user_status_id | int | 用户状态 |
gender_id | int | 用户性别 |
birthday | int | 用户生日 |
user_age | int | 用户年龄 |
constellation_name | string | 星座名称 |
cellphone_id | string | 手机号 |
cert_id | string | 证件号 |
source_id | bigint | 注册来源 |
is_real_name_auth | int | 是否实名认证标志 |
is_valid_cellphone | int | 是否认证手机标志 |
is_has_photo | int | 是否有头像标志 |
is_tmp_user_flag | int | 是否临时用户 |
create_time | string | 注册时间 |
create_date | timestamp | 注册日期 |
modify_time | string | 修改时间 |
modify_date | timestamp | 修改日期 |
date_id | string | 数据日期 |
# 4.2 用户登录活跃标签
看用户近期登录时间段、登录时长、登录频次、登录地等指标。
字段 | 类型 | 定义 | 备注 |
---|---|---|---|
user_id | int | 用户id | 用户唯一id |
login_city_ration | string | 常登录地 | 用户近一个月登录的3个地点及比率 |
last_online_date | string | 最近登录时间 | 用户最近一次登录日期 |
online_frequency | int | 登录频次 | 用户近一个月登录频次 |
online_time | int | 登录时长 | 用户近一个月登录时长 |
# 4.3 用户年龄段标签
在做营销活动或站内推送时,可对不同年龄段针对性运营。
字段 | 类型 | 定义 | 备注 |
---|---|---|---|
user_id | string | 用户编码 | |
contract_id | string | 联系人编码 | |
user_sex | string | 用户性别 | |
user_age_crowd | string | 用户年龄群体 | 儿童(0-10)、少年(11-15)... |
# 4.4 用户交互行为标签
记录用户在平台上每一次操作行为,及该次行为所带来的标签。后续可根据用户的行为标签计算用户的偏好标签,做推荐和营销等活动。
字段 | 类型 | 定义 | 备注 |
---|---|---|---|
user_id | string | 用户id | 用户唯一id |
org_id | string | 原始id | 标签id |
org_name | string | 标签中文名称 | 标签对应标签的中文名称 |
is_valid | string | 是否有效 | 1 有效, 0 无效 |
cnt | string | 行为次数 | 用户行为次数 |
date_id | string | 行为日期 | 产生用户该条标签对应日期 |
act_type_id | int | 用户行为类型 | 1 搜索;2 浏览;3 收藏;4 下单;5 支付;6 退货 |
tag_type_id | int | 频道类型 | 1 母婴;2 家电;3 美妆;4 美食;5 服装;6 鲜花 |
# 4.5 用户消费能力标签
看用户的消费金额、消费频次、最近消费时间。进一步结合用户登录活跃情况,可以对用户做 RFM 分层。
字段 | 类型 | 定义 | 备注 |
---|---|---|---|
user_id | string | 用户编码 | |
sum_pay | string | 累积付费金额 | |
sum_num | decimal | 累积付费次数 | |
paid_level | int | 付费分层 | 1:[0,30) 2:[30,100) 3:[100, 300) ... |
# 4.6 用户订单画像标签
字段 | 类型 | 定义 |
---|---|---|
user_id | bigint | 用户 |
first_order_time | string | 首单日期 |
last_order_time | string | 末单日期 |
first_order_ago | bigint | 首单距今时间 |
last_order_ago | bigint | 末单距今时间 |
month1_order_cnt | bigint | 近30天购买次数 |
month1_order_amt | double | 近30天购买金额 |
month2_order_cnt | bigint | 近60天购买次数 |
month2_order_amt | double | 近60天购买金额 |
month3_order_cnt | bigint | 近90天购买次数 |
month3_order_amt | double | 近90天购买金额 |
max_order_amt | double | 最大订单金额 |
min_order_amt | double | 最小订单金额 |
total_order_cnt | bigint | 累计消费次数(不含退拒) |
total_order_amt | double | 累计消费金额(不含退拒) |
total_coupon_amt | double | 累计使用代金券金额 |
user_avg_order_amt | double | 平均订单金额(含退拒) |
month3_user_avg_amt | double | 近90天平均订单金额(含退拒) |
common_address | string | 常用收货地址 |
common_pay_type | string | 常用支付方式 |
month1_cart_cnt_30 | bigint | 最近30天加购次数 |
month1_cart_goods_cnt_30 | bigint | 最近30天加购商品件数 |
month1_cart_submit_cnt_30 | bigint | 最近3天提交件数 |
month1_cart_submit_rate | double | 最近30天商品提交占比 |
month1_cart_cancel_cnt | bigint | 最近30天取消商品件数 |
dw_date | string | 计算日期 |
# 4.7 用户退拒货行为画像标签
类型 | 定义 | |
---|---|---|
user_id | bigint | 用户 |
p_sales_cnt | bigint | 不含退拒商品购买数量 |
p_sales_amt | double | 不含退拒商品购买的商品总价 |
p_sales_cnt_amt | double | 不含退拒实付金额(扣促销减免) |
h_sales_cnt | bigint | 含退拒购买数量 |
h_sales_amt | double | 含退拒购买金额 |
h_sales_cnt_amt | double | 含退拒购金额(扣促销减免) |
return_cnt | bigint | 退货商品数量 |
return_amt | double | 退货商品金额 |
reject_cnt | bigint | 拒收商品数量 |
reject_amt | double | 拒收商品金额 |
dw_date | bigint | 数仓计算日期 |
# 4.8 用户购物偏好画像标签
字段 | 类型 | 定义 |
---|---|---|
user_id | bigint | 用户 |
common_first_cat | bigint | 最常购买一级类目名称 |
common_second_cat | bigint | 最常购买二级类目名称 |
common_third_cat | bigint | 最常购买三级类目名称 |
common_brand_id | bigint | 最常购买的品牌 |
dw_date | bigint | 数仓计算日期 |
# 五、画像标签存储及表结构
画像数据,行数基本与公司用户规模相同。 列数则众多(一个中型互联网企业,用户的画像标签通常都在1000~2000个之间),而且会在实际 运营中,不断增加新的标签,则会不断增加新的列。
考虑到行数及列数规模巨大(数亿行*数千列),以及列的动态增加特性,业内通常将 用户画像标签数据存于 HBase 之中,再辅以 elastic search 做二级索引,以实现对 HBase 中画像数据的快速检索;
列簇 f | |
---|---|
rowkey(deviceId) | sex |
1200212 | 1 |
1200213 | 0 |