Translate

domingo, 24 de julio de 2016

England,UK,Great Britain or United Kingdom?

Después de leer un artículo de broma sobre la dificultad de "ser británico" en 2014 con el típico humor britanico, he caído en la cuenta de que yo también me enfrento a algunas de las situaciones que describen.
Una de ella es cuándo hay que buscar por país en una empresa de aerolineas o cualquier tipo de transporte. Estará por UK, England, Reino Unido,...? Siempre me lleva unos segundos de más. Parecido a cuándo no sabes si buscar por Spain o por Espana.

Para ver cómo buscan los mismo británicos por su país y cómo lo buscan en otros países de habla ingresa me he ido a Google trends a ver si ha ido cambiando.

Google Trends

Cómo se escribe Reino Unido en el mundo inglés

Los resultados han sido los siguientes:
  Al final he decidido annadir London para ver si es más importante que el propio país. Y bueno, parece que tanto en USA como en Canadá, Londres como concepto de busqueda es tan importante como el país en sí. La verdad es que si una empresa decide hacer una página web internacional le puedes servir muy bien investigar en Google Trends sobre este aspecto, sobre todo y mmientras Google Hummingbird, el algoritmo de Google, sigue aprendiendo cómo buscan los usuarios en Internet. Yo aún me enfrento a ello cuando voy a Espanna de vacaciones y me preguntan "qué tal por Londres "(a 3-4 horas de Leeds, dónde me encuentro). Igualmente a un amigo le pasa lo mismo cuándo le preguntan por Inglaterra y él está viviendo en Gales. Y es que no sólo en Espanna existe esa diferencianción por la "comunidad" dónde vivimos o hemos nacido y el país en sí...

Keywords para SEO y SEM

Asi que si decides hacer una keyword research para otros países (tanto en SEO cómo en SEM), deberíás tener todas estas cosas en cuenta, pero todos estos detalles pueden que te permitan crear una entrada de tráfico para long keywords por ejemplo que tu competencia aún no haya minado. Así que todavía queda mucho trabajo por hacer :)

martes, 17 de mayo de 2016

Principios básicos para realizar test a/b

Jelo People,hacía que no escribía una barbaridad (pero una barbaridad de verdad).

Unfortunatelly he terminado la temporada 3 de House of Cards  y la 4 aún no está en Netflix (la vida es así de dura, pero hay que convivir con ello) Pero bueno,he cogido mi lista de cosas por hacer y me he encontrado el curso de A/B testing  que dejé a medias hace unos meses. Os hago aquí un resumen por si os interesa.

Así que he estado mirando unos videos de la friki-pandi de CRO de Google y os resumo en estos vídeos de ejemplos y de un minuto aproximadamente. El tipo de preguntas que se puede hacer y que no se puede hacer en a/b testing. Cuando hacemos a/b testing nos interesa poder medir algo básico, mutuamente excluyente y que podamos saber que es aleatorio porque si no, nosotros estamos influenciando los resultados y claro, eso no vale  porque es una técnica cuantitativa y los números sólo dicen sí o no.

When can you use a/b testing
https://www.youtube.com/watch?v=EwV5Vs2m33w


Otro ejemplo
https://www.youtube.com/watch?v=tlSe7H9BDy8


Información sobre a/b testing en castellano

Y si pasáis del inglés. Este hombre con gorro lo explica bastante y en castellano (da el pego con el titulo en inglés pero está en castellano)
http://www.slideshare.net/joanby/how-to-properly-analyze-an-ab-test?ref=http://juangabrielgomila.com/como-analizar-correctamente-un-test-ab/

Seguiremos informando

miércoles, 2 de marzo de 2016

Jugando con Tableau y los datos del banco Mundial

He estado jugando con Tableau y echándole un ojo a los datos de Banco Mundial.Total, que me he acordado del marido de una amiga que conocí en Leeds que es de Pakistan. Bueno, de él no, es que durante una cena nos contó que Pakistan era uno de los países más poblados del Mundo. Fijate tú, que en España, o al menos por las zonas que yo he vivido nunca había oído hablar de este país. Qué  si, que intuía que estaba por dónde todos los países que terminan en nosequéTAN y cerca del país de Borat. Y dicho sea de paso a mi me sirvió este conocimiento  para ganar un quesito en el trivial...

Total, que una cosa llevó a la otra y me he puesto a juguetear con los datos. Estaba interesada principalmente en los países más poblados,pero como la cabra siempre tira al monte he acabado creando un dashboard con datos de acceso a Internet y de mortalidad infantil.

La verdad es que ha quedado muy bonito y muy fácil de revisar el treemap más el mapa y el diagrama de cajas y bigotes que es cómo lo llamaba una profe mía en la Universidad (boxplot para los amigos), Yo siempre me imaginaba una caja llena de bigotes de los de Movember y eso que se puede decir que es mi gráfico favoito,.. En fin, mejor me acuesto





Lo he puesto para que filtre por el treemap y eso, muy chulo y útil.Desde luego Tableau nos das los gráficos mascaicos y sólo hay que ocuparse de encontrarle sentido a los datos Otra cosa son las métrica que he cogido...jeje Estaba pensando en intentar hacer una correlación de número de hijos y países más poblados. ¿Eso tiene que ser significativo no? ¿Y mortalidad infantil con estas dos? Pues eso, que más para otro día. Pero si andas interesado en saber como crear un Dashboard con Tableau este video lo explica rápidico rapidico.


miércoles, 3 de febrero de 2016

Segmentando con el modelo RFM con SQL : Recency, Frequency & Monetary value

Si contamos con una base de datos de clientes podemos aplicar un modelo bastante fácil y que ya lleva bastante rodaje en el Marketing Directo:el modelo RFM.

¿Qué es RFM?

El fin de este modelo es poder segmentar a nuestros clientes para saber cuales son los que mayor beneficio nos puede aportar. Así a esos clientes podemos mandarles códigos promocionales, por poner un ejemplo.

Descuartizando el modelo RFM

¿Qué significan cada una de esas letras?
  • Recency: que podríamos describir como recencia.
  • ¿Hace cuánto que compró el cliente? Si el cliente hace mucho que no ha comprado puede ser que se haya ido a la competencia.
  • Frecuency: Frecuencia
  • ¿Con qué frecuencia suele comprar?
  • Monetary Value: valor monetario
Cantidad de dinero que ha gastado de media. Si un cliente suele gastar más será más valioso que otro que suele hacer una compra pequeña.

Cómo definimos RFM en una sentencia de SQL

  • La recencia ("recency") viene definida por el día de la última compra: MIN(dias_desde_la_ultima_compra).
  • La frecuencia ("frequency") viene definida por el total de veces que el cliente ha comprado.
  • El valor monetario ("monetary value"), en este caso, lo vamos a definir como la media de la cantidad comprada de cada uno de los clientes.
Imaginando un CRM con un id por cliente podríamos definir la query como: SELECT cliente_id,
MIN(dias_desde_ultima_compra) AS 'recencia',
COUNT(*) AS 'frecuencia',
AVG(cantidad_comprada) AS 'valor monetario'
FROM data GROUP BY 1")
Al ser en SQL la podríamos usar tanto R como en Python, o cualquier otro lenguaje de programación.

domingo, 24 de enero de 2016

Shiny: Crear mini aplicaciones con R -Studio

Mirando ofertas de trabajo he visto que pedían para un par de ellas saber usar Shiny. Así que tras una búsqueda en Internet me he puesto manos a la obra para ver de que se trataba.Y me he llevado una grata sorpresa.

RStudio sigue pensando en como hacer la vida más fácil a los no programadores y ahora nos permite crear aplicaciones al más puro estilo servlet de java con, con su interfaz gráfica para poder jugar con ella sin tener que programar. De esta forma cualquier programa que hagamos en R lo podemos subir a Internet y hacer que un usuario pueda jugar con él. Este post explica muy bien de que va en un lenguaje muy llano y en castellano.

Así como un poco de magía.

via GIPHY

Disclaimer: Este artículo fue escrito en 2016! He actualizado (Abril 2020) el post con información ya que había links rotos. Espero que sirva de ayuda.

Cómo se ve un programa en Shiny


Para poder ponernos con Shiny, lo primero que tenemos que hacer es instalarlo, aunque si tenemos una de las últimas versiones de Rstudio ya nos vendrá integrado.

Instalar shiny en R

Para los anticuados:
> install.packages("shiny")


 Para los más modernos
Directamente pasamos a Rstudio
 

Cómo funciona un programa en Shiny

Cualquier proyecto shiny lo vamos a ver como un directorio formado por varios archivos.Debido a que el programa va a correr en un servidor (aunque sea en localhost)  y que tiene interfaz gráfica vamos a necesitar al menos un script para el servidor y otro script para nuestro GUI.

Archivo ui.R

Este archivo va a tener todo lo que necesitamos para la interfaz gráfica.La ventanita, los títulos, etc etc. Para hacer todavía más fácil la creación de la aplicación si decidimos publicarla en una web por defecto Shiny la creadará con el framework Bootstrap que es ampliamente utilizado hoy en día y usa HTML5. ¿Qué más se puede pedir?

Código ui.R

 This is the user-interface definition of a Shiny web application.
# You can find out more about building applications with Shiny here:
#
# http://shiny.rstudio.com
#

library(shiny)

shinyUI(fluidPage(

  # Application title
  titlePanel("Old Faithful Geyser Data"),

  # Sidebar with a slider input for number of bins
  sidebarLayout(
    sidebarPanel(
      sliderInput("bins",
                  "Number of bins:",
                  min = 1,
                  max = 50,
                  value = 30)
    ),

    # Show a plot of the generated distribution
    mainPanel(
      plotOutput("distPlot")
    )
  )
))

Archivo server.R 


Este archivo es el del servidor.

Código server.R


# This is the server logic for a Shiny web application.
# You can find out more about building applications with Shiny here:
#
# http://shiny.rstudio.com
#

library(shiny)

shinyServer(function(input, output) {

  output$distPlot <- renderPlot({

    # generate bins based on input$bins from ui.R
    x    <- faithful[, 2]
    bins <- seq(min(x), max(x), length.out = input$bins + 1)

    # draw the histogram with the specified number of bins
    hist(x, breaks = bins, col = 'darkgray', border = 'white')

  })

})

Crear un proyecto en Shiny



Esto va a hacer que tengamos un directorio con estos dos archivos en RStudio tal que así en nuestro nuevo directorio/proyecto


Una vez creado el nuevo proyecto podemos ver aplicaciones preinstaladas para empezar a toquetearlas. Para ello sólo hace falta llamarlas desde la línea de comandos y correr la aplicación de esta forma
> library(shiny)
> runApp("my_app")
Shiny nos los pone fácil y nos tiene preparadas algunas aplicaciones preinstaladas. Así que podemos llamarlas y ver lo que es capaz de hacer. Aquí los ejemplos que podemos encontrar:

runExample("01_hello") # a histogram
runExample("02_text") # tables and data frames
runExample("03_reactivity") # a reactive expression
runExample("04_mpg") # global variables
runExample("05_sliders") # slider bars
runExample("06_tabsets") # tabbed panels
runExample("07_widgets") # help text and submit buttons
runExample("08_html") # Shiny app built from HTML
runExample("09_upload") # file upload wizard
runExample("10_download") # file download wizard
runExample("11_timer") # an automated timer
También puedes ver diferentes ejemplos para estudiar y trabajar sobre el código.
En mi caso he re-creado una app que lee archivos en txt y los muestra en una nube de palabras (wordcloud). Quiero que me ayude a entender de una forma fácil y visual cuales son los términos que más se repiten en los artículos de mi web. La app todavía necesita varias vueltas como por ejemplo crear stop-word o cambiar el tipo de codificación de caracteres. Pero bueno, se vería así.

Ejemplos de R con código

La página principal donde encontré los ejemplos ha desaparecido pero aún queda en pie los enlaces a los ejemplos.

Los 108 ejemplos con código puedes encontrarlos en el siguiente fork en github. En mi caso usé código del ejemplo de 002-text y wordcloud ( http://gallery.shinyapps.io/082-word-cloud )

 He puesto el código y el enlace a su página en el siguiente documento para que sea más fácil de encontrar
https://docs.google.com/spreadsheets/d/1dJMZkdVHxk-mjta5eAfavCeQGLjEk6gACEZ_GkLaWAo/edit?usp=sharing

En github puedes encontrar el código de cuando cree el post (gracias Maria del pasado por hacer un fork).

*Yo actualizando los enlaces a este post que escribí en 2016, tras pasarme a Python.


Referencia de la imagen- 9gag.com/

Documentación e información sobre Rstudio Shiny