Cómo Netflix utiliza Big Data
Teniendo en cuenta cuánto tiempo ha estado Netflix en el negocio de la transmisión, ha acumulado un montón de datos sobre sus espectadores, como su edad, sexo, ubicación, su gusto en los medios, por nombrar algunos.
Al recopilar información en cada interacción con los clientes, Netflix puede sumergirse directamente en la mente de sus espectadores y hacerse una idea de lo que les gustaría ver a continuación, incluso antes de terminar un programa o película.
Tenemos datos que sugieren que hay un comportamiento de visualización diferente dependiendo del día de la semana, la hora del día, el dispositivo y, a veces, incluso la ubicación.
– Reed Hastings
Netflix tiene una base de usuarios masiva de más de 140 millones de suscriptores. Aquí hay algunas métricas que Netflix rastrea para dar un sabor individual a todos—
- Qué día ve contenido
- A qué hora ve contenido
- El dispositivo en el que se vio el contenido
- Cómo la naturaleza del contenido
- Busca en la plataforma
- Partes de contenido que se volvieron a ver
- Si el contenido se detuvo, rebobinó o adelantó
- Datos de ubicación del usuario
- Cuando deja contenido
- Las calificaciones dadas por los usuarios
- Comportamiento de navegación y desplazamiento
Más con el tiempo, Netflix ha implementado varios algoritmos y mecanismos que hacen uso de estos datos y generan información crítica que ayuda a dirigir a la empresa en la dirección correcta. Algunas de estas herramientas y características son:
● Motor de recomendaciones casi en tiempo real
Con un mar de usuarios, cada usuario genera cientos de calificaciones por día en función de lo que ve, busca y agrega a su lista de seguimiento, estos datos finalmente se convierten en parte de Big Data. Netflix almacena toda esta información y, mediante algoritmos clave de aprendizaje automático, crea un patrón que indica el gusto del espectador. Es posible que este patrón nunca coincida con otro espectador debido a que el gusto de todos es único.
En función de las calificaciones, Netflix clasifica sus medios y sugiere al espectador lo que el sistema de recomendaciones cree que le gustaría ver a continuación.
Netflix lo sabrá todo. Netflix sabrá cuándo una persona deja de verla. Tienen todos sus algoritmos y sabrán que esta persona vio cinco minutos de un espectáculo y luego se detuvo. Pueden decir por el comportamiento y la hora del día que van a volver a él, en función de su historia.
– Mitchell Hurwitz
● Ilustraciones & Selección de imágenes
¿Alguna vez se ha preguntado por qué Netflix muestra varias ilustraciones para un solo programa de televisión o película?
La herramienta detrás de esto se llama AVA, que es esencialmente un algoritmo que selecciona qué obras de arte e imágenes mostrar a quién. Abreviatura de Análisis Visual Estético, AVA examina cada vídeo disponible e identifica los fotogramas más adecuados para ser utilizados como obras de arte.
AVA tiene en cuenta muchas métricas antes de finalizar las imágenes, como las expresiones faciales de los actores, la iluminación de la escena, las áreas de interés, el posicionamiento de los sujetos en la pantalla. Incluso categoriza y clasifica las obras de arte para mostrarlas a los usuarios categorizadas en varios grupos de gustos.
Netflix es algo que veo.
– Famke Janssen
● Planificación de producción
Los datos juegan un papel fundamental cuando los creadores tienen una idea sobre un nuevo espectáculo o película. Mucha lluvia de ideas tiene lugar antes de que nada aparezca en el papel, y ahí es donde entran los datos.
Con experiencia previa en la creación de contenido nuevo y original y una gran cantidad de datos sobre cómo los espectadores percibían el contenido anterior, Big Data ayuda a sacar las posibles soluciones a muchos de los desafíos que se enfrentan durante la fase de planificación.
Estos desafíos podrían incluir la identificación de los lugares de rodaje, la hora y el día del rodaje, y más. Incluso con modelos de predicción simples, Netflix puede ahorrar una cantidad significativa de esfuerzo en la planificación, reduciendo aún más los gastos.
Netflix está encargando contenido original porque sabe lo que la gente quiere antes que ellos.
– The New York Times
● Metaflow
Netflix tiene Metaflow de código abierto, su marco de trabajo centrado en el ser humano y nativo de la nube destinado a aumentar la productividad de los científicos de datos.
La idea detrás de Metaflow era cambiar el enfoque de los científicos de datos de preocuparse por la infraestructura de los modelos a resolver problemas. Metaflow les dio la libertad de experimentar con sus ideas al ofrecer un conjunto de características ajustadas que casi hacen que Metaflow se sienta como un marco de trabajo plug-and-play. Algunas características notables de Metaflow son:
● Capacidad para trabajar en una plataforma de computación distribuida
● Opción de captura de código y datos para controlar versiones y experimentar
● Cliente S3 de alta velocidad y alto rendimiento
● Soporte para la mayoría de los marcos de aprendizaje automático
● Polynote
Desarrollado y de código abierto por Netflix, Polynote es un políglota portátil con soporte para Scala y varias otras características. Polynote permite una integración fluida de la plataforma de aprendizaje automático basada en JVM con Python para científicos de datos e investigadores de aprendizaje automático. Algunos aspectos destacados de este cuaderno son:
● Proporciona información sobre el estado del kernel y las tareas en ejecución
● Ofrece una administración simplista de dependencias y configuraciones
● Proporciona funciones similares a IDE, como autocompletar, resaltar errores, reproducibilidad, edición, mejoras, visibilidad, visualización de datos y muchas más.
● Metacat
El vasto conjunto de datos en el que opera Netflix se distribuye en múltiples plataformas, como Amazon S3, Druid, Redshift y MySQL, por nombrar algunas. Para mantener una interoperabilidad perfecta entre estos almacenes de datos, Netflix necesitaba un servicio.
Esta necesidad de simplicidad dio origen a Metacat, cuyo único propósito era proporcionar acceso centralizado a metadatos para todos los almacenes de datos. Netflix creó Metaflow con la intención de cumplir los siguientes objetivos principales:
● Para unificar y proporcionar vistas centralizadas de sistemas de metadatos
● Para ofrecer una API singular para metadatos de conjuntos de datos para plataformas
● Para proporcionar una solución para el almacenamiento de metadatos de conjuntos de datos para empresas y usuarios
● Druida
«Apache Druid es una base de datos de análisis en tiempo real de alto rendimiento. Está diseñado para flujos de trabajo donde las consultas rápidas y la ingesta realmente importan. Druid destaca por la visibilidad instantánea de los datos, las consultas ad hoc, el análisis operativo y el manejo de alta concurrencia.»
— druida.io
Netflix utiliza Apache Druid para garantizar que sus usuarios obtengan una experiencia de usuario de alta calidad en todo momento. Ofrecer una experiencia de usuario de primera categoría en todo momento no es una tarea sencilla. Requiere un análisis constante de varios eventos, recopilar los datos necesarios y analizarlos. Estos datos podrían ser cualquier cosa, desde la información de reproducción hasta la información del dispositivo, el rendimiento de la plataforma de medición y varios otros. Todas estas métricas de eventos complican los datos en bruto, y ahí es donde entra en juego Druid.
La tarea de Druid es proporcionar análisis en tiempo real en bases de datos donde las consultas se ejecutan regularmente y en períodos de tiempo inciertos. Es altamente escalable y ofrece un excelente rendimiento para cualquier carga de trabajo.
● Uso de Python
Netflix ama Python por lo poderoso que es y lo excelente que se vuelve cuando se combina con bibliotecas, sin mencionar la fluidez con la que se integra con otras plataformas. Netflix utiliza Python para gestionar una gran cantidad de sus aspectos de misión crítica, como:
● Aplicaciones que gestionan la infraestructura de CDN
● Análisis de datos operativos, distribución de tráfico y eficiencia operativa
● Herramientas de visualización de prototipos
● Obtención de información a través de herramientas estadísticas, exploración y limpieza de datos
● Para mantener la seguridad de la información
● Gestión de varias tareas principales mediante cuadernos Jupyter
● Para experimentación con pruebas A/B