¿Quieres anticiparte a las ventas de tus productos en Amazon? Un modelo predictivo de demanda te permite estimar cuántas unidades venderás en el futuro, optimizando inventario, logística y campañas de marketing.
Aquí te muestro cómo hacerlo paso a paso en Python. 👇
1️⃣ Recolectar los datos
Desde Amazon Seller Central puedes exportar un histórico de ventas en CSV. Lo ideal es contar con columnas como:
fechaproducto_idunidades_vendidasprecioreseñas
Ejemplo:
| fecha | producto_id | unidades_vendidas | precio | reseñas |
|---|---|---|---|---|
| 2025-01-01 | A123 | 15 | 24.99 | 95 |
| 2025-01-02 | A123 | 18 | 24.99 | 97 |
2️⃣ Preparar los datos en Python
import pandas as pd
df = pd.read_csv("ventas_amazon.csv", parse_dates=["fecha"])
df = df.sort_values("fecha")
# Crear variables de calendario
df["mes"] = df["fecha"].dt.month
df["dia_semana"] = df["fecha"].dt.dayofweek
3️⃣ Definir las variables
- Variables predictoras (X): mes, día de la semana, precio, reseñas.
- Variable objetivo (y): unidades vendidas.
X = df[["mes", "dia_semana", "precio", "reseñas"]]
y = df["unidades_vendidas"]
4️⃣ Dividir en entrenamiento y prueba
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, shuffle=False
)
5️⃣ Entrenar un modelo
Podemos usar un Random Forest, que maneja bien relaciones no lineales.
from sklearn.ensemble import RandomForestRegressor
modelo = RandomForestRegressor(n_estimators=200, random_state=42)
modelo.fit(X_train, y_train)
6️⃣ Evaluar resultados
from sklearn.metrics import mean_absolute_error, mean_squared_error
import numpy as np
y_pred = modelo.predict(X_test)
mae = mean_absolute_error(y_test, y_pred)
rmse = np.sqrt(mean_squared_error(y_test, y_pred))
print(f"MAE: {mae:.2f}")
print(f"RMSE: {rmse:.2f}")
Un MAE bajo indica que el modelo predice con buena precisión.
7️⃣ Visualizar demanda real vs predicha
import matplotlib.pyplot as plt
plt.figure(figsize=(10,5))
plt.plot(y_test.values, label="Real")
plt.plot(y_pred, label="Predicción", alpha=0.7)
plt.legend()
plt.title("Predicción de demanda en Amazon Seller")
plt.show()
8️⃣ Predecir ventas futuras
nueva_muestra = pd.DataFrame({
"mes": [9],
"dia_semana": [2], # miércoles
"precio": [25.99],
"reseñas": [120]
})
prediccion = modelo.predict(nueva_muestra)
print(f"Demanda estimada: {prediccion[0]:.0f} unidades")
Conclusión
Con este flujo ya tienes un primer modelo de predicción de demanda en Amazon Seller:
- Detectas tendencias y patrones.
- Ajustas precios y stock con antelación.
- Tomas decisiones basadas en datos, no en intuición.
👉 Para un proyecto más avanzado, puedes usar modelos de series temporales como Facebook Prophet, ARIMA o LSTM (deep learning), que capturan mejor estacionalidad y picos de demanda.