Análisis de los puntos débiles en los sistemas de estadísticas web
- ¿Cuántas
páginas tiene tu sitio? ¿las estás
monitorizando todas? - Clientes detrás de Proxys y
routers NAT - Visitas desde .COM .NET .EDU y
.ORG - Visitas desde origen
desconocido - ¿Dónde reside el
"motor" del sistema de estadisticas?
En este artículo analizaremos las causas de por
qué los servicios
básicos nos dan números erróneos, y daremos
al lector los elementos de evaluación
para que pueda por sí mismo determinar la fiabilidad de un
servicio de
estadísticas web.
La enorme mayoría de los servicios gratuitos de
estadísticas de acceso web nos muestran
una visión distorsionada sobre lo que realmente ocurre en
nuestros sitios web. Sin embargo existe la tecnología necesaria
para realizar análisis de tráfico absolutamente
realistas…
Lamentablemente estas tecnologías sólo
suelen ser usadas por los servicios de estadísticas
más caros (los planes "enterprise", "premium" o
"professional" que ofrecen los proveedores
más importantes), en tanto los webmasters que optan por
los planes gratuitos (también llamados "basic", "free",
etc) se suelen contentar con reportes y gráficas que sólo reflejan una parte
de lo que en realidad está ocurriendo en un sitio web
(ésto en el mejor de los casos, ya que muchos servicios
nos reportan números totalmente mentirosos).
En este artículo analizaremos las causas de por
qué los servicios básicos nos dan números
erróneos, y daremos al lector los elementos de
evaluación para que pueda por sí mismo determinar
la fiabilidad de un servicio de estadísticas
web.
¿Cuántas páginas tiene tu sitio?
¿las estás monitorizando todas?
La mayoría de los sitios web se componen de
varias páginas
web (a pesar de que mucha gente usa indistintamente las
expresiones "página
web" o "sitio web" para referirse a lo que aquí
llamamos "sitio": la colección de páginas, imágenes,
hojas de estilo, applets, CGIs, etc. que conforman un proyecto web
alojado bajo un mismo dominio).
Ahora bien, cuando un sitio web se compone de varias
páginas, todas ellas tienen la posibilidad de recibir una
visita sin necesidad de que el visitante pase por la
página de inicio, y este tipo de visitas directas tiende a
incrementarse cuando nuestras páginas fueron indexadas por
buscadores
(que suelen mostrar subpáginas de diferentes sitios en los
resultados de sus búsquedas).
También es posible que desde otros sitios web
existan enlaces hacia subpáginas específicas de
nuestro sitio, y ésta es otra fuente de visitas que no
pasan por la página de inicio.
Los sistemas de estadísticas que se basan en la
inclusión de un botón en nuestra página de
inicio sólo contarán las visitas que abrieron la
página de inicio, y por tanto no nos harán saber de
toda la actividad que se desarrolle en el resto de los documentos de
nuestro sitio web.
No es lo mismo un "acceso" que una "visita"
Acceso se llama a una apertura de página, no
importa en qué condiciones: Si yo entro en un sitio web y
hago click 9 veces en el botón "recargar" de mi browser,
entonces generé 10 accesos a la página (un acceso
inicial al entrar a la página, más 9 accesos que
generé recargándola).
Posiblemente el webmaster vea el reporte y diga "que
bien, acaban de entrar diez personas!"… Visita se llama a la
entrada de una persona bien
individualizada a nuestra página, independientemente de
cuantas veces la abrió o recargó en su browser. Es
muy común que una persona que visita un sitio web lo
recorra abriendo varias veces determinadas páginas (para
volver a acceder a un menú, o una lista de links, por
ejemplo).
Cuando manejamos el concepto de
"visita", también debemos manejar el concepto de timeout
de visita. El timeout de visita es el tiempo de
inactividad que debe transcurrir para que consideremos que una
visita ha concluido. Este timeout puede variar entre 30 y 120
minutos. Una vez transcurrido este tiempo de inactividad, si el
visitante vuelve a abrir la página, se le considera una
nueva visita. Al fin de cuentas,
sí es posible que una persona nos visite varias veces al
día. En los hechos se da y no tiene nada de
extraño. Sólo debemos tener la precaución de
determinar mediante el timeout si una nueva apertura de
página es parte de una visita en curso, o en cambio la
persona nos dejó y ha vuelto generando una nueva
visita.
Para terminar de ilustrar el concepto: imaginemos la
situación que se generaría en una máquina
instalada en un cybercafé, desde donde una persona
visitó nuestra página. Si al cabo de un rato esa
misma máquina es ocupada por un nuevo cliente que
también abre nuestra página, no hay ninguna
razón para dejar de contabilizarlo como visita.
¿Qué es lo que contabiliza tu sistema de
estadísticas? ¿Accesos o visitas? No dejes que te
hagan pasar accesos como visitas, pues en ese caso estarás
viendo números mucho mayores a los verdaderos, que tal vez
te llenen de satisfacción, pero que nada tienen que ver
con la realidad de lo que pasa en tu web.
Clientes detrás de Proxys y routers
NAT
Un servidor Proxy es un
dispositivo que permite acelerar la conexión a Internet de sus clientes (las PCs
que estén configuradas para navegar haciendo uso de sus
servicios). El Proxy mantiene una copia local (cacheada) de las
páginas más visitadas por sus clientes, y cuando un
cliente busca acceder a una de esas páginas, el proxy en
realidad le entrega la copia que tenía almacenada
localmente (si no cambió el contenido en el sitio
original, por supuesto).
Esto logra una importante aceleración de la
navegación de sus clientes, además de que permite
al administrador
filtrar las peticiones a determinado tipo de sitios. Por ejemplo:
en una escuela un proxy
permite que el administrador bloquee el acceso a páginas
para adultos, logrando al mismo tiempo una gran calidad de
navegación a pesar de tener una línea de baja
velocidad para
atender decenas de PCs en el aula de informática. ¿El problema? Que todas
las peticiones a Internet parecen salir de una máquina
única (el proxy), que esconde la actividad individual de
las máquinas
que tiene detrás. A su vez hay dos tipos de proxy: los
anónimos y los normales.
Los proxys anónimos esconden a Internet su
condición de proxys, en tanto que los normales agregan en
la cabecera HTTP una
línea parecida a la siguiente: "X-Forwarded-For:
200.40.236.70", que nos permite saber que se trata de un proxy
que nos está visitando a pedido de la máquina
"200.40.236.70" en este caso.
El NAT (Network Address Translation) es implementado
mediante routers (complejos dispositivos encaminadores, que
constituyen el soporte de las comunicaciones
en Internet) y es una técnica que permite a un proveedor
de acceso a Internet lograr que una gran cantidad de clientes
naveguen usando una misma dirección IP (Internet
Protocol, o dirección de Internet).
Para las empresas que
cuentan con pocas direcciones IP es una solución ideal:
las direcciones IP son un recurso cada vez más escaso, por
lo que la técnica NAT se usa cada vez más. Hay
poblaciones y pequeñas ciudades enteras que se conectan a
Internet mediante un NAT configurado por su
compañía de telecomunicaciones, usando unas pocas IPs para la
conexón de miles de clientes. Desde el punto de vista de
un sistema de estadísticas, todas esas máquinas son
en realidad vistas como si se tratara de un solo cliente (lo que
nos lleva a tener reportes de tráfico completamente
alejados de la realidad).
Existe una tecnología capaz de individualizar los
clientes que nos visitan desde atrás de un NAT o un proxy
anónimo: el "client footprint", que consiste el
análisis de un paquete de características
partuculares de la máquina (la "huella" de la
máquina), que nos permite saber qué máquinas
distintas están generando actividad en nuestro sitio a
pesar de venir desde una misma IP.
Esta técnica (de la cual he tenido la oportunidad
de ser uno de sus desarrolladores) es usada por muy pocos
sistemas de estadísticas web. Presta atención en la documentación de tu sistema de
estadísticas: debe hablarte de "client footprint
identification", o al menos debe aclararte de qué forma
resuelve el problema de identificación de las visitas
NAT.
Visitas desde .COM .NET .EDU y
.ORG
En los reportes sobre el origen geográfico de las
visitas puedes ver cuántos accesos has tenido desde
España,
México,
Argentina, etc. Pero posiblemente veas entre los países,
que te han visitado desde "EEUU Comercial (.com)", o desde ".net
y .org". Difícilmente las visitas que dicen ser de "EEUU
Comercial (.com)" realmente provengan de Estados Unidos,
ya que el dominio COM puede estar asociado a una máquina
en cualquier lugar del mundo. Lo mismo para NET, EDU y ORG.
Entonces ¿por qué el sistema de estadísticas
no me da el lugar geográfico real de la visita, en lugar
de decirme que es desde una red COM? Porque
están utilizando una tecnología fácil pero
inapropiada: la resolución DNS
reversa.
Cuando llega una visita a un sitio web, obtenemos con
ella el dato de la IP de la máquina que realizó la
petición (ejemplo: 200.96.85.14). Entonces el sistema de
estadísticas hace una búsqueda DNS reversa para esa
IP, con el fin de obtener el nombre de la
máquina.
Si usas Linux, prueba
ejecutar el siguiente comando: "dig -x 200.96.85.14" entonces
obterndrás el nombre de la máquina que tiene
asociada esa dirección IP (en este caso
200-096-085-014.smace7003.dsl.brasiltelecom.net.br). Luego se
analiza el nombre de la máquina, para ver si se obtiene
información sobre el país de
origen… en el caso de nuestro ejemplo encontramos que el nombre
termina en ".br", lo que nos indica que se trata de una visita
desde Brasil.
¿Pero qué ocurre cuando la
resolución DNS reversa nos devuelve algo así como
"80.58.35.237.proxycache.rima-tde.net"? Si analizamos el nombre
de la máquina, no encontraremos nada que nos permita
determinar en qué país se encuentra. Entonces los
sistemas de estadísticas baratos se contentan con decirnos
que "es una visita desde .NET".
Es verdad, lo es. Pero cuando un sistema vuelca ese tipo
de información en sus reportes, en realidad es para
disimular su incapacidad para determinar la verdadera procedencia
geográfica de la visita.
El método
serio para determinar la situación geográfica de
una dirección IP es mediante una base de datos
de direcciones IP repartidas por países. Es el
método que usan GeoIP (http://www.maxmind.com), o
ip-to-country (http://ip-to-country.webhosting.info/) entre
otros.
Visitas desde origen desconocido
Es una variante del problema tratado en el apartado
anterior: cuando la resolución DNS reversa no arroja
resultados, entonces no podemos obtener el nombre de la
máquina desde la cual recibimos la visita. Este problema
desaparece cuando se usa una base de datos asociando
IPs con nombres de países, como ya se
explicó.
Pero subsiste el problema de qué es lo que ocurre
si la base de datos no está actualizada con respecto a las
nuevas asignaciones IP por parte de los organismos de control (APNIC
para Asia y el
Pacífico, ARIN para Norteamérica, LACNIC para
Latinoamérica y el Caribe, y RIPE para
Europa, Africa del norte
y Rusia). La
única solución fiable es la permanente
actualización y corrección de las bases de datos de
IPs por parte de nuestro proveedor de
estadísticas.
¿Dónde reside el "motor" del
sistema de estadisticas?
Un Sistema de Estadísticas web puede ser un
software
instalado en tu propio servidor*, o puede ser un software
instalado en otro lugar. Existe una antigua polémica
acerca de la conveniencia de una u otra forma de
monitorización de un sitio web. Para despejar nuestras
dudas al respecto, en el año 2002 hicimos una serie de
experimentos
que arrojaron resultados esclarecedores:
El experimento consistió en la creación de
una página web bajo un dominio no público (lo cual
nos garantizaba que no se recibirían visitas reales bajo
ningún concepto). Se programó un agente de usuario
especial, preparado para realizar una serie de 200.000 peticiones
sobre la página en pruebas
(mostrando diferentes cabeceras HTTP según una secuencia
conocida: variando el agente de usuario, el uso de diversos
proxys en distintos lugares del mundo, la densidad de
peticiones por unidad de tiempo, etc).
Entonces se "disparó" el generador de visitas,
que cumplió con sus 200.000 visitas en un lapso de 24
horas, mientras la página web era monitorizada por 10
sistemas de estadísticas diferentes (5 nuestros y 5
sistemas comerciales). Al final de la prueba, todos los sistemas
de estadísticas arrojaron diferentes
resultados.
Pero lo más interesante del experimento es que en
el propio servidor de la página web habíamos
instalado un sistema de medición, idéntico al que utilizamos
desde otros 4 servidores en
forma remota, y los cinco dieron resultados ligeramente
diferentes. De ahí se deduce que un mismo software de
control de tráfico web monitorizando un sitio desde su
propio servidor difiere en precisión con respecto a la
monitorización remota.
La información más exacta se obtuvo
SIEMPRE desde el sistema de control que se encontraba funcionando
en el propio servidor del sitio web (la actividad sobre el sitio
ya se conocía de antemano al provenir 100% de un simulador
de tráfico programado por nosotros mismos). Los
experimentos se repitieron durante meses, variando los
emplazamientos de los monitores
remotos, las características de las páginas web
usadas, el software de simulación
de tráfico, la densidad de las muestras, etc. Se
llegó a muchas conclusiones cuyo análisis
está fuera del cometido de este
artículo.
Pero en lo concerniente a este artículo, nuestra
conclusión fue: Los sistemas de monitorización
remota son menos fiables que aquellos que se encuentran
instalados en el propio servidor web del sitio
monitorizado.
* Vamos a dejar de lado el estudio de los programas
conocidos como "Analizadores de logs", que analizan los archivos de
registro de
actividad generados por el propio servidor. Estos registros son sin
duda la fuente de información más fiel acerca de
qué es lo que ocurre en un sitio web. Pero su uso resulta
engorroso, y la información que se obtiene es incompleta
(no especifica las capacidades del browser en cuanto a plugins,
por ejemplo), y no pueden identificar clientes detrás de
proxys o NATs.
Son muchas las variables en
que los sistemas gratuitos de estadísticas web realizan un
"redondeo" de la información, que deriva en la
generación de reportes completamente alejados de la
realidad. Los más graves errores surgen de la
confusión de "visita" con "acceso", y de la falta de
monitorización en las páginas internas del sitio
web.
Por Ing. Eduardo González
González
www.eduardo-gonzalez.com