热度 1|
一.什么是用户行为分析
用户行为分析,从字面理解,就是对从互联网、移动互联网渠道所产生的用户浏览、点击等一系列线上的行为进行分析。这个业务场景是从互联网企业引入,互联网企业需要从海量的用户中获取其行为数据,进行统计、分析、挖掘,然后作为快速迭代开发的动力。
例如,TOM和Jerry是好朋友(好友关系涉及到社交大数据,以后专门写文章分析),TOM浏览了手机充值页面和5元看电影页面,Jerry浏览了5元看电影页面。手机充值页面被浏览了12次,5元看电影页面被浏览了8次。可以分析得出手机充值服务更受欢迎。
二.传统企业的用户行为分析
随着互联网+时代的到来,传统企业纷纷拓展线上渠道,拓展客源。所以,用户行为分析变得越来越流行了。因为这些传统商家需要了解用户在想什么,在干什么,有什么诉求,对什么不满,然后进行调整。
例如,某银行实施了一个信用卡消费相关的用户行为分析。首先,当用户在某个商圈用信用卡刷卡消费时,交易信息自动存入系统后台数据库。另一方面,当用户线上浏览和点击进行消费时,如使用类似大众点评、美团、支付宝APP,这些线上的用户行为数据同样存入系统数据库。在系统的历史数据库中,对用户进行多维度的统计分析,得出用户的行为偏好,比如喜欢吃烧烤,喜欢旅游,喜欢护肤品。将此标签映射到用户。那么,当用户下次进入该商圈,系统可按兴趣维度排序,将喜欢的商家排在用户手机APP前列。此外,当用户感兴趣的商品出现促销打折,系统也可通过短信、邮件等方式主动推送,达到精准营销。
作为一个科技宅,龙猫君一直孜孜不倦的研究业务,更加孜孜不倦的研究技术来实现业务。那么用户行为分析如何用大数据技术来实现呢?(如果业务人员看到这块头疼了,可以pass)
三.大数据实现用户行为分析
我们就采用最简单的类java语言来描述如何实现用户行为分析,并采用Hadoop中的HDFS分布式框架来实现。包括如下四个步骤。
第一步:建模
两个用户(ID 22和ID 30)浏览某电商网站上的手机充值页面和5元看电影页面。手机充值页面被浏览了12次,5元看电影页面被浏览了8次。ID为30的用户Location在武汉。这是某一具体timestamp下的数据,就像一张截图一样。当然,随着时间的推移,页面的浏览次数会动态变化,ID为30的用户可能Location到别的城市。
第二步:模型对象化
将上图的模型用类java语言描述:
Struct Data
{
Required DataUnitdatanuit;
}
Data是描述当前模型的基础数据集合,我们叫Dataset。
Union DataUnit
{
PersonProperty person_property;
PagePropertypage_property;
PageViewEdgepageview;
}
person_property描述用户ID,姓名,位置。page_property描述电商页面URL。Pageview描述用户浏览页面的次数。
第三步:运用HDFS框架存储上述数据集
HDFS是大数据技术框架Hadoop下的分布式文件系统。用来快速存储、查询、处理数据。HDFS中用的较多的组件包括Namenode,Datanode,Yarn,Hbase,Mahout。在本例中,我们只需要用到Namenode,Datanode。一般是一个Namenode对应多个Datanode。将一个文件分成若干数据块,分别存储到不同的Datanode。Namenode保存这些数据块的元数据并管理Datanode,并通过一些列安全机制确保数据存储和处理的稳定性和可靠性。
DataUnit每个属性值天然的分割了DataUnit这个数据集。每个属性值对应到/data/目录下不同的子目录中。/data/目录保存在Datanode节点中,将属性值分别存到不同的目录下后(以数据块的形式,当然数据块分散存储到不同的Datanode),这些数据块的元数据保存在Namenode节点下。
第四步:HDFS上的数据处理
经过前面三个步骤,我们就把原始数据保存到HDFS中。当业务人员想要分析过去某个时间段某个人浏览页面的次数,从而分析用户行为时,可以调用经过批量预处理的分析模型。模型会将主要的数据分析场景涵盖到。然而,不是全部分析场景。当这种情况出现时,我们要用原始数据进行直接查询,分析出结果。如下:
Function pageviewOverTime(DataUnit,url,starttime,endtime)
{
pageviews = 0;
for(record I in DataUnit)
{
If(record.url==url && record.time>= starttime && record.time<=endtime)
Pageviews++;
}
Return pageviews;
}
至此,就通过大数据技术实现了用户行为分析。用户行为分析在互联网日常运营中起到非常大的作用,可以帮助运营人员更好的了解互联网上发生了什么,还需要做什么来改进。帮助需求分析人员制定更加符合用户需求的迭代。