|站日志分析Ҏ(gu)pd一
在网运营改版过E中Q经常有设计师或者运营同事有q样的疑问:我的面到底产生了多大h(hun)|q个面引导的用h下来讉K了多商品的面Q有没有产生交易Q有没有到我惌用户ȝ那些面Q?/p>
如果使用数据库查询,固然可以得到一些结果,但查询过E过于复杂,数据量大的网站查询耗时太长Q很隄zd用到普通页面。本文提ZU相对简单的分析Ҏ(gu)可以解决q个问题?/p>
每个用户在网站上的访问轨q在|站日志或者数据库中,都是一串URLQ有的只讉K了一两步Q有的访问了成百上千步,如何在如此复杂繁多的数据中找到用户在讉K某个面Q例如服装首)之前或者之后n步,有多h讉Kq特定页面(例如交易面Q?
先抛开q个问题Q我们想象这样一个场景:在一个大会场中,熟h坐在某个座位上,如果我们知道他们的位|,我们的眼睛很Ҏ(gu)聚焦到这几个位置Q自动忽略其他位的人,请参看图1。同PZ在观察周围事物时Q经怼把精力聚焦到自己兛_的事物上Q下意识忽略其他。我们曾l做q这L(fng)实验Q我们的报告厅有4个很大的外置式扩韛_Q分列在两侧。注意不是U不昄的内|式QQ何h只要E微留心?yu)׃看到。而当我们要求会场的h闭上眼睛回答会场有几个扩韛_Ӟ很少有h能给出正答案,因ؓ大部分h会关心更重要的东西,比如会议内容Q提问问题,甚至是如何找个舒适的位子也比扩音器的多少更让人关心?/p>
回到我们|站到的问题,某个目的设计师兛_的页面ƈ非全部,而只是几个与之页面有关的面和部分重要的指标面。因此我们可以去除相x不大的面Q只保留兛_面Q从而羃短用戯\径,大大提高计算效率?/p>
另外Q我们把索引的思想引入分析q程中,把网늚URL按照一定规则(例如正则表达式)替换成简单字W,把相x不大的面l计替换为同一个字W(例如“0”Q,把一些过渡性的面替换成某个字W(例如”p”Q,如此以来Q每个用L(fng)讉K路径可以表CZؓ一个字W串Q例?#8221;a,c,0,0,0,a,p,p,c,0,c,d,0,0,0”。也有的用户的访问\径全为相x不大的面Q此Ӟ路径?#8221;0,0,0,0,0,0,0,0,0,0,0,0,0,0”Q这表示用户q未讉K到目标页面,如果不需要计用h例或用户分类Q那么这L(fng)记录我们可以删除掉?/p>
如果需要保留其他的用户信息Q例如cookieidQ登录名Q访问时间等信息Q这个字W串会更加复杂些。如果我们研I目的比较简单,q可以进一步处理,如果不需要对步长信息q行分析Q我们可以去掉相邻重复的一些数据,把上式简化ؓ” a,c,0,a,p,c,0,c,t,0”?/p>
q个q程请参看图2中的①和②,由此我们可以得到多个用户的\径的字符串Ş式的文g?/p>
得到q个聚焦式用戯\径文件后Q我们就可以对这个字W串文gq行分析了。例如,我们需要计a面后有多少个c面Q需要能忽略中间的翻页面(p面Q。在上例中的q个用户的字W串中,是1个用P2ơc面。如果在讉K了其他页面之后再讉Kc面的行Z可计入内的话,那就?个用P3ơc面?/p>
接下来就是分析的h量问题。一般分析过E中会讲I?#8220;多而全”Q但数据量大C定别,分析1/10甚至1/100人群与分析全h所得到的结果相差无几,p很多资源L升一点精度是一件很得不偿失的事情。因此可以酌情分析小h量,节省分析成本?/p>
׃目标面业务的独Ҏ(gu),每次需要分析的方式也很个性化。\径查询器可以灉|应对各种查询。例如,我们需要计a后面有t的hơ,a后面紧跟着c的hơ,行ؓW合某种模式的用h有多等{。需要统计的模式在分析算法配|文Ӟ?中的③)中进行配|,查询器会计算q导出最l结果?/p>
另外Q查询器q支持分cM息查询,Ҏ(gu)用户路径文g的配|信息,Ҏ(gu)U分cȝ人群分别查询Q或者导出符合某U模式的人群CookieidQ用户名{,与其他数据存储媒介联接,取得q部分h的其他信息Q从而进行综合分析?/p>
q种Ҏ(gu)优点在于比较灉|Q如果网站的URL规则比较规范Q在配置q程中可以多采用正则表达式,从而可以发现更多有的现象?/p>
