Pipeline completo de Integrated Business Planning: demand planning con XGBoost v3 + Croston, supply review, product review y reconciliación financiera — todo en Power BI con 7 páginas interactivas.
Así comenzaba cada ciclo de S&OP. El equipo comercial traía su forecast. Supply chain traía el suyo. Finanzas llegaba con el número del presupuesto. Nadie mentía. Todos medían cosas distintas.
El resultado era predecible: decisiones tomadas por consenso político, no por evidencia. Un gap de $123M MXN vs Budget que nadie sabía explicar. 65 SKUs críticos en riesgo de quiebre con $65M MXN en venta perdida proyectada. Y un proceso de S&OP que existía en el calendario pero no gobernaba las decisiones reales del negocio.
El diagnóstico fue claro desde el primer ciclo: el problema no era la gente ni el sistema. Era que no había un número único, confiable y compartido desde el cual tomar decisiones integradas.
Construir un proceso IBP end-to-end que conectara la señal del mercado con la decisión del negocio — desde el Demand Review hasta el Executive S&OP — con un dashboard en Power BI que hiciera visible ese proceso para cada área y para la dirección. No implementar una herramienta. No generar más reportes. Construir el proceso que convierte el dato en acción con responsable y fecha.
El valor de un proceso IBP no está en el modelo de forecast. Está en lo que el proceso hace con ese modelo en cada reunión del ciclo.
Usa el FACC y el BIAS por canal para identificar dónde el proceso tiene sesgo sistemático. Un error aleatorio es manejable. Un sesgo consistente hacia arriba o abajo se acumula en el inventario. El objetivo no es aprobar el número — es cuestionarlo.
No esperes el quiebre para actuar. El semáforo de inventario por SKU está diseñado para que la acción llegue antes de que el problema sea visible en el fill rate. Cuando el semáforo llega en rojo al Supply Review, la ventana de acción ya se cerró.
Conecta el pipeline comercial con el plan de abasto antes de que las oportunidades se cierren. $39.8M MXN en oportunidades activas sin abasto asegurado no es un problema de ventas — es un problema de integración entre áreas.
Convierte el volumen pronosticado en impacto sobre el P&L antes del Executive S&OP. Cuando el CFO y el director de supply chain hablan sobre el mismo número en pesos, la calidad de la decisión cambia completamente.
Reserva este foro para los trade-offs que ningún área puede resolver sola: cuándo sacrificar margen por nivel de servicio, cómo priorizar cuando la capacidad no alcanza, cuándo el plan operativo le dice al financiero que hay que ajustar. Si el Executive S&OP aprueba sin debate real, no es un foro ejecutivo — es una reunión de validación.
Executive overview, reconciliación financiera y supply review — las páginas más relevantes para la toma de decisiones ejecutivas.
Brechas identificadas en el proceso de planeación — cada hallazgo tiene un impacto directo en la toma de decisiones del negocio.
Cada página cubre un proceso del ciclo IBP — desde la revisión de demanda hasta las decisiones ejecutivas con impacto financiero.
KPIs consolidados, semáforo de riesgo supply, tendencia de demanda y reconciliación financiera en una sola vista ejecutiva.
FACC por representante con color condicional verde/ámbar/rojo, error absoluto por SKU y BIAS por canal.
Semáforo de inventario por SKU, scatter stock proyectado vs días cobertura y top backorders por producto.
Pipeline CRM con scoring de prioridad, funnel por estado y decisiones GO / HOLD / KILL / REACTIVAR automáticas.
Tabla P1/P2 con responsable sugerido, fecha objetivo, gap FC ML vs SOP y acción demand + supply integrada.
Impacto en MXN por vector con narrativa ejecutiva y comparativo de 6 métodos de forecast con valor económico del modelo.
Benchmark sobre el mismo período histórico — validación real con backtesting, no simulación. Meta IBP: 75%.
La reconciliación financiera cuantifica cada vector de riesgo y oportunidad con impacto directo en el P&L del negocio.
Desde la extracción de datos hasta el dashboard ejecutivo — sin dependencias de software propietario adicional.
Carga, limpieza y transformación desde Excel/SAP. Validaciones automáticas y pipeline reproducible con parquet.
XGBoost para SKUs de demanda regular. Croston para categorías intermitentes. Backtesting real sobre 2021–2022.
Clasificación automática: Quiebre / Bajo SS / Riesgo / Normal / Sobreinventario. Stock proyectado con arribbos y BO.
Score de prioridad ponderado: valor esperado 40%, margen 25%, probabilidad 20%, volumen 15%. Decisión GO/HOLD/KILL automática.
Cuantificación de 6 vectores de impacto en MXN con narrativa ejecutiva automática para el foro IBP.
Export directo desde Python a CSV/Excel. Medidas DAX, color condicional, semáforos y narrativa integrada.
Cada capacidad está implementada y validada con datos reales — no son ejercicios teóricos.
Benchmark de 6 métodos (estadístico, comercial, S&OP, Budget, Naive, ML). XGBoost v3 alcanza FACC 82.5% — +10.5 pp sobre el proceso S&OP del negocio.
Clasificación ABC por valor de venta (A=80%, B=95%, C=resto) combinada con semáforo de cobertura: Quiebre / Bajo SS / Riesgo / Normal / Sobreinventario.
Cálculo de SS por SKU considerando lead time, tipo de fuente (local vs importado) y demanda futura proyectada. Stock proyectado = stock + producción + arribos − demanda − BO.
Pipeline end-to-end con XGBoost v3 (demanda regular) y Croston (demanda intermitente). Feature engineering con lags, medias móviles e índice estacional por SKU.
Segmentación de SKUs por valor (ABC) cruzada con variabilidad de demanda. Priorización automática P1/P2/P3 para el foro de decisiones IBP con responsable sugerido.
Power BI con scatter Stock Proyectado vs Días Cobertura, donut de semáforo por SKU, backorders por producto y tabla ejecutiva con acción sugerida por SKU.
Identificación automática de SKUs en quiebre, bajo SS y riesgo de abasto. Cuantificación de $65M MXN en venta perdida por quiebre + $1.3M en backorders activos. Acción sugerida por SKU con lead time y tipo de fuente (PT Local / PT Importado).
Cuatro fases progresivas — de la visibilidad básica a la planeación habilitada por IA. Cada fase construye sobre la anterior.
"Una evaluación de Analytics de Supply Chain diseñada para identificar brechas en planeación, pronóstico, inventario y toma de decisiones — y crear una hoja de ruta hacia capacidades de planeación basadas en datos e impulsadas por IA."
El modelo usa 15 features de series de tiempo construidos desde el histórico. Entrenado en 2021, validado en 2022 con backtesting real.
# ── FEATURE ENGINEERING — series de tiempo por SKU ─────────────────── def build_features_v3(df): df = df.sort_values(["SKU", "Anio", "Mes"]).copy() # Lags de corto plazo — lag_1m = 25.8% importancia (feature más relevante) df["lag_1m"] = df.groupby("SKU")["Venta_Real"].shift(1) df["lag_2m"] = df.groupby("SKU")["Venta_Real"].shift(2) df["lag_3m"] = df.groupby("SKU")["Venta_Real"].shift(3) # Medias móviles — capturan tendencia y estacionalidad for w in [3, 6, 12]: df[f"ma_{w}"] = (df.groupby("SKU")["Venta_Real"] .transform(lambda x: x.shift(1).rolling(w, min_periods=1).mean())) # Índice estacional y features cíclicos de mes total_anual = df.groupby(["SKU", "Anio"])["Venta_Real"].transform("sum") df["indice_estacional"] = df["Venta_Real"] / (total_anual / 12).clip(lower=0.01) df["mes_sin"] = np.sin(2 * np.pi * df["Mes"] / 12) df["mes_cos"] = np.cos(2 * np.pi * df["Mes"] / 12) df["sku_enc"] = df["SKU"].astype("category").cat.codes return df # ── ENTRENAMIENTO XGBOOST v3 ────────────────────────────────────────── model_v3 = XGBRegressor( n_estimators=400, learning_rate=0.04, max_depth=4, subsample=0.8, colsample_bytree=0.75, random_state=42 ) model_v3.fit(X_train, y_train, eval_set=[(X_test, y_test)], verbose=False) # ── MÉTRICAS BACKTESTING 2022 ───────────────────────────────────────── preds = np.maximum(model_v3.predict(X_test), 0) wape = np.abs(preds - y_test).sum() / y_test.sum() * 100 facc = 100 - wape # → FACC: 82.5% | WAPE: 17.5% | BIAS: +1.6%
Este caso representa mi forma de trabajar — análisis riguroso, código real y resultados medibles. Si buscas ese perfil para tu equipo o proyecto, conectemos.