今天有人问我会不会推荐算法,回到家里反复思考了下(其实就是一个会与不会的回答,为啥我还要反复思量下了?),我发现自己从事软件开发工作这么多年,大小项目无数,但是如果从做应用角度换句话说我做了哪些提高人们工作效率或者改变了哪些人的生活方式的东西呢?项目做的再多,技术再精通也就是一个单兵实力很强的士兵,没有一个层次的提升最终都是一个兵,技术是手段是工具,我用对了地方才能发挥重大的价值,这个地方到底在哪里对现在我而言是一个不得不思考的问题,因为我现在太想提升自己的能力了。这个所谓的地方就是我们所说的业务,我必须要找到一个业务方向精深下去了,而今天所说的推荐算法就是一个很好的引子。
推荐对于互联网公司太重要了,互联网是这个世界里最讲究平等、开放的东西,在互联网里的无拘无束引来了那么多精英投身于他,所以最终再他那不到十几年的时间才会那么深刻的改变人类的生活方式,但是做出不朽网站的却往往是利益至上的商人,而平等与开放又让他很难直接对用户伸手要钱,所以互联网公司的盈利方式都是那么的简单和单一,更多还是股市上投资人对它们未来坚定不移的信任。不过互联网是聚集人群的地方,那么多人总会有办法引导它们去消费,那么能清晰的分析出这么多用户的行为特征,了解自己用户的价值取向一定会将商人的公司引向源源不断的财富,而推荐的技术就是为了解决这些问题的。
我做过互联网公司的用户行为分析系统,这其实就是在做推荐,它就是推荐的源头,所以我可以说自己做过推荐算法,但是我只是在实现推荐功能的软件,之后通过我对系统的了解反过来为产品经理提供良好的建议。
用户行为分析这个业务方向很好,绝对是一个有旺盛生命力的方向,我现在手头有一些关于用户行为分析的资料,也很清楚我所在公司的用户行为分析的系统架构设计,我很有必要总结下这里面的知识,让自己的经验延伸到一个解决业务问题的能力,所以今天起我将开启“用户行为分析笔记”,希望能在博客园里以文会友,有更多志同道合的人加入到我学习和研究的这个过程里来。
由于这个系列是今天的灵光一线,所以还没有认真思量这个系列知识的层次和结构,凭借我以前项目的经验我在概述里首先提及两个很重要的概念PV和UV。
PV(page view)即页面浏览量,或点击量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。
高手对pv的解释是,一个访问者在24小时(0点到24点)内到底看了你网站几个页面。需要注意的是:同一个人浏览你网站同一个页面,不重复计算pv量。pv就是一个访问者打开了你网站的几个页面。PV是投资者衡量商业网站表现的最重要尺度。
pv的计算:当一个访问者访问的时候,记录他所访问的页面和对应的IP,然后确定这个IP今天访问了这个页面没有。如果你的网站到了23点,单纯IP有60万条的话,每个访问者平均访问了3个页面,那么pv表的记录就要有180万条。
PV很粗犷,可以说很容易作假,但是这也就是互联网公司忽悠风头的重要指标。
UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。我们系统里客户端唯一标示是基于我们网站写在客户端的cookies的ID。
我们所做的用户行为分析80%以上的功能都是基于这两个指标来进行的。
在我手头有一份我们项目资料,里面写道我们所做的用户行为分析系统的设计是基于那些要点进行的,我将这些要点列举如下:
用户行为分析系统的目的是增强网站访客想法的能力。
分析的要点如下:
一、点击密度分析
点击密度就是指一个页面各个功能点被点击次数的分布情况,这个是从用户行为的角度解释,它的作用就是通过采集页面各个功能点点击次数,让我们知道用户对那些东西感兴趣,反过来,我们加入页面的功能点用户喜欢点击吗?如果点击次数没有达到预期,我们施加什么样的影响,他们才会觉得有趣,有意思。
二、访客的目的
这个要点非常宽泛,其实最准确的方案就是让客服不断给用户打骚扰电话,直接问个明白。但是我们可以通过采集的数据间接的分析访客的目的,在我们系统里主要是通过收集用户访问网站的渠道,比如是通过搜索网站还是导航网站,或者是直接打地址来访问,其次就是通过分析一个页面的上游页面和下游页面来推测用户的行为的目的。
三、任务的完成率
任务的完成率是什么呢?例如我们第一次使用淘宝网站,首先要注册淘宝用户信息,想买东西还要注册支付宝账户,这个过程不是那么轻松自如的,有些用户在进行这个过程时候碰到一些不清楚的问题可能就会放弃导致用户的流失。任务的完成率就是指完成某个特定任务的用户比率,它可以衡量出我们设计的系统的用户体验性的好与坏,在我们的系统里我们还有一个页面转化率的指标,比如完成某某注册过程需要5个页面,而在那个页面的跳出率最高,这样就可以分析出我们功能模块设计的不合理的地方在哪里了。
四、细分的访客趋势
这是更深层次的用户行为分析了,首先对用户进行分类,然后将不同类的用户做细化的分析,这个功能在我们用户行为分析系统里体现较少,主要集中在两块:一个是按地域分类用户,一个是按会员和非会员分类,其他细分的访客趋势都是我们为数据分析和挖掘部门提供数据,他们建立数据模型,在数据库里面计算后生成报表。
五、多渠道影响分析
这个也是更深层次的分析了,这个功能大部分还是数据分析和挖掘部门通过实际业务建模生成报表,我们系统主要是网站的访问渠道以及搜索关键字来进行的。
概述就写这么多了,在写这篇文章时候我觉得自己主要还是个技术人员,如果单单从业务角度讲叙这个主题我肯定很难讲好,我以后会从系统架构角度来进行这个主题,这个过程比我写javaEE框架要麻烦的多,因为中途会涉及我不太擅长的领域,一个是日志文件的处理,这里牵涉到shell和perl的技术,还有就是海量数据在网络间的传输,这里就会牵涉分布式技术以及计算机通讯知识,还有海量非结构化数据的存储和计算,这就是hadoop、Nosql以及mapreduce技术,里面也有我很擅长的,例如javascript技术以及javaEE技术,这回有点挑战了,我尽力将这个任务完成好。