referer是HTTP协议中,记录用户访问当前网页前的链接地址,通过referer机制,可以把互联网的上各个节点天然自动关联成一个地图。
目前很多站点上显示的最新来源(referer)统计都是用的是:
Stephen的referrer统计系统
由于他的http://www.downes.ca/每天要承受85万的日统计访问量并承受大量的SPAM(referer作弊),因此已经关闭了referrers统计系统,但系统程序本身是基于GNU版权公开发布的,所以其实每个服务器上都可以安装(我在51.net上安装没成功)
以下是我的安装和改进简介:
按此阅读全文 "Stephen的referrer统计系统使用和改进:如何对来自百度的来源进行统计" »
SEO: search engine optimization搜索引擎优化:为了提高来自搜索引擎的流量,SEO已经成为很多商业网站的必修课。但是如何评价网站的SEO效果呢,设计了以下脚本,可以获得以下方面的参考数据:
1 那些网页被搜索引擎的Spider收录: 来自搜索引擎的spider统计;
2 那些网页被搜索搜索到那些网页并被点击: 来自搜索引擎的referer统计;
3 被搜索引擎搜索到的时候使用的那些关键词: 来自搜索引擎的keywords统计;
脚本如下:
按此阅读全文 "SEO效果评价:spider referer 和 keywords" »
和AWStats一样,Google Analytics完全没有考虑中国的搜索引擎市场中更主要的2个搜索引擎来源:Baidu/3721/soso等搜索引擎的来源,而微软和电信的合作,有道引擎等,如果要计入统计方法也很简单hack一下urchin.js的部署代码即可:
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "YOUR_USER_ID";
_uOsr[121]="3721"; _uOkw[121]="name";
_uOsr[122]="baidu"; _uOkw[122]="word";
_uOsr[123]="soso"; _uOkw[123]="w";
_uOsr[124]="vnet"; _uOkw[124]="kw";
_uOsr[125]="yodao"; _uOkw[125]="q";
urchinTracker();
</script>
搜索引擎定义编号最好从120开始:因为analytics对全球各地主要搜索引擎的定义还不断在更新中,目前(2007年12月)已经增加到了33个,
_uOsr[0]="google"; _uOkw[0]="q";
_uOsr[1]="yahoo"; _uOkw[1]="p";
_uOsr[2]="msn"; _uOkw[2]="q";
_uOsr[3]="aol"; _uOkw[3]="query";
_uOsr[4]="aol"; _uOkw[4]="encquery";
_uOsr[5]="lycos"; _uOkw[5]="query";
_uOsr[6]="ask"; _uOkw[6]="q";
_uOsr[7]="altavista"; _uOkw[7]="q";
_uOsr[8]="netscape"; _uOkw[8]="query";
_uOsr[9]="cnn"; _uOkw[9]="query";
_uOsr[10]="looksmart"; _uOkw[10]="qt";
_uOsr[11]="about"; _uOkw[11]="terms";
_uOsr[12]="mamma"; _uOkw[12]="query";
_uOsr[13]="alltheweb"; _uOkw[13]="q";
_uOsr[14]="gigablast"; _uOkw[14]="q";
_uOsr[15]="voila"; _uOkw[15]="rdata";
_uOsr[16]="virgilio"; _uOkw[16]="qs";
_uOsr[17]="live"; _uOkw[17]="q";
_uOsr[18]="baidu"; _uOkw[18]="wd";
_uOsr[19]="alice"; _uOkw[19]="qs";
_uOsr[20]="yandex"; _uOkw[20]="text";
_uOsr[21]="najdi"; _uOkw[21]="q";
_uOsr[22]="aol"; _uOkw[22]="q";
_uOsr[23]="club-internet"; _uOkw[23]="q";
_uOsr[24]="mama"; _uOkw[24]="query";
_uOsr[25]="seznam"; _uOkw[25]="q";
_uOsr[26]="search"; _uOkw[26]="q";
_uOsr[27]="szukaj"; _uOkw[27]="szukaj";
_uOsr[28]="szukaj"; _uOkw[28]="qt";
_uOsr[29]="netsprint"; _uOkw[29]="q";
_uOsr[30]="google.interia"; _uOkw[30]="q";
_uOsr[31]="szukacz"; _uOkw[31]="q";
_uOsr[32]="yam"; _uOkw[32]="k";
_uOsr[33]="pchome"; _uOkw[33]="q";
百度/3721搜索来源统计效果截图:2005年11月

按此阅读全文 "Google分析使用技巧:给Analytics增加针对百度/soso等搜索来源统计代码" »
今天尝试了一下StatViz,生成了自己网站的点击路径统计:网站好“扁平”啊;
图较大,点击这里下载
具体的安装过程如下:
下载GraphViz: 一个通用的矢量图生成工具
下载StatViz: 一个基于Web日志生成点击路径矢量结构的工具(PHP脚本)1000多行,生成的.dot文件再使用GraphViz处理生成矢量图了。
辅助安装包:StatViz可能需要PEAR中的Config包:用于解析配置文件。
安装好以上包后: 解包statviz-0.5.tgz
php statviz.php --config=example.conf
就可以生成相应的.dot文件了,其中一个输出文件是汇总的点击pairs统计。
按此阅读全文 "利用StatViz生成网站用户点击路径图" »
今天看了一下FeedBurner的同步策略: 他们在带宽的节省方面还是下了很大的工夫的。
首先最近3天的日志中:只有少量的是 真正产生流量的200访问,大部分都向服务器发送了缓存校验,服务器返回是304(未更新) 只有当有新条目生成的时 才返回新的内容。而收到新条目后,FeedBurner还会发送HEAD校验一下新条目URL是否存在。
grep http://www.FeedBurner.com chedong_access_log.200601*|awk '{print $0}'|grep -v 304
chedong_access_log.20060117:66.150.96.109 - - [17/Jan/2006:06:00:52 +0800] "HEAD /blog/archives/001065.html HTTP/1.1" 200 0 "-" "FeedBurner/1.0 (http://www.FeedBurner.com)" 66.150.96.109.36261137448852425
chedong_access_log.20060118:66.150.96.109 - - [18/Jan/2006:11:47:43 +0800] "GET /blog/index.rdf HTTP/1.1" 200 29845 "-" "FeedBurner/1.0 (http://www.FeedBurner.com)" 66.150.96.109.312341137556063122
chedong_access_log.20060118:66.150.96.109 - - [18/Jan/2006:12:49:59 +0800] "GET /blog/index.rdf HTTP/1.1" 200 32033 "-" "FeedBurner/1.0 (http://www.FeedBurner.com)" 66.150.96.109.234351137559798399
chedong_access_log.20060119:66.150.96.109 - - [19/Jan/2006:13:03:27 +0800] "HEAD /blog/archives/001111.html HTTP/1.1" 200 0 "-" "FeedBurner/1.0 (http://www.FeedBurner.com)" 66.150.96.109.127431137647007148
按此阅读全文 "FeedBurner的更新频度: 30分钟同步一次" »
FireFox 1.5用户的升级速度很快,
本月比例:1.5.0.4在6月初发布的一个月后大部分用户已经升级
Firefox 1.5.0.4 否 23075 10 %
Firefox 1.5.0.3 否 1144 0.4 %
Firefox 1.5.0.2 否 422 0.1 %
Firefox 1.5.0.1 否 450 0.1 %
对比一下5月份的比例:大部分用户当时是用1.5.0.3
Firefox 1.5.0.4 否 2487 0.1 %
Firefox 1.5.0.3 否 161038 10.1 %
Firefox 1.5.0.2 否 18101 1.1 %
Firefox 1.5.0.1 否 9762 0.6 %
而作为高危漏洞软件之首的FireFox 1.0用户正在稳步下降:
5月份比例:
Firefox 1.0.8 否 1296 0 %
Firefox 1.0.7 否 9496 0.5 %
Firefox 1.0.6 否 4202 0.2 %
6月份数据:
Firefox 1.0.8 否 1018 0 %
Firefox 1.0.7 否 4343 0.2 %
Firefox 1.0.6 否 5945 0.3 %
按此阅读全文 "FireFox的自动更新 1.5.0.4 => 1.5.0.5" »
你的网站上是不是也有很多这种被人意外搜索到的内容呢?
如果不是看日志统计:真的是很难想象niernier.com上3年以来最著名的关键词是“芝华士”:这篇帖子的300多篇评论中也包含那首广告歌的歌手的回复。
12639个关键字词 搜索次数 百分比
芝华士 6996 8.2 %
芝华士 5471 6.4 %
芝华士广告歌 1860 2.1 %
芝华士广告 1670 1.9 %
按此阅读全文 "歪打正着之:免费杀毒软件和芝华士广告" »
用LiveHTTPHeaders做了一个比较:发现GMail比Yahoo!Mail和LiveMail快还是有原因的。
从输入域名,到登录完成进入邮箱的HTTP请求次数(已经保存密码自动登录):
9 gmail.log
19 hotmail.log
34 ymail.log
GMail的请求:9次
GET /mail/
GET /mail/
GET /mail/
GET /mail/im/dropupdown.gif
GET /setgmail
GET /mail/
GET /mail/
GET /mail/
GET /mail/
Live Mail的请求:19次,其中7个广告相关的请求
GET /mail/mail.aspx
GET /mail/Bootstrap_11.08.0100.0011.aspx
GET /mail/loading_11.08.0100.0011.aspx
GET /mail/ApplicationMain_11.08.0100.0011.aspx
GET /c.gif
POST /mail/mail.fpp
GET /mail/stylesheet_11.08.0100.0011.aspx
GET /mail/11.00/theme0/thumbn.gif
GET /mail/11.00/theme7/thumbn.gif
GET /ADSAdClient31.dll
GET /ADSAdClient31.dll
POST /mail/mail.fpp
GET /mail/11.00/theme6/thumbn.gif
GET /ADSAdClient31.dll
GET /mail/11.00/theme4/thumbn.gif
GET /ADSAdClient31.dll
GET /main/adfshow
GET /main/adfshow
GET /msnms/20061025/Hotmail(China)today_Rectangle_300_250_20k.swf
Yahoo!Mail(Beta版):34次
GET /
GET /b
GET /search
GET /yab/cache/cn/w85nP6Cx_z657_m9Yyg9Aw--
POST /ws/mail/v1/soap
POST /rss/Content/V3.0/getUserFeedData
POST /ws/mail/v1/soap
GET /dc/fc
GET /ws/cal/w85nP6Cx_z657_m9Yyg9Aw--/v0.1/event
GET /a
GET /a
GET /b
GET /a
GET /candygram/welcome/
GET /b
GET /a
GET /a
GET /img/loginrec.htm
GET /candygram/welcome/
GET /promo/p2006/tab_cg.html
GET /a
GET /us.yimg.com/a/1-/jscodes/031016/ct_lrec_031016.js
GET /img/loginrec.htm
GET /b
GET /b
GET /a
GET /b
GET /promo/p2006/tab_cg.html
GET /b
GET /b
GET /a/ad/daphne/20060809_74790_3_300x250_lrec_dragdrop_China.swf
GET /serv
GET /serv
GET /mail/
按此阅读全文 "速度比较:GMail/MSN/Yahoo!Mail" »
按照是否匿名和是否遵循robots.txt协议有4种蜘蛛:
1 真名真姓,遵循robots.txt 协议。代表:GoogleBot BaiduSpider MSNBot Yahoo!Slurp 等
2 真名真姓,不遵循robots.txt协议。代表:iAskSpider SohuAgent wget
3 匿名,不遵循robots.txt协议。代表:大量的匿名蜘蛛,例如 OutfoxBot;
4 伪装:不遵循robots.txt协议。代表:中搜,各种SpamBot,
如何识别这四类蜘蛛呢?通过HTTP协议和是否支持mod_gzip都很好的特征。做一个知荣知耻的spider很难吗?事实上:比较难。没有一定的技术积累,spider就和spambot一样。详细分析附后:
按此阅读全文 "Spider: 以遵守robots.txt协议为荣 以匿名盗抓为耻" »
用一些简单的脚本和接口对MT spambot做了一些统计,网站上已经没有mt-tb.cgi这个文件了,来访问这个地址的都是spammer。
结论如下:spam的运行时间分布很均匀,来源IP以国外为主,一般是对MT已有文章地毯式的ping。
基本上如果通过特征的方法来识别,不如全部过滤。所以动态修改trackback地址/文件名是必须的可以过滤掉95%以上的spam,动态trackback地址/参数则过滤掉将剩余的5%中的90%。
详细数据附后。
按此阅读全文 "[MT] Trackback spambot的特征分布 - 2006年12月份" »
今天早上咨询了一下CERNET用户服务部:如何加入教育网的免费地址列表?
请通知你的服务商,让IDC和cernet联系申请加入(走服务器网段加入免费列表申请流程):
联系人 010 - 62603429 杨小姐。
注:
1 我的机器就在国内(不通过国际光缆),北京 电信通机房主机托管1台;
2 开通了以后如何检查: CERNIC免费IP查询;
Does 60.195.249.163 belong to CERNET "free" IP list?
No.
60.195.249.163 不在免费之列.
60.195.249.163 is NOT in free IP list.
按此阅读全文 "申请主机IP地址加入教育网的免费列表 010 - 62603429(杨小姐)" »
Crawl-delay: 100 的访问频度:Yahoo! Slurp比一般引擎高4-5倍
Yahoo Slurp 95899+234 415.40 M字节 2007年 9 月 30日 23:58
Yahoo! Slurp China 81349+165 479.04 M字节 2007年 9 月 30日 23:59
Googlebot 17741+518 96.31 M字节 2007年 9 月 30日 23:47
Crawl-delay: 1000 的访问频度: Slurp已经恢复到和其他引擎相同水平
Googlebot 22448+413 196.22 M字节 2007年 11月 21日 23:53
Yahoo! Slurp China 15881+192 116.92 M字节 2007年 11月 21日 23:57
Yahoo Slurp 10661+155 98.77 M字节 2007年 11月 21日 23:59
按此阅读全文 "控制Yahoo!Slurp China蜘蛛的访问频度 Crawl-delay: 1000 的效果" »
大部分web引用统计系统都实现了基于站内的点击行为分析,但是对于点出到其他网站的链接,由于点出链接地址不一定都部署了相通的统计。那么这些点击行为就要在链接所在的页面在点击的时候触发统计了。传统的是中间转向页面,但这样的
链接机制非常不利于SEO,给蜘蛛带来了大量的麻烦用于识别真正的目标地址;之前介绍过一些基于
鼠标触发机制的页面点出统计方法: 一般是通过在点击的时候触发在当前页面插入一个 img bean,然后统计相应的img 请求实现,现在连这样的点击触发器在Google Analytics统计中也可以自定义实现了: 以下例子在页面点击的时候,会触发Google Analytics生成一个对clickto/TAGET_URL 一个自定义的地址(clickto实际上不存在的)请求访问;
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write("\<script src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'>\<\/script>" );
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-69476-1");
pageTracker._addOrganic("baidu","word");
pageTracker._addOrganic("soso","q");
pageTracker._addOrganic("vnet","kw");
pageTracker._addOrganic("yodao","q");
pageTracker._initData();
pageTracker._trackPageview();
document.onclick = function(e) {
e = e || event;
var el = e.target || e.srcElement;
if ( el.tagName=='A' ) {
pageTracker._trackPageview("\/clickto/" + window.location.href.replace("http:\/\/www.chedong.com/", "") +
el.href.replace("http:\/\/", "\/"));
}
}
</script>
在统计报表中看到的效果就是这样的:

通过在所有访问url中过滤出clickto即可;
感谢
XD同学,这个点出统计例子从
very.cd上学到的;
一个好的例子
胜过长篇大论,可以看到very.cd通过对onclick的触发机制,结合站内的cookie等还实现了客户回访率统计等;
按此阅读全文 "基于Google Analytics的点出统计" »
这里将一些利用Google analytics _trackPageview()进行URL改写实现别名统计的方案样例整理如下:
1 自定义链接改写(rewrite): 将URL变成可读性更好的地址, 例如:
/index.php ==> 部署 pageTracker._trackPageview('/首页');
/photos/sun_rise.html ==> 部署 pageTracker._trackPageview('/相册/日出');
这样就可以在页面基于url的分布统计之外,另外通过页面别名实现另外一套可读性更好的映射统计,解决按目录,按页面类型,
2 对动态参数网页进行别名统计:Google统计会忽略掉动态网页 ? 后面的参数,但将 /?a=1&b=2 在统计中改写变成 /a/1/b/2 后,就可以通过pageTracker._trackPageview("/a/1/b/2") 后不修改URL也能变相统计出来;
3 结合前台js,cookie信息和后台注册信息和后台程序组合逻辑进行扩展统计:用前端脚本或者后台程序动态生成: pageTracker._trackPageview("参数") 实现更复杂的统计别名
例如:
用户注册天数: pageTracker._trackPageview("/user/age/203days"),用于登录用户的注册时间分布;
分析性别分布: pageTracker._trackPageview("/user/sports/male") 分析每个频道的用户性别比例;
记录用户ID: pageTracker._trackPageview("/username/chedong/channel_a") 导出报表后,结合用户数据库信息,获得每个用户在各个频道的行为特点;
区分referer: 在同一个页面按referer不同分别进行统计:
pageTracker._trackPageview("/reg/from/partener")
pageTracker._trackPageview("/reg/from/baidu")
4 点出统计:通过onclick事件发出一个虚拟URL统计请求,这个机制可以用于统计flash,下载或点击到外站等无法部署统计代码的目标地址;
另外: Google提供的API大部分是部署时的接口/方法,更关心获得报表输出的批量导出API, 据说正在开发中:近期只对Trusted Tester开放,这样就更加方便和其他报表系统/应用集成了;
按此阅读全文 "使用Google analytics的 _trackPageview()对网页进行重新命名统计" »
2月份雅虎统计推出了一个新功能:访客网购兴趣,估计是基于用户的淘宝用户行为做的分析,数据好像不是每天更新,近期刚更新过。
本网站最适合用户人群:
类型 购买比例 相对平均差异
车载MP3/视听 2.68% 92.8%
数码相机其他配件 2.33% 84.9%
笔记本电脑 3.26% 69.8%
数码摄像机 1.12% 62.3%
GPS配件/车载通讯 7.31% 61.4%
品牌家饰 0.70% 55.6%
GPS 2.07% 54.5%
看来适宜推荐各种IT新设备;
相对其他网站平均的差异 = 是以与平均水平相比/平均水平
最不适宜在本网站投放的10中商品广告:
职业套装/学生校服/工作制服 0.72% -41.0%
运动装外套 0.51% -42.0%
热水器/浴霸 0.26% -42.2%
围巾/丝巾/披肩 0.26% -42.2%
运动裤/裙 0.27% -42.6%
胶卷相机 0.27% -43.8%
女装羽绒服 0.27% -43.8%
装潢二手/闲置专区 0.27% -44.9%
文胸套装 0.26% -46.9%
运动套装 0.34% -50.7%
装饰画/无框画 0.26% -52.7%
按此阅读全文 "雅虎统计 chedong.com 读者基于淘宝购物行为的访客网购兴趣分析" »
在电视节目中经常看到关于选举的报道中经常会后有支持率的数字,例如:调查结果为
- a方支持率为45.3%;
- b方支持率为30.2%;
- c方支持率为8.5%;
- ...
最后都会说明一下,此次电话调查的数量2352,置信度为95%﹐最大容许误差为±2.5%,这就是抽样调查的典型情景:一个大的集合(比如:数千万选民)做一次调查的成本较高,抽样调查可以低成本的用近似的(可接受的)数据反映实际情况;在用户调研中,也经常通过通过抽样调查的方式并对比打分的方法做评估。
抽样误差: 假如相同规模的抽样调查进行多次, 抽样均值在真实均值的上下波动,相对于整体均值的偏移波动就是抽样误差,而这个误差的分布是符合标准正态分布的,例如下图: 横轴为整体的均值,圆点是每次抽样的均值,而红色那次抽样就是加上误差后都未覆盖到均值线的情况);
最小抽样量的计算公式: 抽样量需要 > 30个才算足够多,可以用以下近似的误差/样本量估算公式;
n: 为样本量;
:方差,抽样个体值和整体均值之间的偏离程度,抽样数值分布越分散方差越大,需要的采样量越多;
E: 为抽样误差(可以根据均值的百分比设定),由于是倒数平方关系,抽样误差减小为1/2,抽样量需要增加为4倍;
: 为可靠性系数,即置信度,置信度为95%时,
=1.96,置信度为90%时,
=1.645,置信度越高需要的样本量越多;95%置信度比90%置信度需要的采样量多40%;
为了体现相对差距: 假设抽样均值为 y
相对抽样误差 h = E / y
变异系数 C= σ / y
以下是基于抽样得分的抽样误差估算表格: 方差越大需要的样本量越多,数据离散度越低,需要的抽样量越少;
| 置信度 | 相对抽样误差(假设:C=0.4) |
| 1% | 2% | 3% | 4% | 5% |
| 95% | 6147 | 1537 | 683 | 384 | 246 |
| 90% | 4330 | 1082 | 481 | 271 | 173 |
如果是基于胜出率,支持率等: 分值为0/1状态分布,公式拟合为
π为按照经验得出的最后比例,在未知时π可取50%,待算出结果后再重新拟合,比例越悬殊需要的样本量越少;
| 置信度 | 相对抽样误差 |
| 1% | 2% | 3% | 4% | 5% |
| 95% | 9604 | 2401 | 1067 | 600 | 384 |
| 90% | 6765 | 1691 | 752 | 423 | 270 |
从而看出大部分的电话抽样调查:95%置信度的情况下,误差要控制在2%以内取样量一般在2000-5000;为了方便计算抽样调查的误差和估算抽样量,制作了一个Excel表格附后,调整颜色框中的抽样量数字就可以得到相应的误差或根据指定的误差范围估算出抽样量;
按此阅读全文 " 如何确定抽样统计的最小样本量(附:随机抽样统计的抽样误差Excel计算表格)" »