Balance de masa: el lenguaje de los procesos industriales
De la conservación física al cierre, la incertidumbre y la trazabilidad
El balance de masa transforma un proceso físico en una estructura contable verificable. Esta revisión mayor desarrolla el principio desde la selección de frontera hasta el diagnóstico de mediciones: distingue masa total y componentes, deriva las formas estacionaria y transitoria, explica acumulación, base de cálculo y grados de libertad, y demuestra por qué un cierre distinto de cero no equivale automáticamente a una pérdida real. Tres casos pedagógicos reproducibles conectan la teoría con la práctica: un separador de dos productos, un tanque perfectamente mezclado con acumulación de componente y una reconciliación ponderada de caudales con incertidumbres diferentes. Las figuras, datasets y resultados se generan mediante código versionado y no representan datos de planta. El artículo concluye mostrando cómo el balance físico se convierte en la columna vertebral de la trazabilidad digital: cada transformación verificable exige identidad de corrientes, unidades, tiempo, composición, procedencia y reglas explícitas de conservación.
balance de masa, conservación de masa, volumen de control, estado transitorio, incertidumbre de medición, reconciliación de datos, trazabilidad digital
Edición publicada v2.0 · G8 aprobado
English · PDF · DOCX · ePub · Fuente científica
Por qué importa
Antes de optimizar, automatizar o digitalizar un proceso, hay que responder una pregunta elemental: ¿dónde está la materia? Una planta puede tener sensores modernos, historizadores, algoritmos de control y trazabilidad por lote; si sus corrientes no pueden relacionarse mediante conservación, la representación digital no describe de forma coherente el proceso físico.
El balance de masa es el lenguaje que convierte equipos, inventarios, corrientes y transformaciones en una contabilidad técnica. Igual que una contabilidad financiera debe explicar de dónde vino y a dónde fue el dinero, una contabilidad de proceso debe explicar de dónde vino, dónde permaneció y a dónde fue la materia. Esta idea es independiente de la escala: aplica a una taza, un fermentador, un tanque, un secador, una refinería o una red completa de operaciones (Felder et al. 2020; Reklaitis 1983).
La potencia del método no reside únicamente en resolver una incógnita. Un balance bien formulado permite:
- verificar si un conjunto de mediciones puede coexistir físicamente;
- calcular variables no medidas cuando el sistema tiene suficientes relaciones independientes;
- distinguir acumulación real de error instrumental o desfase temporal;
- localizar fronteras donde podría existir una corriente omitida;
- evaluar rendimiento, recuperación y pérdidas con una base definida;
- reconciliar mediciones redundantes sin tratarlas como verdades exactas;
- estructurar una trazabilidad digital que conserve cantidades, identidades y transformaciones.
Esta versión 2.0 amplía la publicación histórica v1.0. La v1.0 permanece archivada tal como fue publicada; la presente edición es monolingüe, usa US Letter y profundiza en acumulación, sensibilidad, incertidumbre y reconciliación sin convertir ejemplos pedagógicos en evidencia experimental.
La ley detrás de la contabilidad
Sistema, volumen de control y frontera
Un sistema es la porción de realidad elegida para el análisis. Puede seguir una cantidad fija de materia —sistema cerrado— o ocupar una región del espacio atravesada por corrientes —volumen de control—. La industria trabaja con frecuencia con volúmenes de control porque bombas, mezcladores, separadores, reactores y líneas de envasado reciben y descargan materia continuamente. El enfoque de volumen de control conecta el inventario interno con los flujos que cruzan su frontera (Massachusetts Institute of Technology, s. f.).
En la Figura 1, \(M(t)\) es la masa dentro de la frontera en el tiempo \(t\). Cada flujo másico de entrada o salida, \(\dot m\), tiene unidades de masa por tiempo. La acumulación \(dM/dt\) no es una corriente adicional: es la velocidad de cambio del inventario que ya está dentro del volumen de control.
La frontera no es un dibujo decorativo. Si rodea únicamente un equipo, el balance diagnostica ese equipo. Si rodea una línea completa, las corrientes internas desaparecen del balance global porque cruzan fronteras internas, no la frontera externa. Una fuga puede ser invisible para una frontera mal elegida y evidente para otra. Por eso el primer acto de un balance no es escribir una ecuación, sino declarar qué está dentro, qué está fuera y durante qué intervalo se observa.
Forma general
Para una cantidad extensiva \(B\) puede escribirse la estructura:
\[ \text{Entrada} - \text{Salida} + \text{Generación} - \text{Consumo} = \text{Acumulación}. \tag{1}\]
Para masa total en procesos químicos ordinarios, no hay generación ni consumo de masa. La forma dinámica es:
\[ \frac{dM}{dt}= \sum_{j\in\mathrm{in}}\dot m_j- \sum_{k\in\mathrm{out}}\dot m_k. \tag{2}\]
La Ecuación 2 es dimensionalmente coherente: todos sus términos tienen unidades de masa por tiempo. Si se integra entre \(t_0\) y \(t_1\):
\[ M(t_1)-M(t_0)= \int_{t_0}^{t_1} \left(\sum\dot m_{\mathrm{in}}-\sum\dot m_{\mathrm{out}}\right)dt. \tag{3}\]
La forma integral es especialmente importante cuando las corrientes varían. Comparar el inventario inicial y final con totales acumulados durante el mismo intervalo evita tratar promedios incompatibles como si fueran simultáneos.
Masa total, componentes y reacción
Un balance total responde cuánta masa existe. Un balance de componente responde cuánta masa de una sustancia, fase o categoría definida existe. Si \(w_i\) es la fracción másica del componente \(i\) y \(M_i=Mw_i\), entonces:
\[ \frac{d(Mw_i)}{dt}= \sum_{j\in\mathrm{in}}\dot m_j w_{i,j}- \sum_{k\in\mathrm{out}}\dot m_k w_{i,k}+ \dot m_{i,\mathrm{gen}}- \dot m_{i,\mathrm{cons}}. \tag{4}\]
En un proceso no reactivo, los términos de generación y consumo del componente son cero. En un reactor, una especie puede consumirse y otra generarse, aunque la masa total siga conservándose. Confundir ambos niveles conduce a errores comunes: afirmar que una especie “desapareció” sin considerar reacción, o introducir generación en el balance total como si una reacción creara masa.
Las fracciones másicas deben satisfacer:
\[ \sum_i w_i=1, \qquad 0\le w_i\le 1. \tag{5}\]
Esta restricción es una ecuación de consistencia. Una composición cuyos componentes suman 0.97 o 1.04 no debe normalizarse de forma automática sin investigar redondeo, base húmeda/seca, componentes omitidos o métodos analíticos incompatibles.
| Símbolo | Significado | Unidad típica |
|---|---|---|
| \(M\) | inventario total dentro de la frontera | kg |
| \(M_i\) | inventario del componente \(i\) | kg |
| \(\dot m\) | flujo másico | kg/h |
| \(w_i\) | fracción másica del componente \(i\) | kg/kg |
| \(t\) | tiempo | h |
| \(\tau\) | tiempo espacial o constante característica | h |
Estado estacionario no significa inmovilidad
Un proceso está en estado estacionario cuando las variables dentro de la frontera no cambian con el tiempo a la escala de observación. Puede haber grandes flujos de entrada y salida; lo que desaparece es la acumulación neta:
\[ \frac{dM}{dt}=0 \quad\Longrightarrow\quad \sum\dot m_{\mathrm{in}}= \sum\dot m_{\mathrm{out}}. \tag{6}\]
“Estacionario” no significa que cada medición sea idéntica segundo a segundo. Las señales reales contienen ruido, pulsaciones y variación operacional. La declaración requiere una ventana temporal: un tanque puede parecer estacionario durante diez minutos y mostrar acumulación durante un turno completo. El intervalo debe ser suficientemente largo para representar el proceso y suficientemente corto para no mezclar regímenes distintos.
También es posible que el balance total esté en estado estacionario mientras un componente sea transitorio. Si entran y salen 100 kg/h de una mezcla, el inventario total puede permanecer constante; si la composición de entrada cambia, el componente se acumula hasta que la salida se adapta. Este punto se demostrará con el tanque transitorio.
Frontera, base de cálculo y ventana temporal
La base de cálculo fija la cantidad de referencia: 100 kg de alimentación, 1 h de operación, un lote, un mol de reactivo o un día de producción. No cambia la física, pero hace comparables las cifras y evita mezclar cantidades totales con tasas.
Una base útil debe declarar al menos:
- la frontera física;
- el intervalo o régimen temporal;
- la unidad de masa o cantidad de sustancia;
- la base de composición —húmeda, seca, libre de cierto componente—;
- la convención de signos;
- el tratamiento de inventarios inicial y final;
- la precisión justificada por las mediciones.
Si una balanza reporta kilogramos por lote y un caudalímetro reporta kilogramos por hora, no pueden sumarse hasta integrar el caudal o dividir la masa por un tiempo compatible. Si la alimentación está en base húmeda y el producto en base seca, la comparación exige transformar ambas a una base común.
Grados de libertad: ¿el problema puede resolverse?
Los grados de libertad (GDL) miden la diferencia entre incógnitas y ecuaciones independientes:
\[ N_{\mathrm{GDL}}=N_{\mathrm{incógnitas}}-N_{\mathrm{ecuaciones\ independientes}}. \tag{7}\]
- \(N_{\mathrm{GDL}}=0\): el sistema está exactamente especificado y puede tener solución única.
- \(N_{\mathrm{GDL}}>0\): falta información; hay infinitas soluciones compatibles.
- \(N_{\mathrm{GDL}}<0\): existe redundancia. Esto puede ser valioso para validación y reconciliación, pero mediciones imperfectas harán que las ecuaciones no coincidan exactamente.
Contar ecuaciones no basta. Dos balances pueden ser algebraicamente dependientes. En un sistema binario, el balance total y los balances de ambos componentes no constituyen siempre tres ecuaciones independientes, porque la suma de los dos balances de componente reproduce el balance total.
| Situación | Incógnitas | Relaciones independientes | GDL | Interpretación |
|---|---|---|---|---|
| Separador con composiciones conocidas | \(P,L\) | balance total + sólidos | 0 | resoluble |
| Separador sin composición del producto | \(P,L,x_P\) | dos balances | 1 | falta una especificación |
| Tres caudales medidos y un balance | 0 incógnitas clásicas, 3 mediciones | una restricción | redundante | permite evaluar cierre |
Caso trabajado I: separación de sólidos
Definición y solución
Considérese un separador pedagógico, no reactivo y en estado estacionario. La alimentación es \(F=1000\ \mathrm{kg/h}\) con fracción másica de sólidos \(x_F=0.12\). Se obtienen un producto concentrado con \(x_P=0.30\) y una corriente líquida con \(x_L=0.02\).
Los balances independientes son:
\[ F=P+L, \tag{8}\]
\[ Fx_F=Px_P+Lx_L. \tag{9}\]
Al sustituir \(L=F-P\) en la Ecuación 9:
\[ P=F\frac{x_F-x_L}{x_P-x_L}, \qquad L=F-P. \tag{10}\]
Con los valores del caso:
\[ P=1000\frac{0.12-0.02}{0.30-0.02}=357.1429\ \mathrm{kg/h}, \]
\[ L=1000-357.1429=642.8571\ \mathrm{kg/h}. \]
| Verificación | Entrada (kg/h) | Salidas (kg/h) | Residual (kg/h) |
|---|---|---|---|
| Masa total | 1000.0000 | 357.1429 + 642.8571 | 0.0000 |
| Sólidos | 120.0000 | 107.1429 + 12.8571 | 0.0000 |
La segunda fila es tan importante como la primera. Un conjunto de caudales puede cerrar en masa total y fallar en sólidos si las composiciones son erróneas, si existe sedimentación no incluida en el inventario o si las muestras no representan el mismo periodo.
Condiciones de validez
La solución supone estado estacionario, dos únicas salidas, ausencia de reacción, composiciones representativas y una misma base temporal. Si existe acumulación dentro del separador, el balance correcto incluye el cambio de inventario. Si una parte de los sólidos queda retenida, esa retención no es “pérdida” mientras permanezca dentro de la frontera: es acumulación. Se convierte en salida cuando se descarga o en pérdida cuando cruza una frontera no medida.
La Ecuación 10 deja ver un caso límite: si \(x_P=x_L\), el denominador es cero. Físicamente, dos productos con la misma composición no proporcionan separación y los balances no determinan cómo repartir el flujo total. Una singularidad matemática puede ser una advertencia física, no un defecto del álgebra.
Sensibilidad: una respuesta no es un número inmutable
El caudal calculado \(P\) depende de tres composiciones. Sus derivadas locales son:
\[ \frac{\partial P}{\partial x_F}=\frac{F}{x_P-x_L}, \quad \frac{\partial P}{\partial x_P}=-\frac{F(x_F-x_L)}{(x_P-x_L)^2}, \quad \frac{\partial P}{\partial x_L}=\frac{F(x_F-x_P)}{(x_P-x_L)^2}. \tag{11}\]
En el caso base, un aumento de un punto porcentual absoluto en \(x_F\) incrementaría localmente \(P\) en aproximadamente \(35.7\ \mathrm{kg/h}\). Un punto porcentual en \(x_P\) lo reduciría aproximadamente \(12.8\ \mathrm{kg/h}\); un punto en \(x_L\) lo reduciría cerca de \(23.0\ \mathrm{kg/h}\). Estas cifras son derivadas locales: no reemplazan el recálculo cuando los cambios son grandes.
La curva de la Figura 3 no es lineal. Cerca de \(x_P=x_L\), el cálculo se vuelve extremadamente sensible: pequeñas diferencias analíticas producen grandes variaciones de caudal. A concentraciones más altas, la pendiente disminuye. Esto indica dónde conviene invertir en mejor muestreo o medición: no todas las variables aportan la misma incertidumbre a la respuesta.
No puede concluirse de la figura que aumentar \(x_P\) “cause” por sí solo una reducción de producción en una planta. El gráfico mantiene otras variables fijas y representa una relación de balance, no la cinética ni la capacidad del equipo.
Caso trabajado II: acumulación de componente
Considérese un tanque perfectamente mezclado con inventario constante \(M=500\ \mathrm{kg}\). Entran y salen \(F=100\ \mathrm{kg/h}\), por lo que el balance total está en estado estacionario. La fracción másica de entrada cambia a \(x_{\mathrm{in}}=0.10\), mientras el tanque inicia en \(x_0=0.02\).
La salida tiene la composición instantánea del tanque, \(x(t)\). El balance de componente es:
\[ M\frac{dx}{dt}=F x_{\mathrm{in}}-F x. \tag{12}\]
Definiendo \(\tau=M/F\), la solución es:
\[ x(t)=x_{\mathrm{in}}+\left(x_0-x_{\mathrm{in}}\right)e^{-t/\tau}, \qquad \tau=5\ \mathrm{h}. \tag{13}\]
A \(t=5\ \mathrm{h}=\tau\), \(x=0.07057\): el sistema ha recorrido aproximadamente 63.2% de la distancia entre su condición inicial y final. A \(t=15\ \mathrm{h}=3\tau\), \(x=0.09602\), cerca de 95% del cambio. La acumulación de componente es inicialmente \(F(x_{\mathrm{in}}-x_0)=8\ \mathrm{kg/h}\) y decae hacia cero.
Este ejemplo demuestra que cierre total no implica cierre por componente. Si solo se registran los caudales total de entrada y salida, el proceso parece estacionario desde el primer instante. La composición revela la dinámica interna. También muestra por qué las muestras deben sincronizarse con el tiempo de residencia: comparar entrada actual con salida que representa material alimentado horas antes puede producir un falso error de balance.
La solución supone mezcla perfecta, densidad y caudales constantes, ausencia de reacción y medición instantánea. Estratificación, volumen muerto, retardo de analizadores o caudal variable modifican la respuesta y exigen un modelo más detallado.
Cierre de balance e incertidumbre
Residual y cierre relativo
Para un balance total estacionario puede definirse el residual:
\[ r=\sum\dot m_{\mathrm{in}}-\sum\dot m_{\mathrm{out}}. \tag{14}\]
Una métrica relativa frecuente es:
\[ e_{\mathrm{rel}}=\frac{r}{\sum\dot m_{\mathrm{in}}}\times 100\%. \tag{15}\]
El signo debe declararse. Con la convención anterior, \(r<0\) significa que las salidas medidas superan las entradas medidas. Eso no prueba creación de masa: puede reflejar incertidumbre, inventario descargado, desfase de periodos, corrientes omitidas o sesgo instrumental.
Propagación de incertidumbre
Las mediciones no son exactas. Si los caudales son independientes y tienen incertidumbres estándar \(u_j\), una aproximación lineal para el residual es (Joint Committee for Guides in Metrology 2008):
\[ u_r=\sqrt{\sum_j\left(\frac{\partial r}{\partial \dot m_j}\right)^2u_j^2}. \tag{16}\]
Para \(r=F-P-L\), las derivadas son \(1,-1,-1\), y:
\[ u_r=\sqrt{u_F^2+u_P^2+u_L^2}. \]
En el caso medido \(F=1000\), \(P=365\) y \(L=650\ \mathrm{kg/h}\), con \(u_F=10\), \(u_P=7\) y \(u_L=8\ \mathrm{kg/h}\):
\[ r=-15.0\ \mathrm{kg/h}, \qquad u_r=14.5945\ \mathrm{kg/h}, \qquad z=r/u_r=-1.028. \]
El residual es distinto de cero, pero su magnitud es cercana a una incertidumbre estándar. No existe base para declarar automáticamente una fuga. Tampoco significa que el sistema sea perfecto: el análisis solo indica que el desbalance es plausible bajo el modelo de incertidumbre asumido.
Correlaciones, sesgos comunes y errores de composición requieren términos de covarianza. Tratar mediciones correlacionadas como independientes puede subestimar o sobreestimar la incertidumbre del cierre.
Reconciliación conceptual de datos
Cuando existen mediciones redundantes, la reconciliación de datos busca valores ajustados que satisfagan las restricciones físicas y se aparten lo menos posible de las mediciones, ponderando su confiabilidad (Tamhane y Mah 1985). No consiste en “forzar” números para ocultar un error; consiste en distinguir el mejor estimado compatible con conservación bajo un modelo de incertidumbre explícito.
Para el vector medido \(\mathbf y=[F,P,L]^T\), la restricción lineal es \(\mathbf A\mathbf y^*=0\), con \(\mathbf A=[1,-1,-1]\). Si \(\mathbf\Sigma\) es la matriz de covarianza, la solución ponderada es:
\[ \mathbf y^*=\mathbf y- \mathbf\Sigma\mathbf A^T \left(\mathbf A\mathbf\Sigma\mathbf A^T\right)^{-1} \mathbf A\mathbf y. \tag{17}\]
El resultado es \(F^*=1007.0423\), \(P^*=361.5493\) y \(L^*=645.4930\ \mathrm{kg/h}\), con residual numérico cero. El caudal con mayor incertidumbre absoluta, \(F\), recibe el mayor ajuste. Esto es coherente con la ponderación: una medición menos precisa puede moverse más que una más precisa.
La reconciliación no corrige un modelo incompleto. Si falta una corriente real, imponer \(F-P-L=0\) redistribuye artificialmente esa masa entre instrumentos. Antes de reconciliar deben validarse frontera, régimen, inventario y topología. La detección de errores gruesos y la reconciliación son problemas relacionados, pero no idénticos.
Patrones de diagnóstico
| Patrón observado | Hipótesis posibles | Comprobación útil |
|---|---|---|
| residual constante con el mismo signo | sesgo de instrumento, corriente omitida | contraste con patrón o medición independiente |
| residual cambia con el nivel de un tanque | acumulación no modelada | incluir inventario inicial y final |
| cierre total bueno, componente malo | muestreo/composición, reacción o segregación | sincronizar muestras y revisar base analítica |
| picos durante arranque o cambio de lote | régimen transitorio | usar forma integral y ventana coherente |
| error aumenta al acercarse composiciones | mala condición matemática | análisis de sensibilidad y mejor precisión analítica |
| reconciliación exige ajustes extremos | error grueso o topología incorrecta | prueba de consistencia antes de aceptar valores |
Un límite de aceptación fijo —por ejemplo ±1%— puede ser práctico, pero no universal. Un 1% puede ser irrelevante frente a la incertidumbre de un sistema y crítico en otro. El criterio debe relacionarse con la magnitud, la incertidumbre, el tiempo, el riesgo y el uso previsto del balance.
Del balance físico a la trazabilidad digital
La trazabilidad registra identidades y eventos; el balance de masa verifica cantidades. Para conectarlos, cada evento de transformación necesita al menos:
- identificador de lote o corriente;
- cantidad y unidad;
- tiempo o intervalo;
- composición o atributo pertinente;
- equipo, ubicación y frontera;
- relación entre entradas, salidas e inventarios;
- estado de la medición, incertidumbre y procedencia;
- regla de conversión cuando cambia la base.
Una cadena digital puede ser cronológicamente completa y físicamente imposible. Por ejemplo, registrar 1,050 kg de productos a partir de 1,000 kg de entradas sin inventario descargado ni corriente adicional conserva eventos, pero no conserva materia. Inversamente, un balance global puede cerrar y ocultar que se intercambiaron identidades de lotes. La trazabilidad robusta requiere ambas condiciones: continuidad de identidad y continuidad cuantitativa.
En una arquitectura como Nebula OriginBlok®, el balance de masa puede actuar como regla de validación de eventos: las cantidades de salida, cambio de inventario y pérdidas justificadas deben ser compatibles con las entradas dentro de tolerancias documentadas. Esta es una consecuencia conceptual del principio físico, no una afirmación sobre desempeño comercial ni sobre datos de una implementación específica.
Método práctico en doce pasos
- Definir la pregunta. ¿Se busca dimensionar, verificar, reconciliar, diagnosticar o trazar?
- Dibujar la frontera. Marcar entradas, salidas, inventarios y posibles corrientes omitidas.
- Fijar tiempo y base. Declarar lote, hora, día y base húmeda/seca.
- Enumerar componentes. Definir qué representa cada fracción y comprobar que sumen uno.
- Clasificar el régimen. Estacionario, transitorio o cuasiestacionario.
- Escribir primero la forma general. Simplificar solo después de justificar cada término eliminado.
- Contar grados de libertad. Separar mediciones, especificaciones e incógnitas.
- Resolver con unidades visibles. Evitar números sin dimensión durante la sustitución.
- Verificar balances independientes. Total, componentes y, cuando corresponda, elementos.
- Calcular residual e incertidumbre. No interpretar cierre sin calidad metrológica.
- Examinar sensibilidad y casos límite. Identificar variables dominantes y singularidades.
- Documentar procedencia. Conservar datos, código, parámetros, versiones y decisiones.
Este orden evita un error habitual: empezar con álgebra antes de definir el proceso. Una ecuación resuelta con precisión puede representar una frontera equivocada.
Supuestos, límites y afirmaciones permitidas
Los tres casos son pedagógicos y determinísticos. No validan una tecnología ni describen una planta. El separador ilustra balances estacionarios; el tanque ilustra dinámica ideal; la reconciliación ilustra un estimador lineal con incertidumbres independientes.
Las conclusiones dejan de ser válidas cuando:
- la reacción afecta componentes y se omiten términos estequiométricos;
- la frontera cambia durante el intervalo;
- los inventarios no se miden o estiman;
- las composiciones no comparten base;
- existe flujo multifásico no representado por el instrumento;
- el muestreo no es representativo;
- las incertidumbres están mal caracterizadas;
- se confunde correlación temporal con mediciones independientes;
- se reconcilian datos contra restricciones físicas incorrectas.
Un balance de masa tampoco demuestra causalidad. Puede revelar una inconsistencia, pero localizar su causa exige evidencia adicional: calibración, inspección, muestreo, tendencias de nivel, secuencia operacional y conocimiento del proceso.
Conclusiones
El balance de masa es una ley física convertida en método de decisión. Su forma más simple —entrada menos salida igual a acumulación— solo es útil cuando frontera, tiempo, base, unidades y componentes están definidos.
El caso de separación mostró cómo dos balances independientes determinan dos caudales y cómo la solución se vuelve sensible cuando las composiciones de producto se aproximan. El tanque mostró que un proceso puede estar estacionario en masa total y ser transitorio por componente. El caso de medición mostró que un residual distinto de cero debe compararse con su incertidumbre y que la reconciliación ponderada genera estimados físicamente consistentes sin convertir mediciones en verdades exactas.
La lección central es doble. Primero, el cierre numérico no sustituye el razonamiento físico: un balance puede cerrar con una frontera incorrecta. Segundo, la trazabilidad digital no sustituye conservación: una secuencia de eventos debe ser cuantitativamente posible. Cuando identidad, cantidad, tiempo, composición, incertidumbre y procedencia se integran, el balance de masa deja de ser un ejercicio escolar y se convierte en la gramática verificable del proceso industrial.
Declaración de reproducibilidad
Los datasets, resultados y cinco figuras de esta edición se generan mediante scripts/generate_evidence.py. Las dependencias están fijadas en environment/requirements.txt; las variables y unidades se documentan en data/README.md. El pipeline no utiliza aleatoriedad. Los mismos resultados y figuras sustentan las ediciones ES y EN.