Analisis con Tableau: Preparar y visualizar datos de encuestas con Tableau y Alteryx

miércoles, 1 de junio de 2016

Preparar y visualizar datos de encuestas con Tableau y Alteryx

Tras 9 años trabajando en institutos de investigación de mercados, una de las primeras ideas que me vino a la cabeza cuando descubrí Tableau fue sus posibilidades a la hora de visualizar datos de encuestas. Es cierto que por la forma que tiene Tableau de tratar los datos, la estructura de los ficheros de encuestas con los que habitualmente se trabaja no es la más idónea. Los ficheros de encuestas normalmente cuentan con un registro (una fila) para cada encuestado y una dimensión (columna) para cada una de las variables o preguntas del cuestionario. Es decir, se trabaja con ficheros que habitualmente tienen muchas columnas, mientras que en Tableau es más conveniente tener ficheros con un gran número de registros (filas) y menor número columnas. Esto hace que de primeras, trabajar con archivos de encuestas en Tableau no sea tan intuitivo como podríamos esperar.

No obstante, preparar dichos ficheros y que sea más sencillo visualizar encuestas en Tableau es algo que podemos hacer fácilmente utilizando Alteryx. Para el siguiente ejemplo he utilizado datos de la European Social Survey que cuenta con acaba de actualizar la encuesta realizada en 2014 incluyendo varios países adicionales, entre ellos España, Portugal y Reino Unido y he creado el siguiente workflow en Alteryx:



El proceso es bastante sencillo, se trata a modo de resumen de:

  1. Descargar el archivo .sav (SPSS) de la web y cargarlo en Alteryx con una herramienta Input.
  2. Elegir las variables que queremos mantener en el fichero (podríamos elegir todas) y crear un Identificador para cada entrevista con las herramientas Select y Record ID.
  3. Transponer todas las variables que corresponden a preguntas y respuestas de cada registro con la herramienta Transpose. Así ya no tenemos una columna para cada pregunta de la encuesta, sino una única columna con todas las preguntas y otra columna con todas las respuestas. Ahora por tanto en vez de tener una sola fila para cada entrevistado tenemos multitud de filas para cada entrevistado (1 fila para cada respuesta a cada pregunta).
  4. Como los nombres de los países vienen abreviados, he utilizado la herramienta Summarize para obtener un listado de todos los países en el fichero y con la herramienta Formula he creado un campo adicional que he adjuntado a cada registro con la herramienta Find Replace.
  5. Crear en excel un fichero que incluye cada código de respuesta y verbatim. Lo he cargado en Alteryx y lo he unido con el archivo original con la herramienta Join. De este modo ahora tenemos tanto el código como el texto de la respuesta asociado a cada registro.
  6. Crear otro fichero en excel con el texto de cada pregunta, Cargarlo en Alteryx y utilizar la herramienta Find Replace (también podríamos utilizar la herramienta Join) para adjuntar el texto de la pregunta a cada respuesta.
  7. Finalmente he renombrado las varibales de sexo y edad con otra herramienta Formula y he exportado la base de datos a un archivo .tde para abrirlo directamente en Tableau.

En definitiva, se trata de transformar el archivo original que tenía esta estructura:


Para que tenga esta otra:


Donde tenemos tantas filas para cada entrevistado como variables tenemos en la encuesta. De esta forma, aunque tengamos multitud de registros para cada individuo, se trata de filtrar en Tableau posteriormente por número de pregunta, de forma que en cada visualización que creemos analicemos una única pregunta, pero utilizando la misma medida para nuestros cálculos (el número de registros o la suma de una ponderación por ejemplo, que al filtrar por pregunta en la visualización dicha suma será la correcta).

Ahora ya podemos abrir nuestro archivo en Tableau, podemos también crear un campo calculado que utilice una de las ponderaciones de la encuesta para crear un porcentaje de respuesta calculado para cada país:


Utilizar a continuación el número o texto de la pregunta como filtro, e ir creando visualizaciones en distintas hojas, modificando dicho filtro para ir visualizando cada una de las preguntas de forma bastante sencilla. Aquí tenéis un ejemplo visualizando 3 de las preguntas del cuestionario, y añadiendo filtros de edad y género para darle mayor dinamismo al dashboard, de forma que podamos elegir los datos que queremos visualizar (haz click en la imagen para ver el dashboard interactivo):


Ya no hay excusas si quieres utilizar Tableau para analizar encuestas.






No hay comentarios: