Publicado
- 6 min tiempo de lectura
Cómo predecir las ventas con machine learning
Predecir ventas es una de las tareas más importantes para cualquier negocio, especialmente para las PYMEs que buscan optimizar inventarios, evitar sobreproducción y aprovechar al máximo sus recursos. Aunque muchas empresas todavía confían en Excel o en la intuición para tomar estas decisiones, la realidad es que el Machine Learning ofrece una manera más precisa, escalable y adaptativa de predecir el futuro.
En este artículo, te mostraré un ejemplo práctico, simple pero poderoso, que puedes seguir paso a paso usando un notebook interactivo de Google Colab. Vamos a predecir ventas utilizando un dataset minorista realista de Kaggle y un modelo básico de regresión lineal.
¡Comencemos!
Por qué usar Machine Learning en lugar de Excel o intuición
Es posible que pienses: “¿Realmente necesito Machine Learning para predecir ventas? ¿No basta con una fórmula de Excel o un poco de experiencia?”. Es una pregunta válida, pero aquí tienes la respuesta:
- Machine Learning maneja la complejidad mejor:
Si bien Excel puede ayudarte con datos simples, cuando tienes muchas variables (como estacionalidad, promociones o categorías de productos), los modelos de Machine Learning destacan porque pueden encontrar patrones ocultos que no son evidentes a simple vista.
Paso a paso: Explorando el notebook interactivo
Este es un ejemplo muy básico, pero te ayudará a dar tus primeros pasos con Machine Learning para predecir ventas. Puedes seguir el tutorial con nuestro notebook de Google Colab:
👉 Abrir el notebook aquí
1. Descarga del dataset
Utilizamos la herramienta kagglehub para descargar automáticamente un dataset minorista desde Kaggle. Este dataset contiene información como categorías de productos, ventas por cliente, y precios.
Nota: Si ves un mensaje de advertencia (“Warning: Looks like you’re using an outdated
kagglehubversion”), no te preocupes. El dataset se descarga correctamente.
2. Exploración inicial de los datos (EDA)
Antes de construir un modelo, exploramos los datos para entender su estructura. Aquí puedes ver las primeras filas del dataset, que incluyen columnas como:
- Fecha de la transacción.
- Género y edad del cliente.
- Categoría del producto, cantidad y monto total de la venta.
El análisis de los gráficos proporciona una base sólida para evaluar si la regresión lineal es un buen modelo para este dataset y cómo comunicar los resultados. Aquí está el desglose:
Mapa de calor de correlación
-
Interpretación:
- La correlación entre
Price per UnityTotal Amountes fuerte (0.85), lo que sugiere que es una variable clave para predecir las ventas totales. - La correlación entre
QuantityyTotal Amountes moderada (0.37), por lo que también aporta información útil, aunque no tanto como el precio. - La correlación entre
QuantityyPrice per Unites insignificante (0.02), indicando que son variables independientes.
- La correlación entre
-
Conclusión: La regresión lineal tiene sentido para este dataset, pero la predicción dependerá principalmente de
Price per Unit. Si las predicciones futuras no capturan variaciones enPrice per Unit, el modelo podría dar resultados planos.
3. Entrenamiento del modelo de Machine Learning
Para este ejemplo, utilizamos un modelo de regresión lineal para predecir las ventas totales. La fórmula básica es:
Donde:
- : Es la variable que queremos predecir (monto total de las ventas).
- : Es el intercepto (el punto donde la línea cruza el eje ).
- : Son los coeficientes que representan el peso de cada variable.
- : Son las variables independientes (como mes, cantidad de productos, etc.).
- : Es el error o ruido no explicado.
Explicación simple:
Imagina que estás trazando una línea que conecta las variables como “cantidad” y “precio por unidad” con las ventas totales. La línea aprende cómo estas variables influyen en las ventas para hacer predicciones futuras.
Métricas del modelo
Evaluamos el modelo utilizando:
- MAE (Error Absoluto Medio): Promedio del error en las predicciones:
- R² (Coeficiente de Determinación): Mide qué tan bien el modelo se ajusta a los datos reales.
Aquí están los resultados del modelo:
MAE: 174.054
R²: 0.856357
4. Gráfico de residuales
Interpretación:
La distribución de los residuales muestra que hay cierta variabilidad en los errores, pero están razonablemente centrados alrededor de 0. Sin embargo, hay algunos valores extremos, lo que indica que el modelo puede no estar capturando correctamente todos los patrones.
Conclusión: La regresión lineal parece ser adecuada, pero un modelo más complejo (e.g., árboles de decisión o boosting) podría manejar mejor los valores extremos.
5. Tendencia de ventas mensuales
-
Interpretación:
- Hay un patrón estacional claro, con picos en ciertas épocas del año (e.g., mayo y diciembre).
- Este patrón estacional no es algo que la regresión lineal capte de forma inherente, ya que no incorpora información temporal explícita.
-
Conclusión: Si el objetivo es capturar estacionalidad, un modelo de series temporales (como ARIMA o Prophet) podría ser más adecuado.
6. Gráfico de predicciones vs. valores reales
-
Interpretación:
- La línea roja muestra la relación ideal entre predicciones y valores reales. La mayoría de los puntos están cerca de la línea, lo que indica que el modelo tiene un buen desempeño.
- Sin embargo, para valores altos, las predicciones son menos precisas, posiblemente debido a la simplicidad del modelo.
-
Conclusión: Este gráfico demuestra que el modelo funciona razonablemente bien, pero hay margen de mejora para casos extremos.
Visión general
La regresión lineal es un modelo razonable para este dataset reducido, especialmente porque Price per Unit tiene una fuerte correlación con Total Amount. Sin embargo, para mejorar:
- Considera usar un modelo más avanzado, como Random Forest, si el objetivo es capturar valores extremos.
- Si la estacionalidad es importante, explora modelos de series temporales.
Por qué Machine Learning es la mejor opción
Este ejemplo básico demuestra que incluso un modelo sencillo de Machine Learning supera lo que podrías lograr con Excel o intuición. Aunque no es perfecto, el modelo:
Encuentra patrones ocultos en los datos.
- Aprende de la experiencia para mejorar.
- Es escalable y se adapta a negocios con grandes volúmenes de datos.
¿Estás listo para llevar tu negocio al siguiente nivel con Machine Learning? Si necesitas ayuda para implementar estas soluciones, visita: 👉 ViaLabs Digital.
¡No pierdas la oportunidad de transformar tus datos en decisiones inteligentes! 🚀
Artículos relacionados
Agente de IA para pymes: calcula si merece la pena implantarlo
SEO para IA: cómo preparar tu web para que ChatGPT entienda mejor tu empresa
Infraestructura segura para proyectos web e IA: Google Cloud, Docker y Cloudflare
Ver 18 artículos más
- Formación en IA para organizaciones: cuando entender cambia la forma de trabajar
- Formación en IA para empresas: la tecnología ha llegado y está disponible para todos
- Mi empresa no aparece en Google Maps: 5 causas y cómo solucionarlas
- 7 señales de que tu web está perdiendo clientes sin que lo sepas
- SEO en la era de la IA: por qué ahora necesitas también GEO
- Tu web no es solo un escaparate: cómo prepararte para aprovechar la IA
- Checklist: ¿Está tu PyME lista para aplicar IA?
- Cómo la lógica difusa puede mejorar tus decisiones de negocio en tiempos de IA
- Predecir Pedidos Problemáticos con Machine Learning: Un Caso para Empresas
- Machine Learning: ejemplos para empresas
- ¿Qué son los Agentes Virtuales y Cómo Pueden Aplicarse En Tu Negocio?
- Los Chatbots Pueden Transformar tu Negocio: Guía para Empresarios y Autónomos
- Descubre el Tesoro Oculto en Tu Empresa
- Mejorando la Salida de los LLMs mediante la Combinación de Técnicas Avanzadas
- El Ciclo Iterativo de los proyectos de Machine Learning
- Tendencias en Ciencia de Datos
- El futuro del ML es local, y va a revolucionarlo todo 📍
- 🔍 Forjando tu negocio con datos e IA
Machine Learning aplicado a negocio
Soy Raúl Jáuregui, consultor de I+D+i y también trabajo en proyectos de ML orientados a producción real, no solo prototipos. Si quieres pasar de experimento a sistema robusto, hablemos.
Ver servicio