Saltar al contenido
Bruno Saavedra
← Todos los casos

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í.
El motor para ERPsim
  1. 01

    Datos del juego

    Ventas, precios y stock, leídos por OData.

  2. 02

    Pronóstico

    XGBoost, por producto y región.

  3. 03

    Inventario objetivo

    5 días de cobertura más un margen.

  4. 04

    Prioridad y capacidad

    Primero las regiones sin stock, hasta el tope del almacén.

  5. 05

    ¿Paga el flete?

    Cada envío se compara con lo que cuesta mandarlo.

  6. 06

    Tabla para SAP

    Los traslados, listos para cargar.

La réplica del BSG
  1. 01

    Reportes del juego

    Los resultados de cada año.

  2. 02

    Réplica en Python

    Simula el año con las decisiones tomadas.

  3. 03

    Backtesting de 8 años

    Lo simulado contra lo real.

  4. 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.