Ir al contenido principal

Minería de datos ejemplo de Spotify

En estos días pasados he visto publicaciones de los artistas mostrando cuantas canciones, cuantas horas, cuantos usuarios y en cuantos países los han escuchado, yo creo que ustedes también han visto imágenes como esta:


Cuando yo las veo que detrás hay un equipo de Tecnologías de la Información y Mercadotecnia que están haciendo Minería de datos que es el tema del post de hoy. 
La minería de datos es el nombre que se le da al proceso de:

  • Definir que datos se quieren conocer y almacenar 
  • Consolidar información en una base de datos
  • Después generar los querys o consultas para extraer la información 
  • Presentar información en un reporte o template para toma de decisiones o estrategias de negocio 

Sigamos con el ejemplo de Spotify, ellos tienen los datos de sus usuarios como son:correo, edad, género, país, nuestras listas de reproducción


  • Pensemos en una base de datos y les dejo que me imagino yo en un diagrama entidad relación :





Este diagrama se leería así: Un artista tiene muchas canciones, una canción puede estar en mas de una playlist, una playlist puede ser de 1 o más usuarios. La historia de las canciones y de cada cuando se toca me lo imagino en una tabla de historia.
Aclaro este es un ejemplo de como pienso que puede ser, pero en realidad debe ser más complejo.

Por cierto el diagrama lo dibuje en la página https://www.lucidchart.com/ , ahí pueden hacer diagramas online, les puede servir para diagramas UML, de Red, etc.


  • Luego la consulta de la información para saber cuantas veces se escucho una canción de un artista en 2019


Select count(*), artist.name
from History_play
Inner join artist on artist.artist_id = History_play.artist_id
WHERE YEAR(history_play.date) = 2019
Group by id_artist


  • Después me imagino a un diseñador WEB armando el template o plantilla para solo cambiar las imágenes y datos para mostrar la información y solo colocar la imagen del artista y los datos que le corresponden. Claro después de un gran trabajo con CSS, HTML, Javascript o algún otro lenguaje FRON-END.
  • Luego un ingeniero de software tomando la información del Query e insertándola en los campos del template correspondiente, con agluna herramienta BACK-END como PHP, ASP, Java.

La minería de datos o datamaning es buscar patrones, es conocer y entender a los usuarios, conocerlos, saber sus gustos por ejemplo en Spotify :
  • Mejorar su experiencia con la App
  • Para que los artistas sigan publicando sus canciones con ellos
  • Para que los usuarios que escuchan la música, busque al artista más popular
  • Saber que género es el mas escuchado por cada rango de edad
  • Proponerte nuevas playlist
  • Para poder hacer SpotifyAdwards, lo cuales se llevaran a cabo el 5 de marzo 2020 en CDMX (lugar donde más personas escuchan Spotify del mundo)


Este ejemplo es muy bueno para explicar el proceso de minería de datos, pero es mucho más complejo y seguramente Spotify tiene una gran infraestructura y tecnología para todo el proceso de streaming y datamaning.
Hay técnicas para extracción de la información, se necesita definir que información se quiere conocer, como transformar la información para presentarla, hay software dedicado a la minería de datos.

También eso sirve para el proceso de CRM (Customer Relation Management), que es manera general el contacto con los clientes, entenderlos, conocerlos para poder brindarles un mejor servicio que es lo que hace, cada empresa tiene definido el alcance a este servicio, en mi primer trabajo formal trabaje en una empresa dedicada a CRM donde en base a la explotación de la información se diseñaban campañas de publicidad que eran enviadas por correo electrónico o SMS, también se trabajaba con puntos de lealtad utilizando monederos electrónicos. 

Algunos software dedicados a Minería de datos son:
  1. Rapid Miner. Availability: Open source. ...
  2. Orange. Availability: Open source. ...
  3. Weka. Availability: Free software. ...
  4. KNIME. Availability: Open Source. ...
  5. Sisense. Availability: Licensed. ...
  6. Apache Mahout. ...
  7. Oracle Data Mining. ...
  8. DataMelt.
Tomado de https://www.softwaretestinghelp.com/data-mining-tools/ yo adicionaría a Tableu, SalesForce y PowerBI 

Les comparto algunos libros o artículos para que puedan conocer más


También les comparto unas vacantes que encontré para que vean las opciones de empleo que tienen si se capacitan en minería de datos

También les recomiendo una serie de Netflix, de la historia de Spotify se llama La Playlist


Pueden seguirnos también en nuestra página de Facebook

Comentarios

  1. Antes que nada agradecer enormemente la referencia. En lo particular me gustaría destacar algunos puntos que percibo en tu nota:

    1) La estructura de una BD es el cimiento para poder hacer Inteligencia de Negocios (BI). Para los perfiles que no sean Técnicos seguramente les causará mucho ruido o dolores de cabeza pero creo es importante que entendamos, aún no siendo de sistemas, la estructura de la misma ya que estás se crean de la mano con los EXPERTOS DE DOMINIO y los expertos de TI. Conocer el negocio y su operación es clave al igual que las base de datos, la minería de datos y la inteligencia de negocios (softwares).

    2) Generarse las preguntas correctas para acudir al software y plasmarlas para así obtener los datos y estudiarlos (ETL)

    3) En el caso de SPOTIFY no existe error humano de INGRESO DE DATOS, la mayoría de los CRM o sus implementaciones son un fracaso debido a que las personas que lo operan no entienden su concepto, utilidad y cómo operan. Esto me lleva a decir que el factor de fracaso de un CRM tiene mucho que ver a la falta de Capacitación al personal pero también a la poca cultura que se tiene en x o y región del tratamiento de DATOS y su importancia. En mis consultorías siempre le recuerdo al cliente que: "La información vale oro siempre y cuando se le de el valor mismo"

    Saludos
    Baruch

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Graficar funciones en Python con dataframes

Bienvenidos a un nuevo post, en esta semana, en esta ocasión les quiero platicar acerca de una librería en Python que se llama  matplotlib  que nos sirve para gráfica funciones de  matemáticas. Habitualmente en Python existen muchas librerías, lo que hay que hacer es primero investigar si ya existe alguna que nos ayude y entenderla antes de inventar el hilo negro, en mi caso encontré la librería  Matplotlib Para instalar deben utilizar el comando PIP en 2.7 Instalando en Python 3.7 Si tienen Python 2.7 deben realizar la ejecución de estos 2 comandos desde consola python -m pip install -U pip python -m pip install -U matplotlib Aunque lo más recomendable es utilizar la versión 3.7 o superior de Python. Programa para graficar en Python import matplotlib.pyplot as plt import numpy as np import math as mt def move_spines():     """Esta funcion divide pone al eje y en el valor      0 de x para dividir claramente los valores positivos y     negativos.&quo

Ejemplo Macro en Word

Hola: ¿Sabían que no solo en Excel pueden hacer Macros?  ¡¡¡También en Outlook, Word, Power Point,Access  es posible hacer Macros!!!  ☺️ Ya que Word, Excel, Power Point,Access son de familia Microsoft y Visual Basic también es que podemos programar nuestras macros en esta paquetería. Como hemos visto antes, para poder programar nuestras macros, necesitamos primero configurar la Barra de tareas de Developer o Desarrollador Seleccionan el Menu File>Options>Customize Ribbon o en Español Archivo>Opciones>barra de tareas Despues la parte de seguridad de las macros Menu File>Options>Trus Center o Archivo>Opciones>Centro de Seguridad y marcamos como se ve en la imagen, la cuarta opción y el combo Ejemplo Vamos hacer un ejemplo donde, tengamos que generar varios diplomas de fin de curso, pero con una lista de Nombres , entonces vamos a crear un nuevo archivo en Word y le vamos a guardar como tipo Macro  Tenemos una plantill

Ejemplo Python para leer imagen y transformarla en una matriz

Como hemos visto en otros post, Python nos permite hacer programas de manera más rápida, en esta ocasión quiero compartirles un ejemplo para leer un archivo de imagen y como convertirlo en una matriz o un arreglo. Aplicaciones Poder hacer ingeniería de datos, es decir poder convertir una misma imagen en diferentes todos y utilizarlos para machine learning para reconocimiento de gatos, para ello hay que mostrar muchas imágenes a nuestro modelo es decir entrenarlo, para ello hay que colocarle imágenes claras y imagenes que no sean tan claras por ejemplo, se pone la imagen original y se agrega "ruido" para que se vea en rojos, grises, verdes. Se pudo utilizar para un mapa , para poder ver datos a detalle Se puede aplicar para manipular imágenes, por ejemplo agregar efectos  Seguramente a ustedes se les pueden ocurrir más aplicaciones Les comparto el ejemplo de como hacerlo en Jupiter y para hacer el ejemplo voy a utilizar el logo del blog es una imagen de 500x500 pixeles Los Pas