立即注册 登录
About云-梭伦科技 返回首页

dalongmao的个人空间 https://aboutyun.com/?54904 [收藏] [复制] [分享] [RSS]

日志

浅析用户行为分析

热度 1已有 2075 次阅读2017-3-1 14:20 | 移动互联网, 手机充值, 看电影, 文章, 朋友

行为分析是大数据分析中一个很重要的业务。我们经常讨论大数据,除了讨论大数据技术框架以外,更重要的是讨论大数据的应用。其中用户行为分析就是大数据中一个很重要的应用。当然,科技宅(比如龙猫君)认为大数据技术框架同样也很重要,Hadoop,Mapreduce,Mahout,Hbase,YARN。随着技术的发展,这些个组件会更新换代,逐步被淘汰。然而,这些组件所支撑的业务场景是不会改变的。

一.什么是用户行为分析

用户行为分析,从字面理解,就是对从互联网、移动互联网渠道所产生的用户浏览、点击等一系列线上的行为进行分析。这个业务场景是从互联网企业引入,互联网企业需要从海量的用户中获取其行为数据,进行统计、分析、挖掘,然后作为快速迭代开发的动力。

例如,TOMJerry是好朋友(好友关系涉及到社交大数据,以后专门写文章分析)TOM浏览了手机充值页面和5元看电影页面,Jerry浏览了5元看电影页面。手机充值页面被浏览了12次,5元看电影页面被浏览了8次。可以分析得出手机充值服务更受欢迎。

二.传统企业的用户行为分析

  随着互联网+时代的到来,传统企业纷纷拓展线上渠道,拓展客源。所以,用户行为分析变得越来越流行了。因为这些传统商家需要了解用户在想什么,在干什么,有什么诉求,对什么不满,然后进行调整。

  例如,某银行实施了一个信用卡消费相关的用户行为分析。首先,当用户在某个商圈用信用卡刷卡消费时,交易信息自动存入系统后台数据库。另一方面,当用户线上浏览和点击进行消费时,如使用类似大众点评、美团、支付宝APP,这些线上的用户行为数据同样存入系统数据库。在系统的历史数据库中,对用户进行多维度的统计分析,得出用户的行为偏好,比如喜欢吃烧烤,喜欢旅游,喜欢护肤品。将此标签映射到用户。那么,当用户下次进入该商圈,系统可按兴趣维度排序,将喜欢的商家排在用户手机APP前列。此外,当用户感兴趣的商品出现促销打折,系统也可通过短信、邮件等方式主动推送,达到精准营销。

作为一个科技宅,龙猫君一直孜孜不倦的研究业务,更加孜孜不倦的研究技术来实现业务。那么用户行为分析如何用大数据技术来实现呢?(如果业务人员看到这块头疼了,可以pass)


三.大数据实现用户行为分析

我们就采用最简单的类java语言来描述如何实现用户行为分析,并采用Hadoop中的HDFS分布式框架来实现。包括如下四个步骤。

第一步:建模

两个用户(ID 22ID 30)浏览某电商网站上的手机充值页面和5元看电影页面。手机充值页面被浏览了12次,5元看电影页面被浏览了8次。ID30的用户Location在武汉。这是某一具体timestamp下的数据,就像一张截图一样。当然,随着时间的推移,页面的浏览次数会动态变化,ID30的用户可能Location到别的城市。


第二步:模型对象化

将上图的模型用类java语言描述:

Struct Data

{

Required DataUnitdatanuit;

Data是描述当前模型的基础数据集合,我们叫Dataset

 

Union DataUnit

{

PersonProperty person_property;

PagePropertypage_property;

PageViewEdgepageview;

}

    person_property描述用户ID,姓名,位置。page_property描述电商页面URLPageview描述用户浏览页面的次数。

第三步:运用HDFS框架存储上述数据集

HDFS是大数据技术框架Hadoop下的分布式文件系统。用来快速存储、查询、处理数据。HDFS中用的较多的组件包括Namenode,Datanode,Yarn,Hbase,Mahout。在本例中,我们只需要用到Namenode,Datanode。一般是一个Namenode对应多个Datanode。将一个文件分成若干数据块,分别存储到不同的DatanodeNamenode保存这些数据块的元数据并管理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;

}

至此,就通过大数据技术实现了用户行为分析。用户行为分析在互联网日常运营中起到非常大的作用,可以帮助运营人员更好的了解互联网上发生了什么,还需要做什么来改进。帮助需求分析人员制定更加符合用户需求的迭代。


路过

雷人

握手

鲜花

鸡蛋

发表评论 评论 (1 个评论)

回复 ljlinux2012 2017-3-1 16:28
学习了

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条