¿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:

  • fecha
  • producto_id
  • unidades_vendidas
  • precio
  • reseñas

Ejemplo:

fechaproducto_idunidades_vendidasprecioreseñas
2025-01-01A1231524.9995
2025-01-02A1231824.9997

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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *