Translate

miércoles, 16 de agosto de 2017

Refrescando mis conocimientos de SQL

Ahora que he acabo del master y estoy y estoy otra vez en busqueda de empleo me he encontrado con el siguiente tema: ahora debo saber tambien SQL.

El tema es que yo ya sabia toda la teoria de base de datos relacionales en el Tecnico de Desarrollo de Aplicaciones Informaticas y ademas he tenido que ampliar este conocimiento con lo del master (que ademas versaba sobre base de datos noSQL, pero teniamos un tema de crea base de datos con MySQL). Sin embargo como gran parte de los datos que uso los analizo con las librerias de R y de Python, no he tenido necesidad de hacer mas cursos de SQL.

 Pero claro al llegar a la entrevista y decir que en mi ultimo puesto no usaba SQL (pq no tenia acceso a los datos de la base de datos directamente 😣) pues parece que no es muy convincente. Asi que manos a la obra para refrescar todo esto.

El fin de semana pasado en el Measurecamp estube hablando con un analista de este tema. SQL no es dificil de aprender si sabes como funciona. Ademas, cuando explicaba a unos amigos (developers) el momento en la entrevista que me pregunta por esto directamente me dijeron: buaaah, en un mes te da aprender todo el SQL q puedas necesitar.

Asi que llevo unas semanas actualilzando mis conocimientos en SQL y la verdad. SQL no tiene ningun misterio: aqui un resumen si nunca lo has usado

Como es una sentencia en SQL (se pronuncia "siquel" en ingles)


SELECT name, age FROM customers WHERE age > 18 ORDER BY  age

SELECT -> aqui se seleccionan las variables. Si quieres seleccionarlas todas ellas debes poner un *
FROM -> la tabla donde quieras seleccionar esas variables
---
WHERE-> la condicion que quieras que se cumpla: una fecha (ej. year = 2016),

ORDER BY -> ordenado por la variable que quieras.

Todo muy facil hasta aqui. En datacamp tienes un curso que puedes encontrar mas abajo. .Si quieres puedes jugar un poco con esto, pero si lo has utilizado anteriormente n un par de horas lo tienes hecho.

Aqui tienes el curso:
Curso iniciacion sobre SQL


Una vez que ya sabes como funciona el lenguaje (facilillo no?) viene el tema de poder utilizar varias tablas. Aqui la cosa ya se complica un poco mas, sobre todo porque dependiendo de la base de datos vamos a poder utilizar un dialecto de SQL u otro. En realidad esto no es mas que una extension del propio lenguaje SQL para darle mas funcionalidades a este.  Al fin y al cabo SQL es muy parecido pero cada "dialecto" te va a hacer la vida mas facil o mas complicada en cada caso a la hora de hacer queries.

Por ejemplo aqui puedes ver las diferencias entre Transact SQL y PostgresSQL.Pero, para resumir el primero lo usa Microsofts,y por tanto sus bases de datos SQL server y demas, mientras que el segundo lo utilizan muchas bases de datos abiertas.

Pero volviendo al tema...

Si queremos utilizar dos tablas o mas!, como vamos a poder juntar las tablas?
Pues logicamente vamos a necesitar que tengan un indice( columna) en comun. Para ellos vamos a tener en cada tabla alguna columna que se repita en otra tabla, aunque no tenga el mismo nombre, eso nos va a dar igual porque vamos a poder renombrarla.

Si usas Excel, piensa en como funciona unVLOOKUP (o buscarV). Tienes una columna que comparas con otras, pues eso. No tiene mas.Bueno, un poquico mas solo

En funcion de las necesidades cuando vayamos q juntar estas dos tablas (join las tablas) tenemos determinadas formas de hacerlo:

Podemos querer copiar todo lo que se queda a la derecha de la primera tabla o a la izquierda o solo vamos querer quedarnos con las columnas que tengan en comun. Para esto tenemos diferentes tipos de join (left-join,right-join, inner-join).


martes, 18 de julio de 2017

Cómo poner a punto Google Analytics

La verdad es que una vez que hemos puesto el snipet o código de Google Analytics y empiezan a llegarnos las visitas pensamos que todo está hecho.

Luego, conforme van pasando los días, nos creemos que ese todo está hecho es para siempre y nos ponemos a toquetearlo todo. Por eso antes de empezar a crear filtros o cualquier otra cosa vale la pena pararnos un momento y configurarlo todo.

Google nos avisa en su curso básico sobre Google Analytics que  es recomendable tener siempre tres vistas.
No sabes lo que es una vista o view? Google te lo explica aquí abajo.Si aprendiste inglés con Spuminglish, enciende los subtítulos.


Vistas (views) recomendadas por Google

Las tres vstas recomendadas por Google son

-Un Raw Data o vista sin filtrar. Qué una vista sin ningún tipo de filtro o segmento. Esta la vamos a tener por si nos cargamos la que solemos usar. Así siempre tenemos esta de comodín. Nunca hay qie incluir ningún tipo de filtro. Si no, pues no tiene gracia.

- Una Vista Master o vista para hacer nuestros informes de analítica. Esta será la vista que amoldaremos a nuestras necesidades.

-Una  vista Test o vista para hacer pruebas. Antes de aplicar un nuevo segmento o un filtro o lo que sea, primero lo haremos en esta. Si los resultados son los deseamos y nos conviene para nuestros informes la pasaremos a la master.

Pues eso es lo que Google nos aconseja a un nivel básico y que tiene mucho sentido. Al fin y al cabo tenemos la vista "buena", la de pruebas, la de "por si acaso".

Ahora bien hay otro tipo de vistas que nos pueden interesar.

Ejemplos de vistas avanzadas

Vistas para subdominios. 

Imagina que tienes varios subdominions. Por ejemplo analitica.rebolicando.es. Si has decidido crear un subdomino porque es lo suficientemente relevante, no vienen mal crearle su propia vista que te separe esta información del resto.

Vista para móvil

Asi puedes tener una vista sólo para el tráfico móvil en vez de estar usando segmentos.

Vista por paises.

Si tienes contenido diferente por países o algunos países tienes determinados goals u objetivos diferenciados es una buena forma de tenerlo todo en forma.

Cómo se crea una vista en Google Analytics

*Mi cuenta esta en inglés, espero qeu eso no lleve a confusion si estás pensando en sacarte el GAIQ, Deberías poner tu cuenta en inglés ya. Sin excusas. He dicho

Antes de nada nos vamos a ir a la parte de Admin de nuestro flamante Google Analytics

Una vez aquí elegimos en el apartado de view o vista hacemos click en la vista. (personalmmente creo que un botón fuera para crear una nueva vista sería bastante útil).


Clickamos en la pestannay le decimos crear una nueva vista  (create a new view)

Ya estamos creando la vista. Lo mejor es que pongas un nombre que te permita reconocerlo facilmente. Después debemos seleccionar la zona horaria.

 Vale pues arriba nos aparecerá un tímido mensaje que digas "Success", así en verde. Y, hale, ya la tienes.
Puedes crear todas las vistas de la misma forma, sólo preocupate por el nombre y por la zona horraria.

Crear filtros en Google Analytics

 Ahora llegamos al meollo de todo esto. Vamos a aplicar los filtros básicos que nuestra  nuestra cuenta.
Para crear informes yo he creado una vista (view) que se llama Reporting view.Como decíá más arriba esta es la vista que dice Google que hay que usar. Asi que una vez que estoy en ella le doy a nuevo filtro.


Filtros básicos para la vista principal

 El filtro que siempre debemos poner en esta vista es la de la ip de nuestra oficiona. Y de cualquier sitio donde accedamos a nuestra web, por ejemplo si trabajamos desde casa necesitaremos filtrar esa ip. Qué significa filtrar ip? Pues que Google Analytics no tomará en cuenta las visitas desde ahí.

Asi que nos vamos a excluir  el trafico de nuestra ip. Para saber cuál es tu IP busca en google por "saber cuál es mi ip" y te saldran miles de web. Para que le vas a dar más vueltas.



Y bueno, hasta aquí lo más básico de lo básico de Google Analytics

Lo siguiente para ponerlo a puto será. Annadir las redes sociales.


viernes, 24 de febrero de 2017

Hacer una auditoria SEO técnica

Desde hace tiempo llevo queriendo remodelar mi página web. La verdad es que empecé la casa por la ventana:Test A/B, pero bueno la cosa era probar algunos test antes de redisenarla.

Por otro lado sigo investigando en encontrar mi informe SEO ideal, que "fit" conmigo como un guante y me haga andarme poco por las ramas investigando nuevas cosas. Y teniendo un blog, lo mejor que casa conmmigo es dedicarle tiempo al contenido.

Pero no fue hasta hace unas semanas que no caí en la cuenta de que está muy bien mirarse el ombligo, estudiar las keywords,revisar el GWT y Google Analytics y tener un ojo en los competidores, pero que en realidad tener limpica a nivel tecnico nuestra web también es importante, porque los post que creamos van a más y ya no se ni de cuantas páginas web cuenta mi blog.

Echando cuenta hará unos 9 meses que no reviso demasiado a fondo a nivel tecnico mis URLs, ni los enlaces salientes ni internos que tengo. Y lo peor de todo es que una de mis funciones en la empresa donde trabajo es reportar esta serie de errores. Si es que en casa del herrero...  Además a Google ultimamente le ha dado por cambiarme las metatags, incluso incluyendo enlaces internos de otras web, algo que me tiene completamente anonadada (ó WTF, como diríán por aquí), pero me dá una idea de que Google no piensa que sean las mejores.

Volviendo al título de este post.
Voy a ir desgranando en que me voy a fijar para , en mi caso, hacer una auditoria técnica SEO.
A modo de índice:
- Google webmaster tools
- ScreamingFrog (vaya nombrecico)
-Pagespeed de Google (en la sección de developer)

Antes de nada voy a pasarme por GWT, sin duda una de mis herramientas favoritas, aunque muchos webmaster la tengan bastante infravalorada. hey chicos que por mucho Semrush, Moz o lo que queráis mirar, el que mejor conoce Google y su funcionamiento es el mismo Google.Haced caso al Papá.

Google Webmaster Tool

En este caso voy a mirar si tengo indexadas todas las página que quiero y bueno, como esto lo llevo un poco a raja table tampoco hay muchas sorpresa.




Contenido bloqueado

Otra herramienta incluida en GWT que tambien sirve para ilustrar esto es Fetch as Google. Si alguna página te da algún error raro puedes verla con esta herramienta. Además si le tienes carinno a alguna landing page ( o página de aterrizaje) en particular no dudes en revisarla. El blog de Google Webmaster explica un poco mejor que significa todo como renderizar páginas en este post de Mayo de 2014

Screaming Frog

Una de las últimas herramientas que he conocido y que parece que tiene mil usos y es muy rápida (en menos 5 minutos puedes tener tu web). He de decir que hace dos meses me daba bastante fallos de estabilidad, pero ha mejorado muy mucho en esto.

*Tienes que descargarla porque es una herramienta de escritorio http://www.screamingfrog.co.uk/seo-spider/ (con versión gratuita y de pago)


Más vale echarle miles de horas a todo lo que podemos sacar de aquí y lo mejor de todo es que también podemos tener acceso a a información de las páginas de nuestros competidores.Asi que hazte un café y manos a la auditoria.
Para empezar tienes que poner tu web en  "Enter url to spider" y darle a start, esperar unos minutos. Et voilá!


Esto ya depende de cuanto tiempo le quieras dedicar a a web. En mi caso, y para este tipo de auditoria voy a dedicarle especial tiempo a los responses codes, y a external ya que quiero saber si enlazo a enlaces roto, ya que esto puede ser frustrante para mis usuarios e irse a buscar lo que quieren a otro sitio.

Más tarde me meteré un poco más en profundidad en la parte de Internal. Para ello exporto todo a csv y me lo llevo a excel para manejarlo.

Responses codes

Si aparece un 200, hey todo va bien. Sin embargo si lo que obtienes es un 30X ya puedes ir mirando si estás haciendo lo que realmente quieres. Si lo que encuentras en un 500 algo falla con el servidor. Pero de todas formas en este artículo de la wikipedia tienes los códigos explicados (he enlazado a la página en castellano).

Pagespeed de Google

También vale la pena mirar un poco  la velocidad. Para ello Google nos ha hecho esta aplicación, donde además podemos ver nuestra web móvil.También dá ejemplo de cosas a mejorar en tu web, así que a mejorar se ha dicho.
https://developers.google.com/speed/pagespeed/insights/

La parte de móvil tenla en especial interés, ya que hoy en día todos usamos móviles para visitar la web. Así que según cómo tengas configurado este tema te encontrarás con diferentees dficultades.

Y asi he realizado yo la auditoria para mi web.(este post se irá actualizando conforme vaya descubriendo información relevante.



sábado, 21 de enero de 2017

Errores que pueden darse al analizar datos de forma visual

En el curso sobre Data Visualization and Communication with Tableau ya vamos por la semana tres y cada vez se pone más interesante sobre todo en lo que aplicación práctica se refiere. Sin duda, uno de los mejores cursos que me he encontrado últimamente ya que va más allá de Tableau y explica todo un framework a tener en cuenta para explicar los resultados obtenidos.

Esta semana además aparecen en los vídeos personal de AirBnB dando ejemplos reales de los problemas que pueden darse al analizar los datos.

Errores que se pueden dar al analizar datos de forma visual 

La generalizacion y el sesgo muestral (Overgeneralization ands sample bias)


Este error se refiere al problema que genera elegir un dataset que está demasiado lejos de la realizad por ser una muestra demasiada o pequeña y dar por real algo que no lo es. Igualmente podemos tener un dataset enorme pero que no se ajuste a la realidad. Por ejemplo The Guardian intentó analizar donde eran peores las consecuencias de los efectos del Huracán Sandy según el ruido que se formaba en twitter. En realidad como la población no está igualmente distribuida, habia más tweets desde las ciudades más pobladas. Así que si se hubieran quedado con ese dataset no hubiera servido para nada y los resultados no hubieran servido para nada.

Así que deberíamos tener más cuidado con la calidad de los datos.

Mala interpretación debido a la falta de controles


Cada vez que analizamos algo puede ser debido a diversas causas, no sólo a lo que nosotros pensamos que puede ser. Como ejemplo se da un análisis de una acción de email marketing que supuestamente hacer que aumente la compra de una bebida en una determinada fecha. Más allá de ello nos encontramos que en realidad el aumento de la compra de la bebida se dá, no sólo en nuestra empresa sino también en los mayores competidores. ¿Qué ha podido pasar? Justamente por esa fecha un actor sale en las revistas bebiendo ese tipo de bebida y todos los vendedores salen fortalecidos.

Por ello siempre debe hacerse un grupo de control para ver si el resultado de la acción se debe a alho intrínseco.


Correlación no implica causalidad


Esto siempre es debatido en el análisis. Dos variable que parecen que tienen correlación (por ejemplo cuando una aumenta la otra también) en realidad  pueden no tener relación. Por ejemplo google estuvo haciendo un estudio y dando los resultados sobre la gripe. Así podía predecir los brotes que se daban por zona geográfica. Aunque en un principio parecía correcto, llegó un momento en que dejo de serlo. Quizás había alguna variable que no se haya tenido en cuenta o que entra en juego a lo largo del tiempo, por ejemplo un cambio en Google suggest
A ese tipo de relación que gráficamente parece existir pero que no tiene lógica se le llama relación espurea. Y se pueden a modo de friki-chiste relaciones espureas en esta página web.

Recomendación para evitar estos errores en el análisis

¿Y qué podemos hacer para intentar cometer el mínimo de errores posible y que se vaya todo el trabajo al garete?

1. Podemos crear un grupo de control, al modo A/B testing.

2. Si no es posible, podemos estudiar otras variables relacionadas que podrían esta interfiriendo en el análisis.

3. Hay que tener en cuenta que cuanto más grande es un dataset, más probabilidad hay de que aparezca una variable durante un periodo de tiempo  que haga que la nuestra correlación no sea cierta.(por ejemplo para el caso de Google flu, un cambio en su algoritmo con Google suggest donde sugería a los usuarios términos a buscar ) Así que si queremos basarnos en las correlaciones primero debemos saber que estamos haciendo e investir tiempo y esfuerzo en ello.

Más allá de todo esto aquí dejo un artículo de Wired sobre lo que podemos aprender del fallo de Google Flu Trends (muy muy interesante)