El saber local como sistema complejo adaptativo: modelo, ecuaciones y evidencia
Local knowledge as a complex adaptive system: model, equations and evidence
Documentación técnica de Ratio Milpa para investigación y docencia: el modelo de datos, la red ponderada y su estadística, el cladograma, los índices de sostenibilidad, regeneración y riesgo, la prospectiva, la validación frente a NetworkX y SciPy, y cómo reproducir cada número.
Technical documentation of Ratio Milpa for research and teaching: the data model, the weighted network and its statistics, the cladogram, the sustainability, regeneration and risk indices, the outlook, validation against NetworkX and SciPy, and how to reproduce every number.
Para el uso paso a paso, consulta el Instructivo del Productor.For step-by-step use, see the Producer Guide.
Alcance, procedencia de los datos y convenciones
Scope, data provenance and conventions
Ratio Milpa representa una unidad de producción agrícola o pecuaria como un sistema complejo adaptativo (Holland, 1995): sus elementos son nodos y sus actividades de manejo, los vínculos. Sobre esa red calcula centralidades, comunidades, correlaciones y un cladograma; evalúa la sostenibilidad, la regeneración y el riesgo; y proyecta escenarios a 2, 5 y 10 años. Todo ocurre en el navegador, en un solo archivo HTML sin dependencias externas.
Ratio Milpa represents a crop or livestock farm as a complex adaptive system (Holland, 1995): its elements are nodes and its management activities, the links. On that network it computes centralities, communities, correlations and a cladogram; assesses sustainability, regeneration and risk; and projects scenarios at 2, 5 and 10 years. Everything runs in the browser, in a single HTML file with no external dependencies.
Procedencia de cada valorProvenance of every value
| Etiqueta | Label | Significado | Meaning |
|---|---|---|---|
| ● Dato publicado | Tomado de una fuente citada: Díaz-José et al. (2026), Mojica Zárate (2017), INEGI (2020), CONABIO (2020), IPCC (2006, 2018, 2019), Zhao et al. (2017). | Taken from a cited source: Díaz-José et al. (2026), Mojica Zárate (2017), INEGI (2020), CONABIO (2020), IPCC (2006, 2018, 2019), Zhao et al. (2017). | |
| ◆ Lectura de Ratio Milpa | Regla, agrupación o valor propuesto por la app (por ejemplo, el vínculo actividad–elemento, los perfiles de impacto, los cortes de clase). Editable. | Rule, grouping or value proposed by the app (for example, activity–element links, impact profiles, class cut-offs). Editable. | |
| Supuesto | Parámetro de escenario sin base publicada (precios, costos, mano de obra, factores de reducción del riesgo). Editable y marcado. | Scenario parameter with no published basis (prices, costs, labour, risk reduction factors). Editable and flagged. | |
| Sin dato | El dato no existe en las fuentes ni lo capturó el usuario. La app no lo imputa. | The value is not in the sources and was not entered by the user. The app does not impute it. |
Maíz criollo, San Andrés Calpan, Puebla (21026). 38 pasos, 83 actividades, 5 reglas; 100 informantes, 2022–2024.
Landrace maize, San Andrés Calpan, Puebla (21026). 38 steps, 83 activities, 5 rules; 100 informants, 2022–2024.
63 en 10 categorías, tomados del artículo; los inferidos de una actividad se marcan.
63 in 10 categories, from the paper; those inferred from an activity are flagged.
32 estados, 2,478 municipios, 54,357 localidades (INEGI, 2020).
32 states, 2,478 municipalities, 54,357 localities (INEGI, 2020).
JavaScript sin bibliotecas; un archivo armado desde src/ con armar.py.
Library-free JavaScript; one file built from src/ with armar.py.
Modelo de datos
Data model
Actividades, elementos, valor e impacto: los insumos de todo el cálculo.
Activities, elements, value and impact: the inputs to every computation.
Actividades e incidenciaActivities and incidence
Cada actividad a pertenece a un paso p y, cuando hay Stack, a una regla 5B. Tiene un tipo (tradicional o innovada) y un conjunto de elementos Ea. La matriz de incidencia X (elementos × actividades) vale 1 si el elemento participa. Las actividades del Stack son preguntas: solo entran al cálculo las que el usuario responde «sí»; las respondidas «no» y las no respondidas quedan fuera (nada se precarga). En el caso de Calpan la app activa 85 actividades.
Each activity a belongs to a step p and, when there is a Stack, to a 5B rule. It has a type (traditional or innovated) and an element set Ea. The incidence matrix X (elements × activities) is 1 if the element takes part. Stack activities are questions: only those the user answers “yes” enter the computation; those answered “no” and unanswered ones stay out (nothing is preloaded). In the Calpan case the app activates 85 activities.
Valor de un elementoElement value
El usuario califica cada elemento en cuatro dimensiones k ∈ {económica, de uso, cultural, ecológica}, de 0 a 5, con pesos ωk ∈ [0, 3]. Si no hay calificación se usa el valor estructural, la participación relativa:
The user rates each element on four dimensions k ∈ {economic, use, cultural, ecological}, from 0 to 5, with weights ωk ∈ [0, 3]. Without a rating the structural value, relative participation, is used:
donde cik es la calificación y ni el número de actividades en que participa el elemento i.
where cik is the rating and ni the number of activities element i takes part in.
Impacto por compartimentoImpact by compartment
Cinco compartimentos c: suelo, agua, atmósfera, vegetación y fauna. Cada elemento tiene un perfil de impacto (lectura de Ratio Milpa con su justificación); el impacto de la actividad es la suma recortada, o el valor que edite el usuario:
Five compartments c: soil, water, atmosphere, vegetation and fauna. Each element has an impact profile (a Ratio Milpa reading with its rationale); the activity’s impact is the clipped sum, or the value edited by the user:
La red ponderada y su estadística
The weighted network and its statistics
Construcción de la redNetwork construction
Dos elementos se vinculan cuando concurren en una actividad; el peso acumula la media geométrica de sus valores en todas las actividades compartidas, más los lazos estructurales documentados en el artículo (por ejemplo, la academia local con los actores):
Two elements are linked when they co-occur in an activity; the weight accumulates the geometric mean of their values over all shared activities, plus the structural ties documented in the paper (for example, local academia with the actors):
Un valor nulo se sustituye por 0.05 para no anular el vínculo. La opción «ocultar al nodo omnipresente» excluye a los productores (PM), que participan en casi todas las actividades.
A zero value is replaced by 0.05 so the link is not cancelled. The “hide the omnipresent node” option excludes farmers (PM), who take part in almost every activity.
CentralidadesCentralities
| Medida | Measure | Definición en la app | Definition in the app |
|---|---|---|---|
| Grado ponderado | Weighted degree | si = Σj wij | |
| Intermediación | Betweenness | Brandes (2001) con Dijkstra y longitud 1/wij; sin normalizar (Freeman, 1978). | Brandes (2001) with Dijkstra and length 1/wij; unnormalised (Freeman, 1978). |
| Cercanía | Closeness | Inverso de la distancia media 1/w a los nodos alcanzables, escalado por la fracción alcanzable (Wasserman y Faust, 1994). | Inverse of mean 1/w distance to reachable nodes, scaled by the reachable fraction (Wasserman & Faust, 1994). |
| Vector propio | Eigenvector | Iteración de potencias sobre la matriz ponderada (200 iteraciones, normalización por el máximo). | Power iteration on the weighted matrix (200 iterations, max normalisation). |
| Agrupamiento | Clustering | Coeficiente local no ponderado; camino medio y diámetro por BFS (Watts y Strogatz, 1998). | Unweighted local coefficient; mean path and diameter by BFS (Watts & Strogatz, 1998). |
Comunidades y modularidadCommunities and modularity
Las comunidades se detectan con el método de Louvain (Blondel et al., 2008), determinista: movimientos locales que maximizan ΔQ y agregación, repetidos hasta que Q no mejora. La modularidad (Newman, 2006):
Communities are detected with the Louvain method (Blondel et al., 2008), deterministic: local moves maximising ΔQ and aggregation, repeated until Q stops improving. Modularity (Newman, 2006):
Correlación φφ correlation
Correlación de Pearson entre los vectores de incidencia de dos elementos en las N actividades (equivalente al coeficiente φ de una tabla 2 × 2):
Pearson correlation between two elements’ incidence vectors across the N activities (equivalent to the φ coefficient of a 2 × 2 table):
Red completa: 61 nodos, 209 vínculos, densidad 0.114, Q = 0.038 (4 comunidades). Sin PM: 60 nodos, 158 vínculos, Q = 0.4496 con 7 comunidades, agrupamiento medio 0.5252 y camino medio 2.9017. La mayor intermediación sin PM corresponde a asesores técnicos, conocimiento técnico, conocimiento tácito y suelo.
Full network: 61 nodes, 209 links, density 0.114, Q = 0.038 (4 communities). Without PM: 60 nodes, 158 links, Q = 0.4496 with 7 communities, mean clustering 0.5252 and mean path 2.9017. The highest betweenness without PM belongs to technical advisers, technical knowledge, tacit knowledge and soil.
Cladograma del vecino más cercano
Nearest-neighbour cladogram
Distancia en la redNetwork distance
La distancia entre dos elementos es la longitud del camino más corto en la red completa, con longitud 1/wij por vínculo (la misma métrica que la intermediación y la cercanía). El camino puede pasar por cualquier elemento aunque el árbol muestre un subconjunto (actores; actores e instituciones; todos). Los pares sin camino reciben 1.15 veces la mayor distancia observada.
The distance between two elements is the shortest-path length in the full network, with length 1/wij per link (the same metric as betweenness and closeness). The path may pass through any element even if the tree shows a subset (actors; actors and institutions; all). Pairs with no path get 1.15 times the largest observed distance.
Enlace simple y correlación cofenéticaSingle linkage and cophenetic correlation
Agrupamiento jerárquico aglomerativo por enlace simple (Sneath, 1957; Sokal y Sneath, 1963): en cada paso se unen los dos grupos con el par de miembros más próximo, D(A, B) = mini∈A, j∈B dij. La fidelidad del árbol se mide con la correlación cofenética de Sokal y Rohlf (1962), la correlación de Pearson entre dij y la altura a la que i y j se unen.
Agglomerative hierarchical clustering by single linkage (Sneath, 1957; Sokal & Sneath, 1963): at each step the two groups with the closest pair of members merge, D(A, B) = mini∈A, j∈B dij. Tree fidelity is measured with Sokal and Rohlf’s (1962) cophenetic correlation, the Pearson correlation between dij and the height at which i and j merge.
| Subconjunto | Subset | n | r cofenética | Cophenetic r | |Δ| frente a SciPy | |Δ| vs SciPy |
|---|---|---|---|---|---|---|
| Actores | Actors | 7 | 0.9917 | 1.1 × 10⁻¹⁶ | ||
| Actores e instituciones | Actors and institutions | 15 | 0.8526 | 1.0 × 10⁻¹⁵ | ||
| Todos los elementos | All elements | 61 | 0.9103 | 2.1 × 10⁻¹⁵ |
Porque responde directamente a la pregunta «¿quién es el vecino más cercano de quién?»: la primera unión de cada elemento es con su vecino más cercano, y el árbol coincide con el árbol de expansión mínima de las distancias.
Because it directly answers “who is whose nearest neighbour?”: each element’s first merge is with its nearest neighbour, and the tree matches the minimum spanning tree of the distances.
Sostenibilidad, ODS y huella de carbono
Sustainability, SDGs and carbon footprint
Índice de sostenibilidad de una actividadActivity sustainability index
0.5 es neutra. El IS del sistema es la media de sus actividades; también se reporta por paso y por tipo (tradicional o innovada). En Calpan: 0.51.
0.5 is neutral. The system IS is the mean of its activities; it is also reported by step and by type (traditional or innovated). In Calpan: 0.51.
Índice general de SarandónSarandón’s general index
Siguiendo a Sarandón (2002), cada dimensión se expresa en 0–4 con subindicadores; su traducción a datos de la app es una lectura de Ratio Milpa:
Following Sarandón (2002), each dimension is expressed on 0–4 through sub-indicators; their translation into app data is a Ratio Milpa reading:
| Dimensión | Dimension | Subindicadores (0–4) | Sub-indicators (0–4) | Calpan |
|---|---|---|---|---|
| IK | A margen 4(I − C)/I · B productos distintos (tope 4) · C 4(1 − pasos con insumos externos ⁄ pasos) | A margin 4(I − C)/I · B distinct products (cap 4) · C 4(1 − steps with external inputs ⁄ steps) | 3.11 | |
| IE | Media de (sac + 2) en actividades y compartimentos | Mean of (sac + 2) across activities and compartments | 2.05 | |
| ISC | A reglas con saber local · B reglas con conocimiento técnico · C instituciones vinculadas | A rules with local knowledge · B rules with technical knowledge · C linked institutions | 2.67 |
En Calpan, ISGen = 2.61: sostenible. El margen (IK-A) queda sin dato hasta capturar ingresos y costos; IK se promedia con los subindicadores disponibles.
In Calpan, ISGen = 2.61: sustainable. The margin (IK-A) stays as no data until income and costs are entered; IK averages the available sub-indicators.
Cumplimiento de los ODSSDG attainment
Para cada ODS se promedian las evidencias disponibles: ambientales (media de (sac + 2)/4 en los compartimentos ligados: ODS 2, 6, 12, 13 y 15) y estructurales (actividades con conocimiento técnico o asesoría, ODS 4; instituciones vinculadas, ODS 17; margen, ODS 1 y 8). Sin evidencia, «sin dato». La relación compartimento–ODS es una lectura de Ratio Milpa. En Calpan hay evidencia para 7 de los 17.
For each SDG the available evidence is averaged: environmental (mean of (sac + 2)/4 over the linked compartments: SDGs 2, 6, 12, 13 and 15) and structural (activities with technical knowledge or advice, SDG 4; linked institutions, SDG 17; margin, SDGs 1 and 8). Without evidence, “no data”. The compartment–SDG mapping is a Ratio Milpa reading. In Calpan 7 of the 17 have evidence.
Huella de carbono por hectáreaCarbon footprint per hectare
D: litros de diésel; N: kg de N aplicado; U: kg de urea. Factores por defecto del IPCC (2006; refinamiento 2019): EF1, FracGASF × EF4 y FracLEACH × EF5; GWP100 del N₂O = 273 (AR6, Forster et al., 2021). Dividido entre el rendimiento da kg CO₂e por tonelada.
D: litres of diesel; N: kg of N applied; U: kg of urea. IPCC default factors (2006; 2019 refinement): EF1, FracGASF × EF4 and FracLEACH × EF5; N₂O GWP100 = 273 (AR6, Forster et al., 2021). Divided by yield it gives kg CO₂e per tonne.
Índice de regeneración
Regeneration index
Ocho indicadores ordinales sk ∈ {0, …, 4} agrupan los cuatro principios de salud del suelo del USDA-NRCS (mínima perturbación, suelo cubierto, diversidad, raíces vivas) y los procesos que la literatura de agricultura regenerativa añade (integración animal, menos insumos de síntesis, materia orgánica; Newton et al., 2020; Schreefel et al., 2020), más el saber local del Stack.
Eight ordinal indicators sk ∈ {0, …, 4} group the four USDA-NRCS soil health principles (minimal disturbance, soil cover, diversity, living roots) and the processes the regenerative agriculture literature adds (livestock integration, fewer synthetic inputs, organic matter; Newton et al., 2020; Schreefel et al., 2020), plus the Stack’s local knowledge.
Reglas de los valores sugeridosSuggested-value rules
| Indicador | Indicator | Regla (lectura de Ratio Milpa) | Rule (Ratio Milpa reading) | Calpan |
|---|---|---|---|---|
| Labranza mínima | Minimal tillage | n actividades con arado, subsuelo o rastra (excluye decisiones): 0→4, 1→3, 2→2, 3–4→1, ≥5→0 | n activities with plough, subsoiler or harrow (decisions excluded): 0→4, 1→3, 2→2, 3–4→1, ≥5→0 | 1 (n = 4) |
| Suelo cubierto | Soil cover | 2 si hay actividades con rastrojo de impacto positivo en suelo; si no, 1 | 2 if there are stubble activities with positive soil impact; otherwise 1 | 2 |
| Diversidad | Diversity | especies según el sistema (milpa 3, MIAF 4…): 1→0, 2→1, 3→2, 4–5→3, ≥6→4 | species by system (milpa 3, MIAF 4…): 1→0, 2→1, 3→2, 4–5→3, ≥6→4 | 2 |
| Raíces vivas | Living roots | 3 si el sistema tiene perennes; si no, 2 | 3 if the system has perennials; otherwise 2 | 2 |
| Integración animal | Livestock integration | 3 si hay animales; 2 si se produce forraje; si no, 0 | 3 with animals; 2 if fodder is produced; otherwise 0 | 2 |
| Menos síntesis | Fewer synthetics | round(4 (1 − S ⁄ (S + B))) | 0 (S = 16, B = 1) | |
| Materia orgánica | Organic matter | 1, 2 o 3 según actividades que devuelven residuos (0, 1, ≥2), +1 con análisis de suelo | 1, 2 or 3 by residue-returning activities (0, 1, ≥2), +1 with soil testing | 4 |
| Saber local | Local knowledge | min(4, round(8 f)), f = fracción de actividades con saber tácito, cultural, familia o semilla propia | min(4, round(8 f)), f = share of activities with tacit or cultural knowledge, family or own seed | 2 (f = 0.19) |
Con los valores sugeridos, IR = 15/32 = 0.469 (47, convencional). Clases: < 0.25 degradante; 0.25–0.49 convencional; 0.50–0.74 en transición regenerativa; ≥ 0.75 regenerativo. La trayectoria se mide como ΔIR frente a una línea base guardada y, si hay análisis de suelo, como Δ% de materia orgánica.
With the suggested values, IR = 15/32 = 0.469 (47, conventional). Classes: < 0.25 degrading; 0.25–0.49 conventional; 0.50–0.74 regenerative transition; ≥ 0.75 regenerative. Trajectory is measured as ΔIR from a saved baseline and, with soil tests, as Δ% organic matter.
Riesgo y capacidad adaptativa
Risk and adaptive capacity
Diecinueve amenazas h en seis categorías. Cada una tiene probabilidad Ph e impacto Ih en 1–5 (matriz de 5 × 5; IEC 31010:2019, dentro del proceso de ISO 31000:2018) y un control ch ∈ {0, 1, 2, 3}. Siguiendo el marco del IPCC (2014), el riesgo depende de la amenaza y de la vulnerabilidad, que la capacidad adaptativa reduce:
Nineteen hazards h in six categories. Each has likelihood Ph and impact Ih on 1–5 (5 × 5 matrix; IEC 31010:2019, within the ISO 31000:2018 process) and a control ch ∈ {0, 1, 2, 3}. Following the IPCC (2014) framework, risk depends on the hazard and on vulnerability, which adaptive capacity reduces:
Los factores 0.4 y 0.15 son supuestos de Ratio Milpa. Niveles de r: ≤ 4 bajo, 5–9 medio, 10–15 alto, ≥ 16 muy alto. Los valores sugeridos derivan del escenario tendencial (calentamiento, costos, precio, mano de obra) y de la fracción de actividades con insumos comprados o con saber local; lo demás queda en 3.
The 0.4 and 0.15 factors are Ratio Milpa assumptions. Levels of r: ≤ 4 low, 5–9 medium, 10–15 high, ≥ 16 very high. Suggested values derive from the trend scenario (warming, costs, price, labour) and the share of activities with purchased inputs or local knowledge; the rest stays at 3.
Catálogo de amenazasHazard catalogue
Cada amenaza se liga a los elementos del Stack que la transmiten; la liga es una lectura de Ratio Milpa y sirve para mostrar el riesgo en los bloques de Elementos y Tablero.
Each hazard is linked to the Stack elements that transmit it; the link is a Ratio Milpa reading and is used to show risk in the Elements and Dashboard blocks.
| Categoría | Category | Amenazas | Hazards | Elementos ligados | Linked elements |
|---|---|---|---|---|---|
| Climáticas (6) | Climatic (6) | Sequía o lluvias tardías · helada · granizo · lluvias intensas o inundación · ola de calor · ciclones y huracanes | Drought or late rains · frost · hail · heavy rain or flooding · heatwave · cyclones and hurricanes | HUM, CLIMA, ENSO, CICL, MJO | |
| Biológicas (3) | Biological (3) | Plagas · enfermedades · malezas resistentes o invasoras | Pests · diseases · resistant or invasive weeds | PLAGA, ARV, HERB | |
| Mercado (3) | Market (3) | Caída del precio · alza de insumos y servicios · intermediarismo o falta de comprador | Price fall · rise in input and service costs · middlemen or no buyer | PRECIO, COMP, GRANO, COSTOS, FERTG, PI, TRANS | |
| Sociales (3) | Social (3) | Falta de mano de obra y de relevo · pérdida del saber local · inseguridad o robo | Labour shortage and no succession · loss of local knowledge · insecurity or theft | PM, FAM, KTAC, KCUL | |
| Institucionales (2) | Institutional (2) | Retiro de programas y apoyos · conflictos de tenencia | Withdrawal of programmes and support · tenure conflicts | AT, SDR | |
| Recursos naturales (2) | Natural resources (2) | Erosión y pérdida de fertilidad · escasez de agua | Erosion and fertility loss · water scarcity | SUELO, HUM |
Reglas de los valores sugeridosSuggested-value rules
| Amenaza | Hazard | Regla | Rule |
|---|---|---|---|
| Sequía, ola de calor | Drought, heatwave | P = 4 si el calentamiento tendencial es ≥ 0.2 °C por década; si no, 3 | P = 4 if trend warming is ≥ 0.2 °C per decade; otherwise 3 |
| Alza de insumos | Input cost rise | P = 4 si el costo tendencial crece ≥ 2 %/año; I = 1 + round(4 min(1, 2fs)), fs = fracción de actividades con insumos comprados | P = 4 if trend cost grows ≥ 2 %/yr; I = 1 + round(4 min(1, 2fs)), fs = share of activities with purchased inputs |
| Mano de obra | Labour | P = 4 si gL ≤ −1.5 %; 3 si gL < 0; si no, 2 | P = 4 if gL ≤ −1.5 %; 3 if gL < 0; otherwise 2 |
| Caída del precio | Price fall | P = 4 si el precio tendencial baja; si no, 3 | P = 4 if the trend price falls; otherwise 3 |
| Pérdida del saber | Knowledge loss | I = 1 + round(4 min(1, 2fk)), fk = fracción de actividades con saber tácito, cultural o familiar | I = 1 + round(4 min(1, 2fk)), fk = share of activities with tacit, cultural or family knowledge |
| Las demás | All others | P = 3, I = 3 (moderado; se ajusta a la localidad) | P = 3, I = 3 (moderate; adjust to the locality) |
El usuario puede desactivar una amenaza que no aplica (sale de H) o sobrescribir P, I y el control; la app marca qué valores fueron ajustados.
The user can switch off a hazard that does not apply (it leaves H) or overwrite P, I and control; the app flags which values were adjusted.
CA = (0.47 + 1.00 + 0.83 + 0.50)/4 = 0.70. Las cuatro amenazas mayores (sequía, ola de calor, alza de insumos, falta de mano de obra) tienen P = 4, I = 3 y r = 12 × 0.72 = 8.6.
CA = (0.47 + 1.00 + 0.83 + 0.50)/4 = 0.70. The four highest hazards (drought, heatwave, input cost rise, labour shortage) have P = 4, I = 3 and r = 12 × 0.72 = 8.6.
Modelo de escenarios
Scenario model
Tres escenarios exploratorios (Godet y Durance, 2011) se simulan año por año, t = 0…10. La adopción de las actividades innovadas sigue una logística (Rogers, 2003) que parte de la fracción actual a0:
Three exploratory scenarios (Godet & Durance, 2011) are simulated year by year, t = 0…10. Adoption of innovated activities follows a logistic curve (Rogers, 2003) starting from the current share a0:
β: cambio de rendimiento por °C (maíz −7.4 %, trigo −6.0 %; Zhao et al., 2017; −4.9 % como supuesto para otros); ΔT: calentamiento por década (0.1, 0.2 y 0.3 °C; intervalo probable de IPCC, 2018); p(t): probabilidad de año extremo, lineal de p0 a pext. Precio y costo crecen a tasas constantes; la mano de obra disponible decrece a tasa gL y la requerida baja con la adopción. El riesgo en t recalcula (11) con Pclima + 5(p(t) − p0) y CA con IR(t). Los coeficientes 0.5 son supuestos.
β: yield change per °C (maize −7.4 %, wheat −6.0 %; Zhao et al., 2017; −4.9 % assumed for others); ΔT: warming per decade (0.1, 0.2 and 0.3 °C; IPCC, 2018 likely range); p(t): extreme-year probability, linear from p0 to pext. Price and cost grow at constant rates; available labour declines at rate gL and required labour falls with adoption. Risk at t recomputes (11) with Pclimate + 5(p(t) − p0) and CA with IR(t). The 0.5 coefficients are assumptions.
Precio, costo, mano de obra y sostenibilidadPrice, cost, labour and sustainability
ΔA = A(t) − a0, y es 0 cuando no hay actividades innovadas. Si el usuario capturó ingreso I0 y costo C0 por hectárea (Bloque 8), el ingreso neto es I0 (Pr · Y⁄100)⁄100 − C0 C⁄100.
ΔA = A(t) − a0, and it is 0 when there are no innovated activities. If the user entered income I0 and cost C0 per hectare (Block 8), net income is I0 (Pr · Y⁄100)⁄100 − C0 C⁄100.
Parámetros por omisiónDefault parameters
| Parámetro | Parameter | Deseable | Desirable | Tendencial | Trend | No deseado | Undesired | Base | Basis |
|---|---|---|---|---|---|---|---|---|---|
| gP precio real (%/año) | gP real price (%/yr) | +1 | 0 | −1.5 | supuesto | assumption | |||
| gC costo real (%/año) | gC real cost (%/yr) | +1 | +2 | +4 | supuesto | assumption | |||
| ΔT (°C por década) | ΔT (°C per decade) | 0.1 | 0.2 | 0.3 | IPCC (2018) | ||||
| pext año extremo a 10 años | pext extreme year by year 10 | 0.12 | 0.18 | 0.25 | supuesto | assumption | |||
| gL mano de obra (%/año) | gL labour (%/yr) | −0.5 | −1.5 | −3 | supuesto | assumption | |||
| Amáx adopción máxima | Amax maximum adoption | 0.9 | 0.5 | 0.15 | supuesto | assumption | |||
| t50 año de media adopción | t50 half-adoption year | 4 | 6 | 9 | Rogers (2003) |
Comunes a los tres escenarios: p0 = 0.10; Lext = 30 % de pérdida en un año extremo; efecto de la adopción en el rendimiento eY = 10 %, en el costo sC = 5 % y en la mano de obra requerida rL = 15 %. Todos son supuestos editables en la tabla de supuestos del Bloque 12.
Common to the three scenarios: p0 = 0.10; Lext = 30 % loss in an extreme year; adoption effect on yield eY = 10 %, on cost sC = 5 % and on required labour rL = 15 %. All are editable assumptions in the Block 12 assumptions table.
| Calpan, t = 10 (hoy = 100) | Calpan, t = 10 (today = 100) | Deseable | Desirable | Tendencial | Trend | No deseado | Undesired |
|---|---|---|---|---|---|---|---|
| Rendimiento | Yield | 96 | 90 | 82 | |||
| Ingreso bruto ÷ costo | Gross income ÷ cost | 96 | 74 | 48 | |||
| Mano de obra disponible | Available labour | 95 | 86 | 74 | |||
| Índice de riesgo (0–100) | Risk index (0–100) | 28 | 28 | 29 |
Territorio y mapa
Territory and map
Estados, municipios y localidades provienen del Catálogo Único de Claves Geoestadísticas y del Censo de Población y Vivienda 2020 del INEGI, con población, altitud y coordenadas. Las regiones son las del Banco de México (Norte, Centro norte, Centro y Sur). Los contornos son de Natural Earth (dominio público). Para ubicar cada localidad en el mapa se ajustó una proyección:
States, municipalities and localities come from INEGI’s Geostatistical Catalogue and 2020 Population and Housing Census, with population, altitude and coordinates. Regions are Banco de México’s (North, North-central, Central and South). Outlines are from Natural Earth (public domain). To place each locality on the map a projection was fitted:
El 95.4 % de las localidades cae dentro del contorno de su estado; el punto es aproximado.
95.4 % of localities fall inside their state outline; the point is approximate.
Validación
Validation
Reproducción del caso publicadoReproduction of the published case
La app comprueba que el caso cargado coincide con el artículo: 38 pasos y 5 reglas, 38 hojas en el dendrograma de la Figura 3, 100 participantes del Cuadro 1 y 11 valores publicados del índice de intensidad de conocimiento.
The app checks that the loaded case matches the paper: 38 steps and 5 rules, 38 leaves in the Figure 3 dendrogram, 100 Table 1 participants and 11 published knowledge-intensity values.
Motor de redes frente a NetworkXNetwork engine against NetworkX
| Prueba | Test | Diferencia máxima | Maximum difference |
|---|---|---|---|
| Red de Krackhardt (1990): intermediación, cercanía, agrupamiento, vector propio, camino medio | Krackhardt (1990) kite: betweenness, closeness, clustering, eigenvector, mean path | < 0.00005 | |
| Red del maíz sin PM (60 nodos, 158 vínculos): intermediación ponderada | Maize network without PM (60 nodes, 158 links): weighted betweenness | 0 | |
| Q de la partición (0.4496), agrupamiento medio (0.5252), camino medio (2.9017) | Partition Q (0.4496), mean clustering (0.5252), mean path (2.9017) | 0 |
Como referencia, el Louvain aleatorizado de NetworkX (semilla 1) encuentra una partición de 5 comunidades con Q = 0.4422; la de Ratio Milpa (7 comunidades, Q = 0.4496) tiene mayor modularidad.
For reference, NetworkX’s randomised Louvain (seed 1) finds a 5-community partition with Q = 0.4422; Ratio Milpa’s (7 communities, Q = 0.4496) has higher modularity.
Cladograma frente a SciPyCladogram against SciPy
Las alturas de unión y la correlación cofenética de los tres subconjuntos coinciden con scipy.cluster.hierarchy.linkage(method='single') y cophenet (SciPy 1.18) sobre distancias de NetworkX con diferencias menores que 10⁻¹⁴ (tabla del capítulo 3).
Merge heights and cophenetic correlation for the three subsets match scipy.cluster.hierarchy.linkage(method='single') and cophenet (SciPy 1.18) on NetworkX distances with differences below 10⁻¹⁴ (chapter 3 table).
Reproducibilidad y exportación
Reproducibility and export
Código y pruebasCode and tests
git clone https://github.com/hectortecumshe-ai/RatioMilpa cd RatioMilpa python armar.py # arma index.html desde src/ python pruebas/verificar_red.py # red frente a NetworkX python pruebas/verificar_clado.py # cladograma frente a SciPy
Datos para análisisData for analysis
Desde el Bloque 13 se exportan en CSV las actividades (con sus cinco impactos e IS), los nodos (valor, participación, vecinos, grado ponderado, intermediación, cercanía, vector propio, agrupamiento, comunidad), los vínculos (peso y número de actividades), el calendario, los ODS y el cladograma (uniones y vecinos más cercanos). Guardar proyecto produce un JSON con el estado completo, que permite reproducir cualquier resultado.
Block 13 exports to CSV the activities (with their five impacts and IS), nodes (value, participation, neighbours, weighted degree, betweenness, closeness, eigenvector, clustering, community), links (weight and number of activities), calendar, SDGs and cladogram (merges and nearest neighbours). Save project produces a JSON with the full state, which reproduces any result.
Enlaces directosDeep links
La dirección acepta #bloque/vista/idioma, por ejemplo …/RatioMilpa/#tablero/cien/en. Las capturas de este instructivo se tomaron así, de forma automática.
The address accepts #block/view/language, for example …/RatioMilpa/#tablero/cien/en. This guide’s screenshots were taken this way, automatically.
Caso publicado y datos del usuarioPublished case and user data
Desde la versión 0.5.0 la app arranca en blanco. El caso de Calpan se carga solo en un modo ejemplo que no se guarda (estadoCalpan(): maíz, milpa, Calpan, siembra el día 79 y las 85 actividades respondidas «sí»); con él la red completa reproduce los valores de este instructivo (61 nodos, 209 vínculos; sin PM, Q = 0.4496). En un proyecto del usuario, los lazos estructurales documentados en Calpan entran solo si tocan un elemento de sus actividades, y las ventanas de fechas de la Figura 4 no se usan como fechas propias. Los valores sugeridos de regeneración y riesgo cuentan en el índice, marcado como provisional, hasta que el usuario los confirma. Los archivos de proyecto llevan formato: 2; los anteriores se convierten al abrirlos.
Since version 0.5.0 the app starts blank. The Calpan case is loaded only in an example mode that is never saved (estadoCalpan(): maize, milpa, Calpan, sowing on day 79 and all 85 activities answered “yes”); with it the full network reproduces the values in this guide (61 nodes, 209 links; without PM, Q = 0.4496). In a user project, the structural ties documented in Calpan enter only if they touch an element of the user’s activities, and Figure 4 date windows are not used as the user’s dates. Suggested regeneration and risk values count in the index, flagged as provisional, until the user confirms them. Project files carry formato: 2; older ones are converted on opening.
Alcances y límitesScope and limits
- El único caso con Stack documentado es el maíz criollo de Calpan; los demás cultivos se documentan con datos del usuario.
- The only case with a documented Stack is Calpan landrace maize; other crops are documented with user data.
- Los vínculos actividad–elemento, los perfiles de impacto, la relación con los ODS, las reglas de regeneración y los factores de riesgo son lecturas de Ratio Milpa, marcadas y editables.
- Activity–element links, impact profiles, the SDG mapping, regeneration rules and risk factors are Ratio Milpa readings, flagged and editable.
- Los escenarios no son pronósticos; su valor está en comparar supuestos explícitos.
- Scenarios are not forecasts; their value lies in comparing explicit assumptions.
- La producción agrícola municipal del SIAP se integrará cuando su servicio de datos abiertos esté disponible.
- SIAP municipal crop production will be added when its open-data service is available.
Ejemplo resuelto: Calpan a mano
Worked example: Calpan by hand
Cada número de este capítulo puede rehacerse con calculadora y coincide con lo que muestra la app 0.4.0.
Every number in this chapter can be redone with a calculator and matches what app 0.4.0 shows.
RegeneraciónRegeneration
Clase: convencional (0.25–0.49). Subir «menos síntesis» de 0 a 2 y «labranza» de 1 a 2 llevaría el IR a 18/32 = 0.56, en transición.
Class: conventional (0.25–0.49). Raising “fewer synthetics” from 0 to 2 and “tillage” from 1 to 2 would take IR to 18/32 = 0.56, in transition.
Capacidad adaptativa y riesgo de sequíaAdaptive capacity and drought risk
Nivel medio (5–9). Con las 19 amenazas activas, Σr ⁄ (25 × 19) = 0.273: índice 27. Un control parcial (c = 2) sobre la sequía bajaría su r a 8.64 × 0.70 = 6.05.
Medium level (5–9). With the 19 hazards active, Σr ⁄ (25 × 19) = 0.273: index 27. Partial control (c = 2) of drought would lower its r to 8.64 × 0.70 = 6.05.
Índice general de SarandónSarandón general index
La dimensión ecológica (2.05) es la que está más cerca del umbral: es la palanca principal, y coincide con el bajo puntaje de «menos síntesis» del IR.
The ecological dimension (2.05) is the closest to the threshold: it is the main lever, and it matches the low “fewer synthetics” score in IR.
Escenario tendencial a 10 añosTrend scenario at 10 years
En el caso base de Calpan no hay actividades innovadas activas, así que a0 = 0 y ΔA = 0 en todo el horizonte.
In the Calpan base case there are no active innovated activities, so a0 = 0 and ΔA = 0 throughout.
| Término | Term | Cálculo | Computation | Valor | Value |
|---|---|---|---|---|---|
| Clima | Climate | 1 − 0.074 × 0.2 × 10⁄10 | 0.9852 | ||
| Pérdida efectiva | Effective loss | 30 × (1 − 0.5 × 0.469) | 22.97 % | ||
| Año extremo | Extreme year | (1 − 0.18 × 0.2297) ⁄ (1 − 0.10 × 0.2297) | 0.9812 | ||
| Mano de obra disponible | Available labour | (1 − 0.015)10 | 0.8597 | ||
| Factor por déficit | Shortfall factor | 1 − 0.5 × (1 − 0.8597) | 0.9299 | ||
| Rendimiento Y | Yield Y | 100 × 0.9852 × 0.9812 × 0.9299 | 89.9 | ||
| Costo C | Cost C | 100 × 1.0210 | 121.9 | ||
| Ingreso ÷ costo | Income ÷ cost | 100 × (100 × 0.899) ⁄ 121.9 | 73.7 |
La app reporta 90 y 74, que son estos valores redondeados. El riesgo a 10 años es 28: la probabilidad climática sube 5 × (0.18 − 0.10) = 0.4 puntos, pero la capacidad adaptativa no cambia porque no hay adopción.
The app reports 90 and 74, these values rounded. Risk at 10 years is 28: climate likelihood rises 5 × (0.18 − 0.10) = 0.4 points, but adaptive capacity does not change because there is no adoption.
Huella de carbono (ejemplo ilustrativo)Carbon footprint (illustrative example)
Valores hipotéticos, no de Calpan: 60 L de diésel y 100 kg de N por hectárea, todo como urea (217 kg; 46 % de N).
Hypothetical values, not from Calpan: 60 L of diesel and 100 kg of N per hectare, all as urea (217 kg; 46 % N).
0.01374 = 0.010 + 0.11 × 0.010 + 0.24 × 0.011. Con 3 t de grano por hectárea serían 303 kg CO₂e por tonelada. El N₂O del fertilizante aporta casi dos tercios.
0.01374 = 0.010 + 0.11 × 0.010 + 0.24 × 0.011. With 3 t of grain per hectare this is 303 kg CO₂e per tonne. Fertiliser N₂O contributes almost two thirds.
Agregación del atlas nacional
National atlas aggregation
Resumen de cada localidadSummary of each locality
De cada archivo .milpa.json el atlas calcula, con las mismas funciones de la app, un resumen: ubicación (INEGI), maíz (tipo y raza), sistema, respuestas sí / no a las 85 actividades, actividades innovadas, IS, IR y riesgo (marcados como provisionales si la localidad no confirmó todas sus perillas), capacidad adaptativa y los vínculos de su red sin el nodo omnipresente. Solo se guarda el resumen, en el navegador de quien coordina.
From each .milpa.json file the atlas computes, with the app’s own functions, a summary: location (INEGI), maize (type and race), system, yes / no answers to the 85 activities, innovated activities, IS, IR and risk (flagged provisional if the locality did not confirm all its knobs), adaptive capacity and its network links without the omnipresent node. Only the summary is stored, in the coordinator’s browser.
Frecuencia de cada prácticaFrequency of each practice
ℓ recorre las localidades; las no respondidas quedan fuera del denominador, de modo que la ausencia de respuesta no se confunde con «no». La misma razón se calcula dentro de cada región de Banxico. El atlas muestra junto a cada valor el número de localidades que respondieron.
ℓ runs over localities; unanswered items stay out of the denominator, so a missing answer is not mistaken for “no”. The same ratio is computed within each Banxico region. The atlas shows next to each value how many localities answered.
Red nacionalNational network
L: localidades con red; nij: localidades cuya red contiene el vínculo i–j; ni: localidades donde aparece el elemento i. Sobre esta red se calculan las mismas estadísticas del capítulo 2. Los índices regionales son medias simples de los valores de cada localidad.
L: localities with a network; nij: localities whose network contains link i–j; ni: localities where element i appears. The chapter 2 statistics are computed on this network. Regional indices are simple means of each locality’s values.
Prueba de la agregaciónAggregation test
La app agrega dos copias del caso publicado de Calpan. Si la agregación es correcta, las 85 prácticas valen 100 % con 2 respuestas y la red nacional coincide con la del caso (60 nodos y 158 vínculos), con todos sus pesos iguales a 1. La prueba se ejecuta en el bloque de Validación y los tres resultados son correctos.
The app combines two copies of the published Calpan case. If aggregation is correct, all 85 practices are 100 % with 2 answers and the national network matches the case network (60 nodes and 158 links), with all weights equal to 1. The test runs in the Validation block and all three checks pass.
Glosario técnico
Technical glossary
Referencias, cómo citar y página legal
References, how to cite and legal page
- Blondel VD, Guillaume J-L, Lambiotte R, Lefebvre E. 2008. Fast unfolding of communities in large networks. Journal of Statistical Mechanics P10008.
- Brandes U. 2001. A faster algorithm for betweenness centrality. Journal of Mathematical Sociology 25(2): 163–177.
- CONABIO. 2020. Razas de maíz de México. Comisión Nacional para el Conocimiento y Uso de la Biodiversidad.
- Díaz-José O, Mojica-Zárate HT, Díaz-José J, Vilaboa-Arróniz J. 2026. El conocimiento agrícola local: el stack del maíz criollo en Calpan, Puebla. Agricultura, Sociedad y Desarrollo 23(3). https://doi.org/10.22231/asyd.v23i3.1822
- Forster P, et al. 2021. The Earth’s energy budget, climate feedbacks, and climate sensitivity. En: Climate Change 2021: The Physical Science Basis. Cambridge University Press.
- Freeman LC. 1978. Centrality in social networks: conceptual clarification. Social Networks 1(3): 215–239.
- Godet M, Durance P. 2011. La prospectiva estratégica para las empresas y los territorios. Dunod/UNESCO.
- Hagberg AA, Schult DA, Swart PJ. 2008. Exploring network structure, dynamics, and function using NetworkX. Proceedings of the 7th Python in Science Conference: 11–15.
- Holland JH. 1995. Hidden order: how adaptation builds complexity. Addison-Wesley.
- IEC. 2019. IEC 31010:2019 Risk management — Risk assessment techniques.
- INEGI. 2020. Censo de Población y Vivienda 2020; Catálogo Único de Claves Geoestadísticas.
- IPCC. 2006, 2019. Guidelines for National Greenhouse Gas Inventories, vol. 4, y su refinamiento de 2019.
- IPCC. 2014. Summary for Policymakers. En: Climate Change 2014: Impacts, Adaptation, and Vulnerability. Cambridge University Press.
- IPCC. 2018. Summary for Policymakers. En: Global Warming of 1.5 °C.
- ISO. 2018. ISO 31000:2018 Risk management — Guidelines.
- Krackhardt D. 1990. Assessing the political landscape: structure, cognition, and power in organizations. Administrative Science Quarterly 35(2): 342–369.
- Mojica Zárate HT. 2017. Modelo y procedimiento para la gestión estratégica integrada de los recursos naturales en territorios áridos con orientación agroproductiva. Tesis doctoral, Universidad Central «Marta Abreu» de Las Villas.
- Newman MEJ. 2006. Modularity and community structure in networks. PNAS 103(23): 8577–8582.
- Newton P, Civita N, Frankel-Goldwater L, Bartel K, Johns C. 2020. What is regenerative agriculture? Frontiers in Sustainable Food Systems 4: 577723.
- Rogers EM. 2003. Diffusion of innovations, 5.ª ed. Free Press.
- Sarandón SJ. 2002. El desarrollo y uso de indicadores para evaluar la sustentabilidad de los agroecosistemas. En: Sarandón SJ (ed.), Agroecología: el camino hacia una agricultura sustentable. Ediciones Científicas Americanas: 393–414.
- Schreefel L, Schulte RPO, de Boer IJM, Schrijver AP, van Zanten HHE. 2020. Regenerative agriculture – the soil is the base. Global Food Security 26: 100404.
- Sneath PHA. 1957. The application of computers to taxonomy. Journal of General Microbiology 17(1): 201–226.
- Sokal RR, Rohlf FJ. 1962. The comparison of dendrograms by objective methods. Taxon 11(2): 33–40.
- Sokal RR, Sneath PHA. 1963. Principles of numerical taxonomy. W. H. Freeman.
- Virtanen P, et al. 2020. SciPy 1.0: fundamental algorithms for scientific computing in Python. Nature Methods 17: 261–272.
- Wasserman S, Faust K. 1994. Social network analysis: methods and applications. Cambridge University Press.
- Watts DJ, Strogatz SH. 1998. Collective dynamics of ‘small-world’ networks. Nature 393: 440–442.
- Zhao C, et al. 2017. Temperature increase reduces global yields of major crops in four independent estimates. PNAS 114(35): 9326–9331.
Cómo citar el softwareHow to cite the software
Mojica-Zárate, H. T., y Díaz-José, O. (2026). Ratio Milpa: el conocimiento local del maíz en México como sistema complejo adaptativo (Versión 0.1.0) [Software]. Zenodo. https://doi.org/10.5281/zenodo.23432656
Mojica-Zárate, H. T., & Díaz-José, O. (2026). Ratio Milpa: local maize knowledge in Mexico as a complex adaptive system (Version 0.1.0) [Software]. Zenodo. https://doi.org/10.5281/zenodo.23432656
Aplicación: hectortecumshe-ai.github.io/RatioMilpa
Código: github.com/hectortecumshe-ai/RatioMilpa
App: hectortecumshe-ai.github.io/RatioMilpa
Code: github.com/hectortecumshe-ai/RatioMilpa
Ratio Milpa · Instructivo del Científico · 1.ª edición, octubre de 2026 · describe Ratio Milpa 0.1.0.
Ratio Milpa · Scientist Guide · 1st edition, October 2026 · covers Ratio Milpa 0.1.0.
Héctor Tecumshé Mojica-Zárate · Oscar Díaz-José
Centro Académico Regional Sede Huatusco, Universidad Autónoma Chapingo (Héctor Tecumshé Mojica-Zárate, Óscar Díaz-José, Luis Ángel Barrera-Guzmán) · Benemérita Universidad Autónoma de Puebla (Guadalupe Velázquez-Vázquez), México. ORCID del autor de correspondencia: 0000-0002-9067-3983.
Huatusco Regional Academic Centre, Chapingo Autonomous University (Héctor Tecumshé Mojica-Zárate, Óscar Díaz-José, Luis Ángel Barrera-Guzmán) · Meritorious Autonomous University of Puebla (Guadalupe Velázquez-Vázquez), Mexico. Corresponding author ORCID: 0000-0002-9067-3983.
ISBN: en trámite ante el INDAUTORISBN: application in progress (INDAUTOR, Mexico)
DOI de este instructivo: 10.5281/zenodo.23433192 · DOI de la aplicación: 10.5281/zenodo.23432656DOI of this guide: 10.5281/zenodo.23433192 · DOI of the app: 10.5281/zenodo.23432656
Texto y figuras bajo licencia Creative Commons Atribución 4.0 Internacional (CC BY 4.0); la aplicación, bajo licencia MIT. Puedes copiar, adaptar y compartir este instructivo citando a sus autores. Las capturas de pantalla son de la aplicación Ratio Milpa 0.1.0. Composición tipográfica en Palatino Linotype.
Text and figures under the Creative Commons Attribution 4.0 International licence (CC BY 4.0); the app under the MIT licence. You may copy, adapt and share this guide crediting its authors. Screenshots are from the Ratio Milpa 0.1.0 app. Typeset in Palatino Linotype.



