从零构建FLINK整合Drools动态规则实时运营系统(项目案例)-第5篇(用户画像篇)

前言

项目介绍在线视频: https://www.bilibili.com/video/BV1zv41157yY

本案例是一个专注于flink动态规则计算的项目,核心技术组件涉及flink、hbase、clickhouse、drools等
项目可根据各类个性化需求进行二次开发后,直接用于实时运营,实时风控、交通监控等场景的线上生产
项目完整视频教程和资料代码等,可在易学在线 https://v.51doit.cn 获取
技术交流,可加微信: haitao-duan
在这里插入图片描述

画像标签体系

  • 用户基本属性标签
  • 用户订单属性标签
  • 用户退换货属性标签
  • 用户购物车属性标签
  • 用户活跃属性标签
  • 用户偏好属性标签

用户基本属性标签

用户属性指标主要根据业务数据来源(业务系统中的用户信息)
尽可能全面地描述用户基础属性
这些基础属性值是短期内不会有改变的,如年龄、性别、手机号归属地、身份证归属地等

字段类型定义备注
user_idbigint用户编码
login_namestring登录名称
user_namestring用户姓名
user_status_idint用户状态
gender_idint用户性别
birthdayint用户生日
user_ageint用户年龄
constellation_namestring星座名称
zodiac_namestring生肖名称
cellphone_idstring手机号
cert_idstring证件号
source_idbigint注册来源
is_real_name_authint是否实名认证标志
is_valid_cellphoneint是否认证手机标志
is_has_photoint是否有头像标志
is_tmp_user_flagtimestamp注册时间
create_timestring注册日期
create_datetimestamp修改时间
modify_timestring修改时间
modify_datetimestamp修改日期
date_idstring数据日期

用户登录活跃标签

看用户近期登录时间段、登录时长、登录频次、常登陆地等指标

字段类型定义备注
user_idint用户id用户唯一id
login_city_rationstring常登陆地用户近一个月常登陆的3个地点及比率
last_online_datestring最近登陆时间用户最近一次登录日期
online_frequencyint登录频次用户近一个月登录频次
online_timeint登录时长用户近一个月登录时长

用户年龄段标签

在做营销活动或站内推送时,可对不同年龄段做针对性运营

字段类型定义备注
user_idstring用户编码
contact_idstring联系人编码
user_sexstring用户性别
user_age_crowdstring用户年龄群体儿童(0-10)少年(11-15)…

用户交互行为标签

记录用户在平台上每一次操作行为,及该次行为所带来的标签。后续可根据用户的行为标签计算用户的偏好标签,做推荐和营销等活动

字段类型定义备注
user_idstring用户id用户唯一id
org_idstring原始id标签id
org_namestring标签中文名称标签对应标签的中文名称
is_validstring是否有效1有效
cntstring行为次数用户行为次数
date_idstring行为日期产生用户该条标签对应日期
act_type_idint用户行为类型1搜索2浏览3收藏4下单5支付6退货
tag_type_idint频道类型1母婴2家电3美妆4美食5服装6鲜花

用户消费能力标签

看用户的消费金额、消费频次、最近消费时间。进一步结合用户登录活跃情况,可以对用户做RFM分层。

字段类型定义备注
user_idstring用户编码
sum_paystring累积付费金额
sum_numdecimal累积付费次数
paid_levelint付费分层1:[0,30)

用户订单画像标签

字段类型定义备注
user_idbigint用户
first_order_timestring首单日期
last_order_timestring末单日期
first_order_agobigint首单距今时间
last_order_agobigint末单距今时间
month1_order_cntbigint近30天购买次数
month1_order_amtdouble近30天购买金额
month2_order_cntbigint近60天购买次数
month2_order_amtdouble近60天购买金额
month3_order_cntbigint近90天购买次数
month3_order_amtdouble近90天购买金额
max_order_amtdouble最大订单金额
min_order_amtdouble最小订单金额
total_order_cntbigint累计消费次数(不含退拒)
total_order_amtdouble累计消费金额(不含退拒)
total_coupon_amtdouble累计使用代金券金额
user_avg_order_amtdouble平均订单金额(含退拒)
month3_user_avg_amtdouble近90天平均订单金额(含退拒)
common_addressstring常用收货地址
common_paytypestring常用支付方式
month1_cart_cnt_30bigint最近30天加购次数
month1_cart_goods_cnt_30bigint最近30天加购商品件数
month1_cart_submit_cnt_30bigint最近30天提交件数
month1_cart_submit_ratedouble最近30天商品提交占比
month1_cart_cancel_cntbigint最近30天取消商品件数
dw_datestring计算日期

用户退拒货行为画像标签

字段类型定义备注
user_idbigint用户
p_sales_cntbigint不含退拒商品购买数量
p_sales_amtdouble不含退拒商品购买的商品总价
p_sales_cut_amtdouble不含退拒实付金额(扣促销减免)
h_sales_cntbigint含退拒购买数量
h_sales_amtdouble含退拒购买金额
h_sales_cut_amtdouble含退拒购买金额(扣促销减免)
return_cntbigint退货商品数量
return_amtdouble退货商品金额
reject_cntbigint拒收商品数量
reject_amtdouble拒收商品金额
dw_datebigint数仓计算日期

用户购物偏好画像标签

字段类型定义备注
user_idbigint用户
common_first_catbigint最常购买一级类目名称
common_second_catbigint最常购买二级类目名称
common_third_catbigint最常购买三级类目名称
common_brand_idbigint最常购买的品牌
dw_datebigint数仓计算日期

画像标签存储及表结构

画像数据,行数基本与公司用户规模相同;
列数则众多(一个中型互联网企业,用户的画像标签通常都在1000-2000个之间),而且会在实际运营中,不断增加新的标签,则会不断增加新的列;

考虑到行数及列数规模巨大(数亿行*数千列),以及列的动态增加特性,业内通常将用户画像标签数据存于Hbase之中,再辅以elastic search做二级索引,以实现对hbase中画像数据的快速检索;

rowkey(deviceId)sexagevip
1200212132vip-1
1200213028vip-2

用户画像整体技术架构

关于用户画像,限于本课程的侧重点和篇幅,这里就不详细展开了。
有兴趣的朋友,可以学习多易教育的数据分析类项目课程《Titan综合数据运营系统》
https://v.51doit.cn/detail/p_5fba7371e4b04db7c0903f2b/8

用户画像库数据模拟

假设公司已有的用户画像库,存储在hbase中,表结构为如下
列簇 f

rowkey(deviceId)sexagevip
1200212132vip-1
1200213028vip-2

可用数据模拟器快速生成约100万个用户的画像标签数据(每个用户1000个标签)

/**
 * @author 涛哥
 * @nick_name "deep as the sea"
 * @contact qq:657270652 wx:doit_edu
 * @site www.doitedu.cn
 * @date 2021-03-27
 * @desc 用户画像数据模拟器
 * <p>
 * deviceid,k1=v1
 * <p>
 * hbase中需要先创建好画像标签表
 * [root@hdp01 ~]# hbase shell
 * hbase> create 'yinew_profile','f'
 */
public class UserProfileDataGen {
    public static void main(String[] args) throws IOException {

        Configuration conf = new Configuration();
        conf.set("hbase.zookeeper.quorum", "hdp01:2181,hdp02:2181,hdp03:2181");

        Connection conn = ConnectionFactory.createConnection(conf);
        Table table = conn.getTable(TableName.valueOf("yinew_profile"));

        ArrayList<Put> puts = new ArrayList<>();
        for (int i = 1; i < 1000000; i++) {

            // 生成一个用户的画像标签数据
            String deviceId = StringUtils.leftPad(i + "", 6, "0");
            Put put = new Put(Bytes.toBytes(deviceId));
            for (int k = 1; k <= 100; k++) {
                String key = "tag" + k;
                String value = "v" + RandomUtils.nextInt(1, 101);
                put.addColumn(Bytes.toBytes("f"), Bytes.toBytes(key), Bytes.toBytes(value));
            }

            // 将这一条画像数据,添加到list中
            puts.add(put);

            // 提交一批
            // 攒满100条一批
            if(puts.size()==100) {
                table.put(puts);
                puts.clear();
            }

        }
        if(puts.size()>0) table.put(puts);
        conn.close();
    }
}
用户画像,作为一种勾画目标用户、联系用户诉求与设计方向的有效工具,用户画像在各领域得到了广泛的应用。用户画像最初是在电商领域得到应用的,在大数据时代背景下,用户信息充斥在网络中,将用户的每个具体信息抽象成标签,利用这些标签将用户形象具体化,从而为用户提供有针对性的服务。还记得年底收到的支付宝年度消费账单吗?帮助客户回顾一年的消费细节,包括消费能力、消费去向、信用额度等等,再根据每位客户的消费习惯,量身定制商品推荐列表……这一活动,将数据这个量化的词以形象生动的表现手法推到了大众面前。这就是用户画像在电商领域的一个应用,随着我国电子商务的高速发展,越来越的人注意到数据信息对于电商市场的推动作用。基于数据分析的精准营销方式,可以最大限度的挖掘并留住潜在客户,数据统计与分析为电商市场带来的突破不可估量。在大数据时代,一切皆可“量化”,看似普通的小小数字背后,蕴藏着无限商机,也正在被越来越的企业所洞悉。如何从大数据中挖掘商机?建立用户画像和精准化分析是关键。什么是用户画像呢?用户画像是根据市场研究和数据,创建的理想中客户虚构的表示。创建用户画像,这将有助于理解现实生活中的目标受众。企业创建的人物角色画像,具体到针对他们的目标和需求,并解决他们的问题,同时,这将帮助企业更加直观的转化客户。用户画像最重要的一个步骤就是对用户标签化,我们要明确要分析用户的各种维度,才能确定如何对用户进行画像用户画像建立步骤首先,基础数据收集,电商领域大致分为行为数据、内容偏好数据、交数据,如浏览量、访问时长、家具偏好、回头率等等。而金融领域又有贷款信息,信用卡,各种征信信息等等。然后,当我们对用户画像所需要的基础数据收集完毕后,需要对这些资料进行分析和加工,提炼关键要素,构建可视化模型。对收集到的数据进行行为建模,抽象出用户的标签。电商领域可能是把用户的基本属性、购买能力、行为特征、兴趣爱好、心理特征、社交网络大致的标签化,而金融风控领域则是更关注用户的基本信息,风险信息,财务信息等等。随后,要利用大数据的整体架构对标签化的过程进行开发实现,对数据进行加工,将标签管理化。同时将标签计算的结果进行计算。这个过程中需要依靠Hive,Hbase等大数据技术,为了提高数据的实时性,还要用到Flink,Kafka等实时计算技术。最后,也是最关键的一步,要将我们的计算结果,数据,接口等等,形成服务。比如,图表展示,可视化展示。基于Flink+Alink构建全端亿级实时用户画像系统课程,将带领大家一步一步实现一个强大的实时用户画像系统,该系统以热门的互联网电商实际业务应用场景为案例讲解,具体包含:标签管理(支持动态标签扩展,动态标签指标)、用户预测、用户群体画像用户行为画像用户中心、几大内容。本课程采用全新的大数据技术栈:Flink+Alink,让你体验到全新技术栈的强大,感受时代变化的气息,通过学习完本课程可以节省你摸索的时间,节省企业成本,提高企业开发效率。本课程包含的技术: 开发工具为:IDEA、WebStorm Flink1.13.0Alink1.5.0 ClickHouseDolphinSchedulerHadoopHbaseKafkaZookeeper SpringBoot2.0.8.RELEASE SpringCloud Finchley.SR2BinlogCanal MySQL MybatisVue.js、Nodejs、ElementUI 课程亮点: 1.与企业接轨、真实工业界产品2.标签化管理模块功能,支持动态标签扩展3.动态标签指标分析和维护4.Alink算法技术框架 5.大数据热门技术Flink新版本 6.主流微服务后端系统 7.数据库实时同步解决方案 8.涵盖主流前端技术VUE+NodeJS+ElementUI 9.集成SpringCloud实现统一整合方案 10.互联网大数据企业热门技术栈 11.支持海量数据的实时画像 12.支持全端实时画像 13.全程代码实操,提供全部代码和资料 14.提供答疑和提供企业技术方案咨询 
用户画像作为大数据的根基,它抽象出一个用户的信息全貌,为进一步精准、快速地分析用户行为习惯、消费习惯等重要信息,提供了足够的数据基础,奠定了大数据时代的基石。 用户画像,即用户信息标签化,就是企业通过收集与分析消费者社会属性、生活习惯、消费行为等主要信息的数据之后,抽象出一个用户的商业全貌作是企业应用大数据技术的基本方式。用户画像为企业提供了足够的信息基础,能够帮助企业快速找到精准用户群体以及用户需求等更为广泛的反馈信息。 用户画像系统能很好地帮助企业分析用户的行为与消费习惯,可以预测商品的发展的趋势,提高产品质量,同时提高用户满意度。构建一个用户画像,包括数据源端数据收集、数据预处理、行为建模、构建用户画像。有些标签是可以直接获取到的,有些标签需要通过数据挖掘分析到!本套课程会带着你一步一步的实现用户画像案例,掌握了本套课程内容,可以让你感受到Flink+ClickHouse技术架构的强大和大数据应用的广泛性。 在这个数据爆发的时代,像大型电商的数据量达到百亿级别,我们往往无法对海量的明细数据做进一步层次的预聚合,大量的业务数据都是好几亿数据关联,并且我们需要聚合结果能在秒级返回。 包括我们的画像数据,也是有这方便的需求,那怎么才能达到秒级返回呢?ClickHouse正好满足我们的需求,它是非常的强大的。 本课程采用Flink+ClickHouse技术架构实现我们的画像系统,通过学习完本课程可以节省你摸索的时间,节省企业成本,提高企业开发效率。希望本课程对一些企业开发人员和对新技术栈有兴趣的伙伴有所帮助,如对我录制的教程内容有建议请及时交流。项目中采用到的算法包含Logistic Regression、Kmeans、TF-IDF等,Flink暂时支持的算法比较少,对于以上算法,本课程将带大家用Flink实现,并且结合真实场景,学完即用。系统包含所有终端的数据(移动端、PC端、小程序端),支持亿级数据量的分析和查询,并且是实时和近实时的对用户进行画像计算。本课程包含的画像指标包含:概况趋势,基础属性,行为特征,兴趣爱好,风险特征,消费特征,营销敏感度,用户标签信息,用户群里,商品关键字等几大指标模块,每个指标都会带大家实现。课程所涵盖的知识点包括:开发工具为:IDEA FlinkClickhouseHadoopHbaseKafkaCanalbinlogSpringBootSpringCloudHDFSVue.jsNode.jsElemntUIEcharts等等 课程亮点: 1.企业级实战、真实工业界产品 2.ClickHouse高性能列式存储数据库 3.提供原始日志数据进行效果检测 4.Flink join企业级实战演练 5.第四代计算引擎Flink+ClickHouse技术架构6.微服务架构技术SpringBoot+SpringCloud技术架构7.算法处理包含Logistic Regression、Kmeans、TF-IDF等8.数据库实时同步落地方案实操9.统计终端的数据(移动端、PC端、小程序端) 10.支撑亿级海量数据的用户画像平台11.实时和近实时的对用户进行画像计算12.后端+大数据技术栈+前端可视化13.提供技术落地指导支持 14.课程凝聚讲师年实战经验,经验直接复制15.掌握全部内容能独立进行大数据用户平台的设计和实操企业一线架构师讲授,代码在老师的指导下企业可以复用,提供企业解决方案。  版权归作者所有,盗版将进行法律维权。 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值