Show Menu
TEMAS×

Conflictos de hash

Describe lo que es un conflicto de hash y cómo se puede manifestar.
De forma predeterminada, Adobe considera los valores de prop y de eVar como cadenas, incluso si el valor es un número. Algunas veces estas cadenas tienen cientos de caracteres, otras veces son cortas. Para ahorrar espacio, mejorar el rendimiento y hacer que todo tenga un tamaño uniforme, las cadenas no se usan directamente en las tablas de procesamiento. En cambio, se computa un hash de 32 bits o 64 bits para cada valor. Todos los informes se ejecutan por esos valores con hash hasta que se presentan los datos, donde cada hash se reemplaza con el texto original. Sin esta compresión, se tardaría varios minutos en ejecutar los informes.
Para la mayoría de los campos, la cadena primero se convierte a minúscula (reduciendo el número de valores únicos). Se colocan hashes en los valores todos los meses (la primera vez que son vistos cada mes). De un mes a otro, existe una pequeña posibilidad de que dos valores de variables únicos tengan hashes con el mismo valor de hash. Esto se conoce como conflicto de hash .
Los conflictos de hash pueden manifestarse en los informes de la siguiente manera:
  • Si está viendo la tendencia de un valor y observa un pico durante un mes, posiblemente a otros valores para esa variable se les colocaron hash con el mismo valor que ve.
  • Lo mismo ocurre para segmentos para un valor específico.
Ejemplo de conflictos de hash
La probabilidad de los conflictos de hash aumentan con la cantidad de valores únicos en una dimensión (eVar). Por ejemplo, uno de los valores que llega tarde en el mes podría obtener el mismo valor de hash que un valor más temprano en el mes. El siguiente ejemplo puede ayudar a explicar cómo esto puede hacer que los resultados de los segmentos cambien. Supongamos que eVar62 recibe "valor 100" el 18 de febrero. Analytics mantendrá una tabla similar a la siguiente:
Valor de cadena eVar62 Hash
Valor 99
111
Valor 100
123
Valor 101
222
Si genera un segmento que busca visitas donde eVar62="valor 500", Analytics determina si "valor 500" contiene un hash. Como "valor 500" no existe, Analytics devuelve cero visitas. Luego, el 23 de febrero, eVar62 recibe "valor 500", y el hash correspondiente también es 123. La tabla será similar a la siguiente:
Valor de cadena eVar62 Hash
Valor 99
111
Valor 100
123
Valor 101
222
Valor 500
123
Cuando el mismo segmento se ejecuta nuevamente, busca el hash de "valor 500", encuentra 123, y el informe devuelve todas las visitas que contienen hash 123. Ahora, las visitas que ocurrieron el 18 de febrero estarán incluidas en los resultados.
Esta situación puede crear problemas al usar Analytics. Adobe continúa investigando maneras de reducir las posibilidades de que ocurran estos conflictos de hash en el futuro. Algunas sugerencias para evitar esta situación son: encontrar maneras de propagar los valores únicos entre variables, eliminar valores innecesarios con reglas de procesamiento o, por el contrario, reducir el número de valores por variable.