Publicaciones


[Home] [Index]

Hit Parade: las estadísticas en el Web

Net Conexión 6, 90-93 (1a. parte) y Net Conexión 7, 80-83 (2a. parte).

Jordi Adell
<jordi@edu.uji.es>

Alguien ha afirmado que en la red hay 'información, desinformación y ahora estadísticas de Web'. Uno de los ítems casi obligados de la primera página de un servidor WWW es un 'link' a sus estadísticas de acceso. En ocasiones se nos muestra directamente un contador de accesos. ¿A qué viene todo este interés por las estadísticas?

Las motivaciones son diversas. En primer lugar, obtener estadísticas del uso de un servidor Web es parte del trabajo del administrador de la máquina, que necesita saber cuantos bits se mueven de un sitio a otro, a qué horas, desde qué máquinas se produce la conexión y tiene que vigilar la integridad del sistema a su cargo. También se puede extraer información interesante para el responsable de la información (por ejemplo, qué páginas son las más consultadas, cómo navegan los usuarios por el espacio de la información, desde qué URLs llegan los usuarios al servidor o si hay enlaces hipertextuales erróneos.

Además de esta perspectiva, centrada en la mejora de la gestión, actualmente han comenzado a aparecer otras motivaciones: las relacionadas con la evaluación de la rentabilidad. Por ejemplo, una empresa que monta un servidor necesita saber cuantas veces son consultadas sus páginas, cuáles lo son más y por qué usuarios. Un organismo público que ofrece información y servicios a los ciudadanos a través de la red debe justificar la inversión de fondos públicos. Una agencia de publicidad quiere saber qué páginas son las más vistas en la Internet para aconsejar a sus clientes sobre donde colocar sus anuncios.

Esta orientación está cobrando cada día mayor importancia ya que es previsible que en el futuro la publicidad sea una de las formas habituales de financiación de servicios gratuitos para los usuarios (e.g., Yahoo, Lycos, etc.). Los anunciantes quieren saber el impacto de sus insertos, los publicitarios necesitan cifras para comparar la efectividad de la inversión en Internet respecto a los medios tradicionales. También quieren conocer datos demográficos de sus usuarios. Cada vez tiene más fuerza la idea de que es necesario no sólo métodos rigurosos de registro, sino también sistemas fiables e independientes de control de la difusión, como los que existen para las publicaciones impresas o la TV.

Sin embargo, los protocolos que sustentan el WWW, acordes con la filosofía con la que se desarrolló como sistema de información entre científicos, no permiten el control de la actividad de los usuarios al que estaban acostumbrados los servicios comerciales en línea, ni la recogida de datos demográficos (a no ser que se obligue al usuario a rellenar un formulario la primera vez que entra en un servidor y a identificarse cada nueva visita, y todos sabemos el efecto de estas medidas). Los registros de actividad del Web están centrados en la administración del sistema más que en obtener información o controlar a los usuarios. Así es la Internet. Pero las cosas están cambiando: la presión comercial ha acelerando la investigación en este campo y ya existen empresas que ofrecen soluciones 'ad hoc'. El World-Wide Web Consortium (W3C) trabaja en nuevos estándares que, además, garanticen los derechos de los ciudadanos de la red.

En este artículo se describen los datos que un servidor WWW registra sobre su actividad y cómo convertirlos en información significativa. También se da cuenta de algunas iniciativas para obtener más información de los usuarios sin conculcar sus derechos y de la inminente creación de servicios independientes y fiables de control de la audiencia, a semejanza de lo que ocurre con otros medios como los audiovisuales o impresos.

Los ficheros de registro

Cuando interactuamos con un servidor HTTP mediante nuestro cliente suceden cosas en la trastienda. Las acciones que realiza el servidor en relación con el registro de su actividad son, resumidamente, las siguientes.

Para cada fichero enviado al cliente (esto es, cada página HTML y cada elemento no textual que contiene, como botones, separadores, iconos, etc. ), el servidor escribe una línea en un fichero de registro de accesos ('access log'). La información que consigna en dicha línea usualmente sigue las especificaciones del 'Common Log File Format' (véase recuadro). Si la transacción falla, algunos servidores escriben la línea en otro fichero: el registro de errores ('error log'). Algunos servidores, además, registran el tipo de aplicación que efectúa cada petición ('agent log') y el URL desde el que los usuarios 'llegan' a la página en cuestión ('referrer log'). Aparte, si rellenamos un formulario, esta información también se suele almacenar, aunque en cada caso la solución queda a discreción del autor del guión o aplicación que los procesa. Pero analicemos más detenidamente cada uno de estos ficheros de registro.

El servidor HTTP del NCSA, por ejemplo, mantiene los siguientes ficheros de registro:

Registro de acceso (acces log)

Aunque puede cambiar el nombre, casi todos los servidores mantienen un fichero en el que escriben una linea por cada 'hit' (véase el glosario) o transacción que se realiza, es decir, cada petición de un usuario y el resultado de ésta. Se registra el nombre o número IP de la máquina solicitante, la fecha y la hora, el comando, el código de estatus y la cantidad de bytes transferidos. El formato de este fichero se denomina 'Common Log File Format' (véase recuadro para una descripción detallada) y ha sido consensuado entre los desarrolladores de servidores (lo cual quiere decir que, naturalmente, no todos los servidores siguen este formato).

Registro de errores (error log)

Algunos servidores filtran los mensajes de error a un segundo fichero a fin de facilitar su análisis.

Las siguientes líneas son un ejemplo (ficticio) de entradas en el registro de error:

[Thu Feb 29 00:17:43 1996] httpd: send aborted for 255.255.255.255
[Thu Feb 29 00:21:25 1996] httpd: send aborted for maquina.dominio.es
[Thu Feb 29 00:38:49 1996] httpd: access to /web/no_server.html failed  for 204.19.31.129, reason: file does not exist from http://www.uji.es/mapes/navarra.html
[Thu Feb 29 00:38:52 1996] httpd: send aborted for otro.dominio.edu

Así, la primera línea indica que el jueves 29 de febrero a las cero horas, diecisiete minutos y cuarenta y tres segundos se abortó un comando 'send' desde el número IP 255.255.255.255 (ficticio). En la tercera línea, en cambio, se informa que un usuario ha pedido un fichero que no existe. Es necesario corregir el error (cambiando de sitio el fichero '/web/no_server.html' o el 'link' en ). Este es el tipo de información útil para los gestores del contenido del servidor.

Registro de referencias (referrer log)

También existe en ciertos servidores un registro de los URLs desde los que vienen a sus páginas los usuarios. Sin embargo, no todos los clientes proporcionan esta información. El formato de dicho registro (en el servidor httpd NCSA, que usamos como ejemplo en todo el artículo) es: URL origen -> URL destino.

Ejemplo:

http://www.w3.org/hypertext/DataSources/WWW/Servers.html -> /spain_www.html
http://guide-p.infoseek.com/WW/NS/tables/DB?C923,510&db=78 -> /bbedit-html-extensions.html
http://www.compuserve.com:80/hot/wide.html -> /
http://www.yahoo.com/Regional/Countries/Spain/ -> /spain_www.html
http://www.uji.es/spain_www.html -> /mapes/spain_info.html 

La primer línea indica que un cliente ha recuperado el fichero '/spain_www.html' de nuestro servidor siguiendo el 'link' que existe en . La segunda línea indica que procede de una búsqueda en InfoSeek y la cuarta una entrada en el catálogo de Yahoo. Computar desde donde llegan los usuarios proporciona información sobre qué referencias a nuestras páginas existen y cuales son las más utilizadas.

Registro de agentes de usuario

Finalmente, algunos servidores registran qué agente de usuario se ha utilizado en cada transacción. Este fichero nos permite averiguar qué clientes usan predominantemente los usuarios, aunque no deben diseñarse páginas que dejen ciegos a los usuarios que no utilicen nuestro browser favorito.

Análisis de los registros

Existen múltiples herramientas para analizar los ficheros de registro de acceso, extraer estadísticas, realizar informes (en html y texto) e incluso hacer gráficos (véase, para una lista, <URL:http://www.yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/HTTP/Servers/Log_Analysis_Tools/> y <URL:http://union.ncsa.uiuc.edu/HyperNews/get/www/log-analyzers.html>). Como en otros ámbitos del Web, existen herramientas gratuitas, que proporcionan la información básica que necesita un administrador de sistema, y productos comerciales, sofisticados y complejos que permiten análisis más finos (aunque algunos en base a asunciones más que dudosas).

Sin embargo, ambos tipos de herramientas trabajan con la misma materia prima: los ficheros de registro del servidor. Por consiguiente no hay nada que pueda hacer una herramienta de pago que un administrador hábil no pueda obtener con algunas aplicaciones comunes (una hoja de cálculo, un paquete estadístico y una base de datos relacional) y un poco de trabajo. Las herramientas de análisis de registros realizan informes concisos o ultra-detallados por periodos temporales determinados (horarios, diarios, semanales, mensuales, etc.), siguiendo el árbol de directorios o por paginas (filtrando ficheros en función de sus extensiones, e.g., .gif, o a conveniencia del administrador). También es posible obtener tablas del número de accesos por 'host' o por dominio y la combinación de todos los anteriores.

Las herramientas comerciales realizan análisis diacrónicos agregando datos o unen registros de varios servidores, combinan todos los ficheros de registro y, realizando algunas asunciones sobre el comportamiento típico de los usuarios, intentan definir qué hacen éstos en una visita o sesión (véase el glosario), detectan visitantes habituales, identifican robots y arañas y, en algún caso, utilizando una base de datos de dominios Internet, identifican la organización (y su localización geográfica). Todos estos datos se tabulan y se incluyen en informes estandarizados o a medida.

Existen herramientas para analizan los otros ficheros de registro como el de referencias, el de errores o el de agentes de usuario. El primero es útil para determinar 'desde dónde nos llegan los usuarios'. El registro de errores es la historia de transacciones fallidas del servidor y, por tanto, permiten detectar fallos de los usuarios (peticiones incorrectas o URLs inexistentes) y también errores en los 'links' de nuestras páginas (como callejones sin salida, enlaces que han perdido su destino, etc.). También registra los casos de envíos abortados por el usuario (¿Tal vez esa página tenga demasiadas ilustraciones y los usuarios, desesperados, pulsen el botón de stop?). Los intentos fallidos de usuarios malintencionados también aparecen en el log de errores.

Una alternativa al 'hágaselo Ud. mismo' son las empresas dedicadas al cálculo de estadísticas. Normalmente reciben por Internet los registros de sus clientes (en algún caso empleando protocolos seguros) y, utilizando aplicaciones desarrolladas 'ad hoc', elaboran informes a medida del cliente. En los informes incluyen análisis y valoraciones de la información.

La interpretación de las estadísticas

Antes hemos afirmado que los registros de actividad de los servidores están centrados especialmente en las necesidades de los administradores de las máquinas (qué máquina se ha conectado, a qué hora y cuántos bits han ido de aquí para allá,..). No se hicieron pensando que, algún día, un ejecutivo de marketing pudiera preguntarse por la efectividad de contratar un anuncio en un servidor o en otro. En este sentido, para interpretar adecuadamente las tablas e informes que generan las herramientas de análisis de registros es necesario tener en cuenta, como mínimo, los siguientes puntos:

  1. 1. Los hits representan transacciones de ficheros. Algunos ficheros no contienen información (los iconos o botones de navegación, separadores, adornos, logos, etc.). Un hit NO es un usuario que ha leído una página.
  2. 2. Los proxies con caché falsean a la baja las consultas reales a una página al almacenar copias locales.
  3. 3. Los número IP (o nombres de dominio) no representan personas, sólo se trata de hardware. Desde un único número (o unos pocos) pueden usar un servidor muchas personas diferentes.
  4. 4. La navegación produce falsos hits en los registros. Un usuario puede volver a una página para seguir otro enlace que figure en ésta. Esto no significa que la haya leído tres veces en cinco minutos.
  5. 5. No puede estimarse de modo fiable el tiempo que un usuario dedica a una página o a una sesión. Quién sabe qué demonios está haciendo delante de la pantalla de su ordenador.
  6. 6. Los robots pueden falsear las estadísticas: no son usuarios reales, sólo es software que recorre sistemática y periódicamente todo el servidor. En servidores de baja carga pueden representar un alto porcentaje de los 'hits'.
  7. 7. Los 'mirrors' incontrolados de recursos falsean a la baja las estadísticas.

Con todos estos elementos, se comprende que extrapolar conclusiones sobre la conducta de las personas en base a los ficheros de registro debe hacerse, cuando menos, con mucha cautela.

Otra vía: los contadores

Los contadores de páginas son tan populares en el Web (véase, por ejemplo <URL: http://www.yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/Programming/Access_Counts/>), que incluso hay páginas de humor sobre el tema (<URL: http://www.yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/Programming/Access_Counts/Humor/>). Existen infinidad de versiones. Su proliferación se debe a que muchas personas mantienen páginas personales en servidores Web pero no tienen acceso a los ficheros de registro del servidor. Un contador muestra dinámicamente el número de 'hits' que recibe una página determinada. Cada 'hit' incrementa el contador en una unidad y mediante una serie de ficheros GIF que representan cada uno de los 10 dígitos, se muestra en la página el resultado. Existen contadores para instalarse uno mismo y servidores que ofrecen gratuitamente el servicio rellenando un formulario e incluyendo unas líneas HTML en la página.

La necesidad de un control de difusión independiente

El cálculo de estadísticas y el análisis de los registros de actividad son tareas habituales de los administradores del sistema. Pero la publicidad ha llegado al Web. Para bien (ayuda a mantener servicios gratuitos para el usuario) y para mal (fastidia al usuario retardando la carga de las páginas) está aquí y está para quedarse.

La importancia (y la necesidad) de un sistema de control de difusión independiente en el Web se comprende rápidamente si atendemos al hecho de que los servicios que incluyen publicidad están cobrándola en función de los 'hits' que reciben. Así por ejemplo, según Bussines Week (12/2/96), Yahoo carga 2 centavos de dólar por 'hit' a los anunciantes. Yahoo recibe 7 millones de 'hits' diarios de 1 millón de usuarios diferentes. InfoSeek realiza cerca de 7 millones de búsquedas cada día y Altavista 3 millones. Se estima que el mercado publicitario del Web crecerá desde los 37 millones de dólares facturados en 1995 hasta más de 700 en 1998 (Forrester Research, Inc., citado en Bussines Week).

Sin embargo, ya lo hemos dicho, el diseño de los protocolos en uso en el WWW no facilita la tarea de los publicitarios y expertos en marketing. Según Tim Stehle, de Knight-Ridder Inc., (<URL:http://www.infi.net/maa/stehle.html>) lo que los expertos en marketing quieren saber de los anuncios en el Web es cuanta gente ve los mensajes publicitarios, qué parte atrae más su atención, cómo responden a la publicidad, cómo son las personas a las que llega el mensaje, etc. Los expertos quieren cifras fiables para comparar entre 'sites' y analizar las cifras a lo largo del tiempo. También necesitan sistemas de auditoria que, al igual que sucede con las publicaciones impresas, sean fiables y creíbles, con una metodología contrastada y realizadas por terceras partes reputadas.

Los usuarios, por otra parte, quieren que los sistemas de seguimiento no sean intrusivos o fastidiosos y, lo que es más importante, suficientes garantías sobre el uso de la información que se puede recolectar en los servicios de información sobre sus datos demográficos, gustos y costumbres (¿recuerdan una versión 'indiscreta' de Netscape que 'hábilmente interrogada' por un sencillo 'script' CGI enviaba toda la información de configuración que el usuario había introducido inocentemente? Esto es un ejemplo de lo que no se debe hacer). En este sentido, el W3C está estudiando diversas propuestas técnicas para conciliar los intereses legítimos de los vendedores con los derechos inalienables de los usuarios. Los requerimientos son: reunir datos demográficos y de impacto de la información, conocer la conducta de los usuarios (seguimiento o 'tracking') e identificar usuarios y sesiones permanentemente. Por parte de los usuarios, es necesaria la garantía de la privacidad. Esto es, límites legales y técnicos a la combinación de información de diferentes fuentes, garantías del uso de la información demandada al usuario y juego limpio (por ejemplo, que los agentes de usuario no proporcionen información sin advertir al usuario o que éste pueda escoger qué información proporciona en cada caso, por ejemplo, a traves del uso de diversos perfiles). Las diferentes propuestas técnicas pueden verse en <URL:http://www.w3.org/pub/WWW/Demographics/Proposals.html> y <URL:http://www.w3.org/pub/WWW/Demographics/Strawman.html>.

Por su parte, CASIE ('Coalition for Advertising Supported Information and Entertainment'), un proyecto de las asociaciones nacionales norteamericanas de agencias de publicidad y de anunciantes, ha elaborado un conjunto de principios sobre la medida de audiencias en medios interactivos (URL:<http://www.commercepark/com/AAAA/bc/casie/guide.html>). Entre las recomendaciones figura la necesidad de que las medidas de audiencia sean realizadas por terceras partes, y no por el medio que está siendo auditado, a fin de garantizar la objetividad, la independencia y el rigor técnico. Las medidas internas, en todo caso, deben ser certificadas por terceras partes especializadas e independientes.

Mientras tanto, se están creando áreas de negocios nuevas: diversas firmas comerciales están introduciendo sistemas que permiten el seguimiento de usuarios y el posterior análisis de sus pautas de comportamiento (SiteTrack <URL:http://www.cortex.net>) (véase recuadro sobre nuevos desarrollos), o proporcionan perfiles demográficos de usuarios que lo introducen en un servidor a cambio de una clave de acceso para todos los servicios de información que lo requieren (I/PRO <URL:http://icode.ipro.com>), cuentan los 'hits' mediante la inserción de un pequeño logo en la página (IAB <URL:http://www.intermet-audit.com>), realizan el análisis de registros de acceso que se les remiten encriptados (NetCount <URL:http://www.netcount.com/Product/overview.html>) o desarrollan y venden herramientas sofisticadas de análisis de 4 'logs' (Intersé <URL:http://www.interse.com> o WebReporter de Open Market <URL:http//www.openmarket.com/products/webreport.html>).

Del administrador del sistema, que quería saber a qué hora se producen los picos de acceso, a los ejecutivos de publicidad, que quieren estadísticas auditadas, comparativas entre diferentes 'sites' y perfiles demográficos de los usuarios, ha pasado poco tiempo. En los próximos meses, si se cumple las promesas sobre las transacciones comerciales en el Web, cuando entremos por segunda vez en un servidor sabrá hasta lo que hemos desayunado por la mañana. Al tiempo.

Recuadros:

El "Common Log File Format"

El "Common Log File Format" es el formato que siguen la mayor parte de los servidores http para mantener un registro de accesos. Cada entrada, una línea de texto en un fichero, contiene los siguientes campos:

  1. Nombre del host remoto o número IP si no puede resolverse en el DNS.
  2. Identificación del usuario (a menudo no implementado y sustituido por '-').
  3. Autentificación del usuario (sustituido por '-' si no es una página que requiera autentificación).
  4. Fecha y hora.
  5. Petición del cliente .
  6. Código de estado HTTP retornado al cliente.
  7. Número de bytes enviados.

Las siguientes líneas son un ejemplo (falso) del registro de acceso en "Common Log File Format":

maquina.uji.es - - [29/Feb/1996:00:56:56 +0100] "GET /documento.html HTTP/1.0" 302 64
otra.maquina.dominio.es - - [29/Feb/1996:00:57:00 +0100] "GET /mapes/asturias.html HTTP/1.0" 200 1005
maquina.uji.es - - [29/Feb/1996:00:57:09 +0100] "GET /mapes/fondo.gif HTTP/1.0" 200 5717
otro.dominio.edu - - [29/Feb/1996:00:57:14 +0100] "GET /mapes/asturias.gif HTTP/1.0" 200 1005

Los códigos de estatus HTTP pueden hallarse en la especificación del protocolo HTTP. Hay de tres tipos: los que comienzan por 2 (transacción exitosas), por 3 (redirección), por 4 y 5 (mensajes de error). Los más comunes son:

  • 200 - Transmisión realizada.
  • 302 - Redirección a otro URL.
  • 304 - Debe usarse la copia local de la caché (es decir, el documento solicitado no ha cambiado desde la última vez que se recuperó y está disponible en caché).
  • 4xx - Error (especialmente el odiado 404: el servidor no puede encontrar el URL solicitado).
  • 500 - Error interno del servidor.

Glosario

  • Hit: Un hit es una transacción entre un cliente y un servidor. Sin embargo, un hit no equivale a una página HTML leída por un usuario. En primer lugar, una página puede estar formada, además del texto HTML, por elementos no textuales (o 'media objects') como gráficos, sonido, 'applets', etc. Así, una página HTML con nueve iconos (cada uno un fichero GIF diferente) recuperada 10 veces, representa 100 hits en el log de acceso. Los ficheros de registro de actividad del servidor registran una serie de datos de cada hit (véase el recuadro sobre el 'Common Log File Format').
  • Visita o sesión: Una secuencia de hits hecha por un usuario en un servidor. Convencionalmente se considera que si durante media hora un usuario no realiza ningún hit, el siguiente forma parte de una segunda visita. Del análisis de visitas o sesiones pueden determinarse pautas de comportamiento típicas de grupos de usuarios (rutas, preferencias, etc.). Erróneamente se asume que un número IP está asociado a un usuario: algunos hosts son utilizados por múltiples usuarios. Los proxies con caché falsean el número real de hits y visitas al almacenar localmente las páginas más consultadas por sus usuarios.
  • Usuarios únicos: El número de individuos únicos (no números IP) que visitan un servidor en un periodo de tiempo. Si no hay un sistema de "loggin" o identificación no es posible conocer dicho número con exactitud.

Nuevos desarrollos: 'tokens' y 'cookies'

La necesidad de seguir la pista a lo que hacen los usuarios en una sesión ha conducido al desarrollo de varias técnicas, no sujetas a estándares por el momento, que son utilizadas por diversos productos comerciales.

Hay dos maneras diferentes para que un servidor WWW pueda seguir la pista de sus usuarios: utilizando 'tokens' o 'cookies'.

Los 'tokens' son cadenas alfanuméricas que el servidor inserta en los URLs contenidos en sus páginas a medida que las envía. A cada usuario que recupera una página se le asigna un 'token' para dicha sesión. Cuando el usuario sigue uno de los links, el servidor elimina el 'token' del URL (para encontrar la página en cuestión) y añade el 'token' a cada URL local de la página servida. De este modo es posible saber qué hace un usuario determinado en una sesión concreta. El software que intercepta el input y el output del servidor se complementa con utilidades de registro y posterior análisis de pautas de comportamiento de los usuarios. El precio de usar 'tokens' es que los URLs que los contienen no pueden ser incluidos en listas o bases de datos ya que no funcionan más que durante la sesión concreta para la que han sido generados.

Las 'cookies' (o galletitas) son una manera diferente de representar la identidad del usuario. Para éste, si su cliente WWW soporta cookies (los de Netscape y Microsoft lo hacen), el proceso es invisible e imposible de alterar. Las 'cookies' son elementos simples de información que el servidor proporciona al cliente (y que éste guarda) y que puede pedirle en posteriores transacciones. En una 'cookie' puede incluirse un identificador de sesión, que el cliente presentará en todas sus futuras transacciones a petición del servidor, o una identificación de usuario, o la historia pasada de transacciones con ciertos servidores, etc. La información que el cliente envía al servidor va en la cabecera y por tanto es invisible para usuario. Además, aunque un usuario abandone un servidor, cuando vuelva se le identificará inmediatamente si se le ha asignado una identidad en una galletita. En la actualidad sólo algunos clientes soportan 'cookies' (Netscape lo hace: mire en en el directorio donde se almacenan los ficheros de configuración, preferencias y el archivo de la caché. Tal vez alguien le ha dejado allí una galletita).


[WWW NTI-UJI] Esta es una auténtica página del servidor WWW del grupo de NTI de la UJI. Copyright 1996 NTI-UJI.