🧪 Guía de Aula Invertida · Sandbox interactivo
— vistas

Dinámica de Sistemas: de los diagramas a la simulación

Stock, flujo, variable auxiliar, bucle de refuerzo, bucle de balance: el vocabulario completo de la Dinámica de Sistemas de Jay Forrester, con números reales que vas a manipular vos mismo, sección por sección, hasta generar el efecto látigo con tus propias manos.

RC
Ing. Roy Carrasco
Facultad de Ingeniería de Sistemas · UAB

Bienvenido

Un diagrama de bucle causal responde qué influye en qué, y en qué dirección. No responde cuánto, ni qué tan rápido, ni qué pasa exactamente cuando dos efectos compiten en el tiempo. Para eso hace falta pasar de un diagrama a un modelo con números reales — y, una vez que el modelo existe, simularlo: correrlo hacia adelante en el tiempo y ver qué comportamiento produce. Esta es la disciplina que se conoce como Dinámica de Sistemas.

🏭 Origen: Jay Forrester y el MIT

La Dinámica de Sistemas nació a fines de los años 1950, cuando el ingeniero Jay Forrester (MIT) ayudaba a General Electric a entender por qué sus fábricas tenían ciclos de contratación y despido mucho más violentos de lo que explicaba la demanda real de sus productos. Forrester formalizó la idea de representar la empresa como cantidades que se acumulan (stocks) y tasas que las hacen cambiar (flujos), y de simular esa estructura en el tiempo en vez de solo describirla — el mismo método que vas a usar en esta guía.

Objetivo del módulo

Al finalizar esta guía vas a poder distinguir los tres tipos de variable de un modelo (stock, flujo y variable auxiliar), clasificar un bucle como de refuerzo o de balance contando sus enlaces negativos, explicar por qué un retraso produce oscilación aunque la política de control sea razonable, y reproducir con tus propios parámetros el efecto látigo (bullwhip effect).

🔢 De cualitativo a cuantitativo

Stock, flujo y variable auxiliar, con unidades reales y una ecuación que se puede correr en el tiempo.

🎛️ Manipulás, no leés

Cada sección tiene un sandbox en vivo: movés un slider, el gráfico responde al instante.

🐍 El efecto látigo, de nuevo

Lo vas a ver primero como ejemplo, y después lo construís vos, ajustando retraso y agresividad hasta que aparezca.

Stock y flujo, con números reales

Un stock es una cantidad acumulada, medible en un instante dado (el agua en un tanque, el saldo de una cuenta, el inventario de un almacén). Un flujo es la tasa a la que ese stock cambia por unidad de tiempo — cuánto entra o cuánto sale. Un stock solo puede cambiar a través de sus flujos, nunca directamente, y la fórmula que lo resume es: Stock(hoy) = Stock(ayer) + entrada − salida. El caso de esta guía es el almacén central de Andina Distribuciones: el stock es el inventario disponible (en cajas), la entrada es la reposición que llega de fábrica, y la salida es el despacho a los clientes. Todavía no hay ningún control automático — vos fijás ambas tasas directamente y mirás qué le pasa al inventario.

🎛️ Sandbox — Almacén de Andina Distribuciones (30 días, sin control automático)
Reposición INVENTARIO (stock) Despacho
—
stock al día 30
—
qué le está pasando al inventario
Lo único que importa es la diferencia

Movés ambos sliders juntos hacia arriba o hacia abajo, en la misma proporción, y el comportamiento del inventario no cambia. Lo que determina si el stock sube, baja o se mantiene no es el valor de cada tasa por separado — es la diferencia entre entrada y salida.

Selección múltiple

Ajustá el sandbox: poné reposición en 150 y despacho en 300, y dejalo correr los 30 días. ¿Qué le pasa al inventario y por qué?

Completar

Con la fórmula Stock(hoy) = Stock(ayer) + entrada − salida: si el stock de ayer era 400, la reposición de hoy es 180 y el despacho de hoy es 220, el stock de hoy es .

Bucles de refuerzo y de balance

Un flujo no siempre lo fijás vos a mano: muchas veces depende del propio stock, y ahí se cierra un bucle. Hay una regla simple para saber qué tipo de bucle es: contá los enlaces negativos de la cadena. Número par (incluido cero) → bucle de refuerzo (R), amplifica la tendencia. Número impar → bucle de balance (B), corrige hacia un objetivo o un equilibrio.

Bucle de refuerzo (R): usuarios que traen usuarios
Usuarios activos  --(+)-->  Referidos por semana
      ^                              |
      |                             (+)
      |                              v
      Usuarios activos  <--(+)--  Referidos por semana

0 enlaces negativos (par) → refuerzo: más usuarios generan más referidos, que generan todavía más usuarios — nada dentro del bucle lo frena por sí solo.

Bucle de balance (B): usuarios que se dan de baja
Usuarios activos  --(+)-->  Bajas por semana
      ^                              |
      |                             (−)
      |                              v
      Usuarios activos  <--(−)--  Bajas por semana

1 enlace negativo (impar) → balance: más usuarios generan más bajas en términos absolutos, y esas bajas tiran el stock hacia abajo — un bucle que se autolimita, no que se autoamplifica.

Los dos bucles conviven en el mismo stock

Una app real tiene ambos bucles activos al mismo tiempo, compitiendo: el de referidos empuja los usuarios activos hacia arriba, el de bajas los empuja hacia abajo. Cuál "gana" depende de qué tasa sea más fuerte — probalo en el sandbox.

🎛️ Sandbox — Usuarios activos de una app (20 semanas)
Referidos USUARIOS (stock) Bajas ∝ usuarios (R) ∝ usuarios (B)
—
usuarios en la semana 20
—
bucle dominante
Razonamiento

En el bucle "Usuarios activos --(+)--> Referidos por semana --(+)--> Usuarios activos", ¿cuántos enlaces negativos hay y qué tipo de bucle es?

Razonamiento

Configurá el sandbox con referidos en 3% y bajas en 9%, y dejalo correr las 20 semanas. ¿Qué les pasa a los usuarios activos y por qué?

Variables auxiliares

Stock y flujo no alcanzan para modelar todo. Muchas veces hace falta una cantidad intermedia que no acumula nada (no es un stock) y que no es en sí misma una tasa que entra o sale de un stock (no es un flujo) — solo existe para ayudar a calcular un flujo a partir de otras variables. Esa es la variable auxiliar, el tercer tipo de variable de un diagrama de stock y flujo. En herramientas como Insight Maker o Vensim se dibuja como un círculo, para distinguirla del rectángulo del stock y de la tubería con válvula del flujo.

Un ejemplo que ya vas a usar

En la próxima sección, el almacén decide cuánto pedir con la fórmula pedido = demanda + agresividad × (objetivo − stock). La cantidad (objetivo − stock) — llamémosla brecha — no es un stock (no acumula nada de una semana a otra) ni es el flujo en sí (no es lo que entra o sale del inventario): es una variable auxiliar que se recalcula todo el tiempo a partir del stock, y que el flujo "pedido" usa como insumo.

Clasificá cada variable, de los dos modelos que ya viste, según su tipo.

Clasificación

¿Es un stock, un flujo o una variable auxiliar?

Inventario disponible en el almacén.
Despacho diario (cajas que salen por día).
Brecha entre el objetivo y el stock actual (objetivo − stock).
Usuarios activos de la app en este momento.
Nuevos usuarios que llegan por referidos cada semana.
Porcentaje de ocupación del servidor (usuarios activos ÷ capacidad máxima).

Selección múltiple

¿Cuál de las siguientes describe mejor una variable auxiliar?

Retraso: el mismo control, ahora con demora

Desde acá el almacén ya no fija la reposición a mano: pide automáticamente más cuando el stock está por debajo del objetivo, y menos cuando está por arriba — un bucle de balance real (1 enlace negativo: a más brecha, más pedido; a más pedido, menos brecha), con una fórmula concreta: pedido = demanda + agresividad × brecha, donde brecha = objetivo − stock es la variable auxiliar que acabás de ver. Lo único que vas a controlar en esta sección es cuántos días tarda el proveedor en entregar ese pedido. La demanda queda fija en 200 cajas/día para que puedas enfocarte solo en el efecto del retraso.

🎛️ Sandbox — mismo almacén, ahora con reposición automática (60 días)
Reposición (retraso: 2d) INVENTARIO (stock) Despacho pedido según stock actual
—
comportamiento del inventario
—
variación en los últimos 20 días
El almacén no ve el efecto de lo que ya pidió

Con retraso alto, el almacén sigue viendo el stock bajo varios días después de haber pedido más — porque ese pedido todavía no llegó. Como sigue viendo el problema, sigue pidiendo de más. Cuando todos esos pedidos acumulados llegan juntos, el stock se pasa del objetivo — y el ciclo se repite para el otro lado. Es exactamente la misma lógica que la ducha de tubería larga que ya viste, con números reales corriendo delante tuyo.

Razonamiento

Subí el retraso del sandbox de 2 a 10 días y compará. ¿Qué cambió, exactamente?

Verdadero o falso

Un sistema con una política de control razonable (que reacciona en la dirección correcta) puede oscilar solo por tener un retraso alto entre la acción y su efecto, sin que la política en sí esté mal diseñada.

Bucle cerrado: reproducí el efecto látigo

Ahora tenés control total sobre la fórmula que antes estaba fija: además del retraso, podés ajustar la agresividad (qué tan fuerte reacciona el pedido a la diferencia entre stock y objetivo) y el objetivo de inventario. Con la combinación correcta, la oscilación deja de amortiguarse y empieza a crecer — el mismo efecto látigo que viste como ejemplo de cadena de suministro en la guía anterior, ahora generado por tus propios parámetros.

🎛️ Sandbox — bucle completo, todos los parámetros a tu control (90 días)
Reposición INVENTARIO (stock) Despacho pedido = demanda + agres.×(objetivo−stock)
—
comportamiento del inventario
—
variación en los últimos 25 días
Reto: hacé aparecer el efecto látigo

Subí el retraso y la agresividad al mismo tiempo hasta que el diagnóstico diga "creciente" — vas a ver que la oscilación deja de amortiguarse y cada vuelta es más grande que la anterior. Bajá cualquiera de los dos y va a volver a amortiguarse. En una cadena real, cada eslabón (minorista → mayorista → fábrica) agrega su propio retraso y su propia agresividad sobre una señal que ya viene distorsionada del eslabón anterior — por eso la oscilación se hace más grande mientras más lejos está el eslabón del consumidor final.

Clasificación

Con base en lo que probaste en el sandbox, clasificá cada combinación según el comportamiento más probable del inventario.

Retraso bajo (1 día) + agresividad baja (0.1).
Retraso alto (10 días) + agresividad alta (1.2).
Retraso alto (10 días) + agresividad baja (0.1).

Selección múltiple

En la guía anterior viste el efecto látigo descrito como "una oscilación cada vez más grande mientras más lejos está el eslabón del consumidor final". ¿Qué combinación de parámetros del sandbox produce justamente ese resultado?

Actividades de repaso

Un repaso integrador de todo el módulo. Cada actividad se corrige al instante; tu progreso se guarda automáticamente en este navegador.

0 / 0
actividades correctas en toda la guía
Clasificación

¿Es un stock (nivel acumulado) o un flujo (tasa de cambio)?

Temperatura actual de un cuarto frío.
Cajas despachadas por día en el almacén.

Emparejamiento

Une cada término con su definición dentro del modelo del almacén.

Selección múltiple

Sin cambiar la política de reposición ni la demanda, ¿qué solo parámetro alcanza para convertir una corrección suave en oscilación?

Verdadero o falso

Un bucle de balance con retraso alto y agresividad alta puede volverse inestable (oscilación creciente) aunque cada una de sus reglas, vista por separado, parezca razonable.

Selección múltiple

Un bucle tiene 3 enlaces negativos, y la fórmula de su flujo usa una cantidad que se recalcula a partir del stock pero que no acumula nada por sí misma. ¿Qué son, respectivamente, esas dos cosas?

Cheat Sheet

ConceptoIdea clave
StockCantidad acumulada, medible en un instante. Solo cambia a través de sus flujos.
FlujoTasa de entrada o salida de un stock, por unidad de tiempo.
Variable auxiliarCantidad calculada a partir de otras variables (ej. la brecha objetivo−stock) que ayuda a computar una tasa, sin acumular nada.
Bucle de refuerzo (R)Número par de enlaces negativos (incl. 0). Amplifica la tendencia, sin freno propio.
Bucle de balance (B)Número impar de enlaces negativos. Corrige hacia un objetivo o hacia un equilibrio.
Ecuación del stockStock(hoy) = Stock(ayer) + entrada − salida. Solo cambia a través de sus flujos.
Política de reposiciónpedido = demanda + agresividad × brecha, con brecha = objetivo − stock.
RetrasoDías entre colocar el pedido y que llegue como reposición real. Por sí solo puede producir oscilación.
AgresividadQué tan fuerte corrige el pedido la diferencia entre stock y objetivo. Alta + retraso alto = inestabilidad.
Oscilación amortiguadaSobrepasa el objetivo, pero cada vuelta es más chica que la anterior — termina estabilizándose.
Efecto látigoOscilación que crece en cada vuelta en vez de amortiguarse. Se amplifica en cada eslabón de una cadena real.

¿Sabías que...?

🏭 Nació observando fábricas reales

Jay Forrester, ingeniero del MIT, fundó la Dinámica de Sistemas en los años 50 después de estudiar por qué las fábricas de General Electric tenían ciclos de contratación y despido que oscilaban mucho más de lo que explicaba la demanda real de sus productos.

🎲 Un juego que hace sentir el efecto látigo

El MIT diseñó "The Beer Distribution Game": equipos que gestionan distintos eslabones de una cadena de suministro de cerveza, sin poder comunicarse entre sí. Casi siempre termina en oscilaciones enormes, aunque cada jugador tome decisiones razonables — la inestabilidad es del sistema, no de las personas.

🍼 El caso que le dio nombre

Procter & Gamble notó que los pedidos de pañales que recibía de sus distribuidores fluctuaban muchísimo más que las compras reales de los consumidores finales, que son casi constantes. Ese caso fue el que popularizó el término "efecto látigo" (bullwhip effect) en cadenas de suministro.