El Problema
Imagina la situación: eres un analista de datos o un científico de datos en una empresa, y tu bandeja de entrada está llena de solicitudes para prever el futuro. El equipo de ventas necesita saber cuántos productos venderán el próximo trimestre. Operaciones quiere estimar la demanda de recursos para la próxima temporada. Marketing busca anticipar el tráfico del sitio web para planificar campañas. La necesidad de pronosticar tendencias es constante, crítica y, a menudo, frustrante.
La frustración principal surge cuando tienes los datos, sabes que la respuesta está ahí, pero el camino para obtenerla es una carrera de obstáculos. Primero, tus datos suelen estar en un almacén de datos robusto, como BigQuery. Para construir un modelo de pronóstico, la práctica común te dictaría que debes exportar esos datos. Esto significa mover gigabytes, o incluso terabytes, de información a otra plataforma. Un proceso que no solo consume tiempo, sino que también introduce riesgos de seguridad y consistencia, y genera una capa extra de complejidad en la gestión de tus flujos de trabajo.
Una vez que los datos están fuera, entonces comienza la verdadera odisea. Necesitas un entorno de desarrollo. Instalar librerías de Python o R, configurar un servidor, asegurarte de que todas las dependencias estén correctas. Es un ecosistema completo que requiere conocimientos especializados en programación y, a menudo, en ingeniería de software. Si eres un experto en SQL y en el negocio, pero no un desarrollador de tiempo completo, este paso puede ser una barrera infranqueable. Te ves obligado a aprender un nuevo lenguaje, a entender conceptos de infraestructura que no son tu fuerte, o a depender de un equipo de ingenieros de Machine Learning que ya están sobrecpasados de trabajo.
Y la cosa no termina ahí. Después de entrenar tu modelo en ese entorno externo, ¿qué haces con las predicciones? Generalmente, las importas de nuevo a tu almacén de datos para que puedan ser consumidas por los informes y paneles que los equipos de negocio utilizan. Más movimiento de datos, más puntos de fallo, más mantenimiento. Es un ciclo que consume recursos valiosos, genera latencia en la toma de decisiones y, francamente, te hace sentir que estás dando vueltas innecesarias cuando lo único que quieres es una respuesta clara y rápida sobre lo que viene. Te encuentras atrapado en un bucle de exportación, desarrollo, importación, cuando lo que realmente necesitas es una forma directa y eficiente de extraer valor predictivo de tus datos.
La Herramienta
Aquí es donde entra en juego una capacidad singular de Google que transforma por completo este paradigma: BigQuery ML. No es una aplicación externa, no es un servicio separado al que tienes que conectar tu BigQuery. Es una extensión nativa, una funcionalidad integrada directamente dentro de BigQuery, el mismo almacén de datos que probablemente ya estás utilizando para todas tus necesidades de análisis.
Imagina que tu almacén de datos no solo guarda tus cifras y estadísticas, sino que también tiene la inteligencia para aprender de ellas y predecir el futuro. Eso es BigQuery ML. Su propuesta de valor es sencilla pero potente: te permite entrenar, evaluar y ejecutar modelos de aprendizaje automático, incluyendo los complejos modelos de pronóstico de series temporales, utilizando un lenguaje que ya dominas: SQL.
Esto significa que la necesidad de mover tus datos a otras plataformas desaparece por completo. Tus datos permanecen seguros y en su lugar dentro de BigQuery. La barrera de tener que aprender lenguajes de programación especializados como Python o R para construir modelos se elimina, porque las "instrucciones" que le das al sistema para crear un modelo son, esencialmente, comandos SQL. Si sabes cómo consultar tus datos en BigQuery, ya tienes la base para empezar a construir modelos predictivos.
BigQuery ML soporta una amplia gama de tipos de modelos, desde regresión lineal y logística para predecir valores continuos o clasificar resultados, hasta modelos de agrupamiento como k-means para segmentar clientes, o modelos de recomendación. Pero para el caso que nos ocupa, su capacidad para manejar series temporales es particularmente impresionante. Utiliza algoritmos sofisticados, como ARIMA_PLUS, que están diseñados específicamente para encontrar patrones y estacionalidades en datos que cambian con el tiempo, y luego proyectar esos patrones hacia el futuro. Todo esto, sin que tú tengas que ser un experto en la matemática detrás de ARIMA.
En esencia, BigQuery ML democratiza el acceso al Machine Learning, poniéndolo directamente en manos de analistas y científicos de datos que ya están cómodos con SQL. Convierte tu almacén de datos en un potente motor de inteligencia artificial, eliminando las fricciones, la complejidad y el tiempo que tradicionalmente se asocian con el desarrollo y la implementación de modelos de aprendizaje automático. Es una forma de pasar de la descripción a la predicción, sin salir del entorno que ya conoces y utilizas.
El Truco
El truco para usar BigQuery ML para pronóstico de series temporales reside en dos comandos SQL especiales. Piensa en ellos no como consultas de datos habituales, sino como instrucciones directas que le das a BigQuery para que realice tareas de Machine Learning. Es como si BigQuery tuviera un equipo de expertos en pronóstico integrado, y tú, como director, les das las órdenes en un lenguaje que todos entienden: SQL.
El primer paso es construir y entrenar tu modelo. Imagina que tienes una pila de datos históricos de ventas diarias. Para que BigQuery ML aprenda de ellos y prediga el futuro, necesitas "crear un modelo". Esto lo haces con un comando especial que empieza con "CREATE MODEL". En lugar de un "SELECT", le estás diciendo a BigQuery: "Quiero que construyas un modelo, y lo voy a llamar 'mi_modelo_de_ventas'".
Dentro de este comando "CREATE MODEL", le especificas varias cosas importantes, como si estuvieras dando una receta a un chef muy inteligente. Primero, le dices qué tipo de modelo quieres. Para pronósticos, esto es "ARIMA_PLUS", que es como pedir un plato especializado en detectar patrones temporales y estacionalidades. Luego, le indicas a BigQuery ML dónde están los ingredientes: tu tabla de datos históricos de ventas. Es como señalarle el estante donde tienes tus datos.
Lo crucial aquí es que le dices al modelo qué columna de tus datos representa el tiempo, por ejemplo, una columna llamada "fecha_venta", y qué columna es el valor que quieres pronosticar, como "cantidad_vendida". Es como decirle al chef: "Fíjate en esta fecha y en esta cantidad para aprender la relación". Una vez que ejecutas este comando, BigQuery ML se encarga de todo el proceso de entrenamiento. Es decir, el chef toma los ingredientes, sigue la receta, y practica hasta que el modelo está listo para hacer pronósticos precisos. No tienes que preocuparte por la matemática compleja, la optimización de parámetros o la validación del modelo; BigQuery ML lo hace por ti.
El segundo paso, una vez que el modelo está entrenado, es hacer las predicciones. Para esto, utilizas otro comando especial que empieza con "ML.FORECAST". Esto es como si le pidieras al chef que, basándose en todo lo que ha aprendido, te prepare una muestra de lo que cocinará en el futuro. Tú le dices: "Usando 'mi_modelo_de_ventas', quiero que me pronostiques los próximos 90 días". Le especificas cuántos periodos futuros quieres predecir, que en este caso serían 90 días.
El resultado de este segundo comando es una tabla de datos completamente nueva, generada por BigQuery ML. Esta tabla contendrá tus pronósticos para los próximos 90 días, incluyendo el valor predicho de "cantidad_vendida" para cada fecha futura, junto con intervalos de confianza que te dan una idea de cuán segura es esa predicción. Y todo esto, sin que los datos hayan abandonado BigQuery, y sin que hayas escrito una sola línea de Python o R. Has utilizado el poder del Machine Learning con la simplicidad de SQL.
Ejemplo Real
Imagina que trabajas para una cadena de supermercados con cientos de tiendas. Tu tarea es optimizar el inventario de productos frescos, como frutas y verduras, para reducir el desperdicio y asegurar que siempre haya suficiente stock para los clientes. Un error en el pronóstico puede significar pérdidas significativas por productos caducados o, peor aún, estantes vacíos y clientes insatisfechos.
Tienes todos los datos de ventas diarias de cada producto en cada tienda, almacenados en una tabla de BigQuery llamada "ventas_diarias_productos_frescos". Esta tabla contiene columnas como "fecha_venta", "id_producto", "nombre_producto", "id_tienda" y "cantidad_vendida".
Con BigQuery ML, el proceso para obtener un pronóstico de ventas para la próxima semana, por ejemplo, se simplifica drásticamente.
Primero, usarías el comando para "CREAR MODELO". Le dirías a BigQuery ML que quieres construir un modelo de pronóstico de series temporales, especificando que la columna "fecha_venta" es el eje del tiempo y "cantidad_vendida" es lo que quieres predecir. Podrías crear un modelo para cada producto o incluso para cada producto por tienda si tus datos lo permiten y necesitas ese nivel de granularidad. Por ejemplo, podrías enfocar un modelo en las ventas de "manzanas_rojas" en la "tienda_centro".
Una vez que ejecutas ese comando, BigQuery ML toma todos los datos históricos de ventas de manzanas rojas en la tienda del centro. Analiza los patrones de venta a lo largo de los días, semanas, meses e incluso detecta estacionalidades (quizás las manzanas se venden más en ciertas épocas del año o días de la semana). Aprende cuándo las ventas suben, cuándo bajan y cómo se comportan normalmente. Este proceso, que antes requeriría un experto en estadística y programación, ahora sucede de forma automática dentro de BigQuery.
Cuando el modelo ha terminado de "aprender" de tus datos históricos, pasas al segundo comando: el de "ML.FORECAST". Le dices a BigQuery: "Ahora que tienes tu modelo entrenado para las manzanas rojas en la tienda del centro, dime cuántas se venderán cada día durante los próximos siete días".
El resultado que BigQuery ML te entrega es una tabla clara y concisa. En ella verás la fecha para cada uno de los próximos siete días y, junto a cada fecha, la "cantidad_vendida" pronosticada para las manzanas rojas en esa tienda. Además, te proporcionará un rango de confianza, indicando la probabilidad de que las ventas reales caigan dentro de ese rango.
Con esta información, el gerente de la tienda o el encargado de inventario no necesita esperar a un informe complejo o a un científico de datos. Directamente desde BigQuery, o a través de un panel de control conectado a estas predicciones, puede ver exactamente cuántas manzanas rojas se espera vender. Esto le permite ajustar los pedidos a los proveedores con precisión, reducir el desperdicio de productos perecederos y asegurar que las estanterías estén siempre llenas con la cantidad justa, mejorando la satisfacción del cliente y la rentabilidad del negocio. Es Machine Learning aplicado al problema de negocio, de forma directa y eficiente.
Conclusión rápida
La capacidad de BigQuery ML para integrar el aprendizaje automático directamente en tu flujo de trabajo de análisis de datos es un cambio de juego fundamental. Elimina las barreras tradicionales del movimiento de datos, la complejidad de la infraestructura y la necesidad de conocimientos de programación especializados. Al permitirte entrenar modelos de pronóstico de series temporales, como los basados en ARIMA_PLUS, usando comandos SQL familiares, democratiza el acceso a la inteligencia predictiva. Esto significa que los analistas de datos pueden generar pronósticos críticos para el negocio con una agilidad sin precedentes, transformando la forma en que las empresas toman decisiones basadas en el futuro, no solo en el pasado. Es una herramienta potente que pone el poder de la predicción directamente en tus manos, dentro del entorno de datos que ya dominas.
⏱️ Capítulos del episodio:
00:00 - El Problema
02:45 - La Herramienta
05:27 - El Truco
08:41 - Ejemplo Real
12:05 - Conclusión rápida