用户画像
一、 用户画像的用途
1. 推荐 通过人群的不同画像来做到个性化推荐。
2. 广告 通过个性化的广告推送,也可以提高广告的点击率,带来更高的广告收入。
3. 销售 做为销售的线索打包出售给特定的公司和合作伙伴来直接获取利润或者交换数据。
二、 用户画像的分析范畴
1. BI分析:写sql,从数据仓库以及各种数据来源提取数据,按照一定的处理逻辑来规整数据,最后处理的数据以HIVE 表的形式存到 HDFS,Hbase,Redis 大部分用户画像都是基于统计的方法来做的,这种方法的优点是基础准确率比较高,但是整体的覆盖率不会很高。
2. 算法分析:使用机器学习或者其他算法来尝试解决问题,进行更深层次的推广。遗憾的是对于业界来说,这种标签占整个用户画像体系的比例也不会很高。因为这种标签做的费时费力,而且效果不一定好。
3. 非结构化分析:文本nlp、 图像等类型可使用深度学习。
三、 用户画像建模流程图
四、 用户数据准备
用户画像的数据来源一般是来自采集或者数据仓库,大部分的画像标签的数据源都是流量日志。其中包括网络日志数据,用户行为数据,网站交易数据等。
如果公司没有自己强账号体系,要进行用户连线。通过各种连接信息,将同一个用户来自pc端的 cookie,app端的device_id,m端的cookie 数据连接在一起。用户连线这一块也是每个用户画像部门最核心的算法之一
例如:银行数据
五、 标签体系构建
1. 标签分类
静态标签
人口属性
动态标签(有时限)
兴趣爱好 消费意向 商业人口属性 行为属性 CRM 等
交叉标签
2. 标签分级
3. 标签体系类型
1) 结构化标签体系:标签树过深则不利于处理 不宜过深
2) 半结构标签体系:结合一些描述标签
3) 非结构化标签:不方便检索 常用于搜索
六、 用户画像分类
1. 根据范围
分为 个人画像 群体画像
2. 根据是否实时
实时用户画像:这类画像的处理逻辑一般都很简单,要求迅速响应,实时处理。数据从kafaka过来,通过storm 等实时开源框架处理之后存入redis 当中。
离线用户画像:这类用户画像是把当天业务方需要的用户画像提前算好,然后供给业务方使用。由于对数据的时效性要求不是那么的高,可以使用较复杂的处理逻辑或者各种离线机器学习模型来保证画像的准确性。数据一般存在HDFS 和 Hbase 里面。
七、 模型规则
优先要将用户数据进行规整处理,转化为相同维度的特征向量,之后可进行机器学习算法处理,包含文本挖掘,自然语言处理,机器学习算法等 常用如:关联性分析 RFM模型,建立众多模型,最终要形成用户体系。
八、 用户画像的体系建设
1. 标签系统的顶层设计
具体就是我们这个标签系统系统需要为哪些业务方服务,需要涵盖哪些类别,需要做哪些标签
2. 标签系统的维度系统建设
我们的画像对外输出,如果只是输出中文的话,不大好用,有时候也不大好处理,就需要我们将标签的输出的值数值化,维度化。整个标签系统的值都可以通过一个统一的数值系统或者向量系统来进行描述。
3. 标签开发规范,这个是保证标签代码的可维护性,易读性
有一系列的规范来保证每个字段必须是可解释的,HIVE 表的命名是有意义,数据的输出是规范一致的。一切的一切都应该是有文档来记录以保证画像的通用性。
4. 标签系统的可扩展性
由于很多业务方都需要根据自己的需求来定制化标签,就要求我们的标签系统应该是可扩展的,外部业务方自己定制的标签如果符合我们标签的维度系统以及开发规范,就应该是可以扩展进我们本身的标签系统的,供给全公司使用。
5. 标签对外平台的开发,所有的标签最好只能有一个统一的输出口径对外输出
这样就可以切实保证只有符合我们标签开发规范的标签接入其中,同时也能做好标签系统的权限管理。
九、 应用技术
1. 原始数据存储
Hadoop
2. 计算
Spark SQL
SQL类型的统计信息分析用户是否可以被打上标签
如:APP、浏览A产品超过10次以上
一般需要过滤数据 过滤标准如:浏览a产品pv/用户当天浏览所有产品浏览pv汇总。
spark mlib 贝叶斯算法预测类标签
违约概率,性别概率
标签加概率 提取数据时可根据概率范围筛选
3. 用户画像存储
hbase或(mongoDB)
标签达到上千 不适合存在数据库 一般存在hbase或(mongoDB)
存储格式如: Key:用户id cf :sport:nba:0.9 movie:action 0.8
Es
检索(hbase mongodb api比较慢)
十、 银行案例
银行应用用户画像时,营销增值效果时比较差,但是降低成本效果比较明显。