U. de Lima · electivo de 9.º nivel, llevado en 7.º ciclo · proyecto propio
Juego de Negocios: dos simuladores, dos motores propios
Por mi cuenta construí un motor para cada simulador del curso: uno sobre SAP (ERPsim) y una réplica del Business Strategy Game.
Útil para: Planeamiento, supply chain y analítica
- Proyecto propio
- Python
- XGBoost
- SAP S/4HANA (ERPsim)
- Google Colab
- Business Strategy Game
- error en ingresos netos de la réplica del BSG, en 8 años
- 7 %
- error en utilidad neta, al corregir el modelo de costos
- 31.8 % → 17.0 %
El problema
- En el electivo Juego de Negocios se dirige una empresa en dos simuladores: ERPsim, que corre sobre SAP, y el Business Strategy Game (BSG). Cada ronda obliga a decidir con información incompleta, y decidir a ojo sale caro.
- En ERPsim, una empresa de muesli compra, produce y distribuye a 3 regiones. Hay que decidir cuánto mandar a cada una sin quedarse sin stock ni llenar el almacén, y un envío pequeño puede costar más en flete de lo que deja.
- En el BSG, las decisiones de precio, producción y capacidad se envían sin saber cómo van a mover los resultados del año.
Lo que hice
- El curso no pedía ninguno de los dos motores: los construí por mi cuenta, en Python.
- Para ERPsim, en Google Colab: el motor lee los datos del juego por OData y un modelo XGBoost pronostica la demanda diaria por producto y región, según el precio y el marketing.
- Con ese pronóstico fija un inventario objetivo de 5 días de cobertura más un margen por el error del pronóstico, atiende primero a las regiones que se quedaron sin stock y respeta la capacidad de cada almacén.
- Calcula el costo real de cada producto desde su receta y revisa si cada envío paga su flete. El resultado sale como la tabla que se carga en la transacción de traslados de SAP.
- Para el BSG, una réplica del simulador: lee los reportes del juego, simula cada año y evalúa decisiones de precio, producción y capacidad antes de enviarlas.
- La validé con backtesting de 8 años contra los resultados reales del juego. Al revisar el modelo de costos encontré defectos que se compensaban entre sí, y los corregí.
- 01
Datos del juego
Ventas, precios y stock, leídos por OData.
- 02
Pronóstico
XGBoost, por producto y región.
- 03
Inventario objetivo
5 días de cobertura más un margen.
- 04
Prioridad y capacidad
Primero las regiones sin stock, hasta el tope del almacén.
- 05
¿Paga el flete?
Cada envío se compara con lo que cuesta mandarlo.
- 06
Tabla para SAP
Los traslados, listos para cargar.
- 01
Reportes del juego
Los resultados de cada año.
- 02
Réplica en Python
Simula el año con las decisiones tomadas.
- 03
Backtesting de 8 años
Lo simulado contra lo real.
- 04
Corregir defectos
Los que se compensaban entre sí.
Resultado
- La réplica del BSG reproduce 8 años con 7 % de error en ingresos netos; el error en utilidad neta bajó de 31.8 % a 17.0 % al corregir el modelo de costos.
- Al corregir defectos que se compensaban, el error subió antes de bajar: preferí un modelo honesto a una cifra bonita.
- El motor de ERPsim entrega la tabla de traslados lista para cargar en SAP.