就像我们反复看到的,两种市场份额统计的结论总是差异巨大。按照 StatCounter 的数据,到了六月份 Chrome 的市场份额是32%,略高于ie。而按照 NetApplications 的统计, Chrome 只有19%,远低于54%的ie。
后文并不准备讨论这两种市场份额数据谁更好的问题,只是单纯说说统计差异是怎么产生的:
一.样本差别
目前 StatCounter 部署统计工具的网站有四百万左右,而 NetApplications 有三十万左右, StatCounter 的统计样本比 NetApplications 大得多,因此理论上说,这对 StatCounter 获得更接近总体情况的数据更有利。不过显然四十万网站也已经是一个很大的样本了,已经足够得出相对准确的结论。这不会是导致两者数据出现如此巨大差距的重要原因。
二Chrome 的预加载问题
Chrome的地址栏输入使用和Google即时搜索类似的技术,记录用户的击键,预先加载用户可能会输入的网址。这项技术是 Chrome 17开始使用的,显而易见的,如果预加载产生的流量在总流量中占有很大份额,那么 Chrome 17推出后, Chrome 浏览器的流量份额将会有一个突然性的提升,然而事实是并没有,那个月 Chrome 的流量份额提升量也只有1%出头。即便这1%的提升全是由预加载产生的,也不会对最终的结论有很大的影响。所以这也不会是两种统计口径差别巨大的原因所在。
三 流量调整
StatCounter的统计,直接使用服务器监控到的原始流量数据。而 NetApplications 则以国家和区域为单位对流量进行重新调整, NetApplications 认为,由于各国人对网站的偏好不同(以及某些管制性因素,你懂的),导致这些服务器上监控到的流量数据并不能代表实际情况,比如某几亿网民的互联网大国,在这些网站上留下的访问记录少得可怜。怎么处理呢?加权调整。打个比方说,把某互联网大国的在服务器上监控到的可怜流量放大十倍,记录到一个ie或者 Chrome 用户,就当作是十个,以便让它产生的流量和它的大国身份匹配。
StatCounter和 NetApplications 部署统计工具的服务器主要在欧美,服务器记录下的用户浏览器偏好受欧美用户影响偏大,而欧美也是 Chrome 普及率很高的区域。因此进行加权调整,是有利于ie的。把 StatCounter 的数据,用同样方法调整过后,ie的市场份额上升了近10个百分点。应该说这项调整产生的统计差异是很大的,是两种统计方法产生的巨大数据差异主要来源之一。
四 市场份额计算标准
重复下前面的话, StatCounter 的统计,是直接使用服务器监控到的原始流量数据。 StatCounter 所说的市场份额,就是指不同浏览器各自产生的流量数据份额。
而netapplication再次采用了比较复杂的调整办法,它比较倾向于以用户数量作为市场份额的标准。一个浏览器在一天之内浏览了100个网页,另一个浏览器在一天之内只打开了一个网银页面,按 NetApplications 的想法两者市场份额是无区别的,都是一个用户。
不过由于服务器端并不能直接像获得浏览器版本号那样,获得一个精确度很高的用户身份唯一识别标识。所以 NetApplications 的统计还存在复杂的技术问题。如何确认哪些访问时来自同一个用户,哪些不是呢?原则上来说,这只有两种可行性方案,然而两种方案都很难说有多准确:一个方案是追踪cookies,网站服务器向浏览器cookies里写入痕迹,使得当这个浏览器再次访问它的时候,可以依据cookies知道它曾经到此一游。然而如果用户中途清空了cookies呢?或者进一步的,如果用户一直开启着隐私浏览模式向服务器声明自己不接受cookies写入的话,那么浏览器的每一次访问,都会产生了一个“新用户”。这里顺便说说,微软会在ie10中默认开启隐私浏览模式,显然这会在基于cookies追踪的统计里制造大量ie用户。cookies之外的另一个方案是追踪ip,服务器记录每一次访问页面的ip来源,同一个ip就作为同一个用户。但是这个方案的缺陷也很显然,因为没法识别多用户共用ip的情况,或者一个用户使用动态ip的情况。总而言之,要在统计层面上依靠网站服务器来严格识别用户基本是不可能的,所以 NetApplications 调整出来的用户量数据,跟实际差别有多大是很难确切说清楚的。
不过拿这个数据跟 StatCounter 的数据对比差异,刨掉前面说到的以国家为单位加权调整流量产生的差异后,ie的市场份额再次上升了10%。这至少能说明,ie用户的平均网页访问量是低于 Chrome 的。或更简单的说,经常用浏览器的用户往往更偏好 Chrome 。