Caso 6.4: (Mis)Management of Societal Aging

Diagrama de Causalidad (CLD)

Figura 1. Diagrama de causalidad (CLD) del modelo de envejecimiento social.

Figura 1. Diagrama de causalidad (CLD) del modelo de envejecimiento social.

En el diagrama se identifican cuatro ciclos de retroalimentación tres de tipo balance y uno de refuerzo. Los ciclos de balance corresponden a los procesos de maduración, retiro y mortalidad, ya que en cada caso el crecimiento de un grupo poblacional genera un flujo de salida que tiende a reducirlo. Es decir, cuando aumenta el número de niños, adultos o retirados, también se incrementan los procesos que los trasladan a otra etapa o los eliminan, estabilizando el sistema. Por otro lado, el ciclo de refuerzo está asociado a la natalidad, donde un mayor número de adultos incrementa los nacimientos, lo que con el tiempo amplía nuevamente la población adulta. En conjunto, estos mecanismos muestran cómo la dinámica poblacional resulta del equilibrio entre fuerzas que impulsan el crecimiento y otras que lo regulan, siendo clave para entender la presión sobre la población económicamente activa.

Diagrama de Forrester (Stock and Flow)

Figura 2. Diagrama de flujos y stocks (SFD) del modelo de envejecimiento social.

Figura 2. Diagrama de flujos y stocks (SFD) del modelo de envejecimiento social.

En el diagrama de flujos y stocks se identifican tres variables de estado: niños, adultos y retirados. Estas poblaciones cambian a través de cuatro flujos principales: nacimientos, maduración, retiro y muertes, los cuales representan las transiciones entre etapas del ciclo de vida. En este tipo de modelos, los retrasos son fundamentales, ya que determinan el tiempo que los individuos permanecen en cada estado antes de pasar al siguiente. En particular, los delays asociados a la infancia, la vida adulta y el periodo de retiro regulan los flujos de maduración, retiro y mortalidad, respectivamente. Esto implica que los cambios en la población no son inmediatos, sino que dependen de estos tiempos de permanencia, lo que introduce inercia en la dinámica del sistema y afecta la evolución del envejecimiento poblacional.

Variables de Caso 6.4

Variables de estado (stock variables)

Variables de flujo (flow variables)

Variables auxiliares endógenas (endogenous auxiliary variables)

Burden per active adult: carga que enfrenta cada adulto activo, medida como la razón entre la población inactiva y los adultos en el mercado laboral.

Modelado en R con deSolve

library(deSolve)

# Definir el modelo de envejecimiento social
# 1. Condiciones iniciales (stocks)

# Población inicial en 2010
InitialConditions <- c(
  children  = 4000000,   # población infantil (personas)
  adults    = 9000000,   # población adulta (personas)
  retirees  = 3000000    # población retirada (personas)
)


# Simulación de 50 años con paso anual
times <- seq(
  from = 0,   # tiempo inicial
  to   = 50,  # tiempo final
  by   = 1    # paso de tiempo (años)
)


life.cycle <- function(t, state, parameters) {
  with(as.list(c(state, parameters)), {

    # Variables auxiliares endógenas
    # Población adulta activa e inactiva
    adults.on.the.labor.market     <- adults * average.adults.participation.ratio
    adults.not.on.the.labor.market <- adults - adults.on.the.labor.market

    # Población inactiva total
    inactive.population <- children + adults.not.on.the.labor.market + retirees

    # Indicadores del sistema
    burden.per.active.adult <- inactive.population / adults.on.the.labor.market
    grey.pressure <- retirees / adults

    # Flujos del sistema (personas/año)
    births   <- average.birth.rate.per.adult * adults
    maturing <- children / average.childhood.period
    retiring <- adults / average.adult.period
    deaths   <- retirees / average.retiree.period

    # Ecuaciones de estado (derivadas)

    dchildren  <- births - maturing        # cambio en niños (personas/año)
    dadults    <- maturing - retiring      # cambio en adultos (personas/año)
    dretirees  <- retiring - deaths        # cambio en retirados (personas/año)

    # Salida del modelo

    list(
      c(dchildren, dadults, dretirees),
      adults.on.the.labor.market = adults.on.the.labor.market,
      adults.not.on.the.labor.market = adults.not.on.the.labor.market,
      inactive.population = inactive.population,
      burden.per.active.adult = burden.per.active.adult,
      grey.pressure = grey.pressure,
      births = births,
      maturing = maturing,
      retiring = retiring,
      deaths = deaths
    )
  })
}

#  Parámetros del modelo

parameters <- c(
  average.adults.participation.ratio = 0.5,     # proporción de adultos activos
  average.retiree.period = 20,                  # años en retiro
  average.adult.period = 40,                    # años como adulto
  average.childhood.period = 22,                # años en infancia
  average.birth.rate.per.adult = 20 / 1000      # nacimientos por adulto por año
)


intg.method <- "rk4"


out <- ode(
  y = InitialConditions,
  times = times,
  func = life.cycle,
  parms = parameters,
  method = intg.method
)

# Convertir a data frame para análisis
out <- as.data.frame(out)


# Visualización de resultados

# Evolución de los stocks poblacionales
matplot(
  out$time,
  out[, c("children", "adults", "retirees")],
  type = "l",
  lty = 1,
  lwd = 2,
  col = c("blue", "darkgreen", "red"),
  xlab = "Tiempo (años)",
  ylab = "Población",
  main = "Dinámica poblacional"
)

legend(
  "topright",
  legend = c("Children", "Adults", "Retirees"),
  col = c("blue", "darkgreen", "red"),
  lty = 1,
  lwd = 2,
  bty = "n"
)

# Gráficas Separadas

par(mfrow = c(2,2))  # 2 filas, 2 columnas

# Children 
plot(
  out$time, out$children,
  type = "l",
  lwd = 2,
  col = "blue",
  main = "children",
  xlab = "time",
  ylab = ""
)

# Adults 
plot(
  out$time, out$adults,
  type = "l",
  lwd = 2,
  col = "green",
  main = "adults",
  xlab = "time",
  ylab = ""
)

# Retirees 
plot(
  out$time, out$retirees,
  type = "l",
  lwd = 2,
  col = "red",
  main = "retirees",
  xlab = "time",
  ylab = ""
)

plot.new()

El modelo se implementa como un sistema de ecuaciones diferenciales que representa la transición de la población entre tres etapas del ciclo de vida: infancia, adultez y retiro. Los flujos están determinados por tiempos promedio de permanencia en cada estado, lo que introduce retrasos en la dinámica poblacional. Asimismo, se incorporan indicadores como la carga por adulto activo y la presión de envejecimiento, los cuales permiten analizar el impacto del cambio demográfico sobre la población económicamente activa. La simulación muestra cómo, a lo largo de 50 años, la población infantil disminuye inicialmente debido a la maduración, mientras que la población adulta y retirada aumenta, reflejando el proceso de envejecimiento. Los indicadores clave evidencian el creciente desafío que representa el envejecimiento para la sociedad, con una mayor carga sobre los adultos activos y una presión creciente por el aumento de retirados en relación con los adultos. Este modelo proporciona una herramienta valiosa para entender las implicaciones del envejecimiento social y evaluar posibles políticas para mitigar sus efectos.

# Indicadores clave del envejecimiento

# Carga por adulto activo
plot(
  out$time, out$burden.per.active.adult,
  type = "l", lwd = 2,
  xlab = "Tiempo (años)",
  ylab = "Carga por adulto activo",
  main = "Burden per active adult"
)

# Presión de envejecimiento
plot(
  out$time, out$grey.pressure,
  type = "l", lwd = 2,
  xlab = "Tiempo (años)",
  ylab = "Retirados / Adultos",
  main = "Grey pressure"
)

¿cómo influyen los delays en un caso como este?, ¿para esta problemática el efecto de los delays es positivo, negativo o neutro?, ¿piensas en alguna política que pueda suavizar o potenciar el efecto de los delays?

En este modelo, los delays representan los tiempos promedio que las personas permanecen en cada etapa (infancia, adultez y retiro), por lo que introducen inercia en el sistema, los cambios en nacimientos o participación laboral no se reflejan de inmediato en la estructura poblacional. Esto explica por qué, aun cuando la población infantil y adulta disminuyen, el número de retirados sigue creciendo durante varios años antes de estabilizarse. En términos del problema, los delays tienden a tener un efecto negativo, ya que retrasan los ajustes del sistema y amplifican la presión sobre la población activa, dificultando respuestas rápidas ante el envejecimiento demográfico.

Una política para mitigar este efecto es aumentar la edad de retiro o prolongar la vida laboral, lo cual reduce la velocidad a la que los adultos pasan al grupo de retirados y suaviza la carga sobre los trabajadores activos. Otra opción complementaria es fomentar la participación laboral (por ejemplo, de mujeres o adultos mayores), lo que incrementa la base contributiva. Evidencia empírica sugiere que estas medidas ayudan a contener la presión fiscal del envejecimiento poblacional (OECD, 2019; World Bank, 2020). Sin embargo, es importante considerar que estas políticas deben ser acompañadas de mejoras en la salud y calidad de vida de los adultos mayores para que sean efectivas y sostenibles a largo plazo.

Referencias (APA): OECD. (2019). Working Better with Age. OECD Publishing. World Bank. (2020). Population Aging: Is Latin America Ready? World Bank Publications.