Full documentation in the repository: docs/METHODOLOGY_V2.md, docs/ODD_D_PROTOCOL.md, docs/PARAMETER_DICTIONARY.md, docs/EXPERIMENT_PROTOCOL.md, docs/SCIENTIFIC_CHANGELOG.md.
Purpose and research questions
AgriNudgex is an agent-based simulation environment for comparing digital incentive mechanisms that encourage a sustainable agricultural practice. Model v2.0.0 revises v1.0.0 following a methodological audit (fair comparison at equal expenditure, sustained participation, parameter provenance, global sensitivity analysis). The research questions are unchanged:
- RQ1. How do alternative digital incentive mechanisms influence the simulated adoption (participation) of sustainable agricultural practices?
- RQ2. How do incentive mechanisms differ in cost-effectiveness and reward distribution equity?
- RQ3. How sensitive are their comparative outcomes to farmer characteristics, budget constraints, and behavioural assumptions?
Simulated practice: inter-row ground cover in olive orchards
- Crop
- Olive orchards (Olea europaea), Mediterranean rain-fed conditions
- Practice
- Maintained inter-row ground cover (sown cover crop or managed spontaneous vegetation) during the erosion-risk season, instead of bare soil kept by tillage or herbicide
- Period
- One agricultural season (one year)
- Decision
- Whether to maintain inter-row ground cover in the coming season (binary, taken once per season)
- Performance indicator
- Verified inter-row ground-cover fraction during the erosion-risk season (0–1); a single observable indicator, not an aggregate sustainability score
- Reversibility
- Reversible-seasonal: participation can start or stop every season; cover quality builds up over consecutive seasons and degrades towards the conventional level after stopping
- Verification
- Assumed remote sensing or field inspection; participation verified without error, ground-cover fraction with Gaussian measurement error
Simulated participation is not observed adoption. The model produces seasonal participation decisions of synthetic agents. "Adoption" in the research questions is operationalised as participation (per season) and sustained participation (≥ k consecutive seasons); no statement about real olive growers is implied. The practice description is a crop-independent interface (PracticeScenario): other practices can be described without changing the algorithms.
Decision model
New in v2: the persistence term η·D(i,t−1) (habit or switching cost), forward-looking expected rewards over H seasons, a parameterised initial payout expectation π(0), a documented initial state for prior participants (k0), heterogeneity scale h and cost–baseline correlation r. Setting η = 0, H = 1, π(0) = 1, k0 = 0 reproduces the v1 decision rule exactly (verified by a metamorphic test) and is run as sensitivity case E2b.
Mechanisms
S0 (control), S1 (fixed), S2 (performance-based, gain over own baseline), S3 (tiered, absolute thresholds) are unchanged. S3R is a separately named v2 variant whose tiers apply to the gain over the farmer's own baseline; it isolates the effect of absolute thresholds paying for baseline ground cover. A common reward scale λ multiplies all reward amounts. See Incentive Mechanisms for formulas and the first-season vs steady-state parity profile.
Experimental protocol
- E2 (primary, RQ1/RQ2): reward-scale grid λ ∈ {0.25, …, 3}, uncapped budget, N = 250, 100 repetitions. Cost–participation frontiers; mechanisms compared at equal actual expenditure of 100–400 MU per farmer (primary 200 MU) by per-repetition linear interpolation, without extrapolation.
- E2b: as E2 with the memoryless, myopic v1 decision rule (same seed, common random numbers).
- E1: nominal budget caps (200/400/800 MU per farmer) at λ = 1 — shows that equal caps are not equal expenditure.
- E3 (RQ3): Latin Hypercube design, 64 points × 11 factors, 20 repetitions per point; ranking stability, PRCC, conditional analysis.
- E4: N ∈ {100, 250, 500}: numerical precision only (agents do not interact; budgets are per farmer).
Endpoints and statistics
Primary endpoints (pre-specified): P1 horizon-mean participation and P2 sustained participation (share with a spell ≥ k = 4 seasons), each as paired difference to the control at matched expenditure (primary target 200 MU per farmer). Primary cost-effectiveness estimator: pooled ratio Σ expenditure / Σ net additional participant-seasons with bootstrap interval; the per-run mean of ratios is secondary.
| Metric | Role | Definition | Undefined when |
|---|---|---|---|
| Horizon-mean participation (P1) share of farmers (0–1) | Primary | Mean over seasons 1..T of the share of farmers participating. | Never. |
| Sustained participation (P2) share of farmers (0–1) | Primary | Share of farmers with at least one spell of ≥ k consecutive participating seasons (k = 4 by default). | Never. |
| Δ horizon-mean participation vs control percentage points | Primary | P1(m) − P1(S0), paired within repetition (common random numbers). | For S0. |
| Δ sustained participation vs control percentage points | Primary | P2(m) − P2(S0), paired within repetition. | For S0. |
| Initial participation (season 1) share of farmers (0–1) | Secondary | Share participating in the first simulated season. | Never. |
| Final-season participation share of farmers (0–1) | Secondary | Share participating in season T (single-season snapshot). | Never. |
| Ever participated share of farmers (0–1) | Secondary | Share of farmers participating in at least one season. | Never. |
| Continuation probability probability (0–1) | Secondary | Σ_{t≥2} D(t−1)D(t) / Σ_{t≥2} D(t−1): probability of participating again after a participating season. | No participation in seasons 1..T−1. |
| Dis-adoption rate probability (0–1) | Secondary | 1 − continuation probability: probability of stopping after a participating season. | No participation in seasons 1..T−1. |
| Mean consecutive participation duration seasons | Secondary | Mean length of maximal runs of consecutive participating seasons within 1..T (right-censored at T). | No participation. |
| Participated in every season share of farmers (0–1) | Secondary | Share of farmers participating in all T seasons. | Never. |
| Re-adopters share of farmers (0–1) | Secondary | Share of farmers who start a new participation spell after an earlier spell ended within the horizon. | Never. |
| Re-adoption frequency events per farmer | Secondary | Number of re-adoption events divided by N. | Never. |
| Actual expenditure per farmer MU per farmer over the horizon | Secondary | Rewards actually paid ÷ N. Distinct from the nominal budget cap. | Never. |
| Total expenditure MU | Descriptive | Σ rewards actually paid after budget rationing. | Never. |
| Budget utilisation share of nominal budget (0–1) | Descriptive | Actual expenditure ÷ nominal budget cap. | Uncapped budget, zero budget, or S0. |
| Cost per additional participant-season (per-run ratio) MU per participant-season | Secondary | Expenditure ÷ net additional participant-seasons in that repetition. Secondary estimator; the primary estimator is the pooled ratio. | Net additional participant-seasons ≤ 0, and S0. |
| Net additional participant-seasons farmer-seasons | Secondary | Σ D(m) − Σ D(S0) over farmers and seasons, paired. = gross additional − displaced. | For S0. |
| Gross additional participant-seasons farmer-seasons | Descriptive | Farmer-seasons with D(m) = 1 and D(S0) = 0 in the paired control. | For S0. |
| Displaced participant-seasons farmer-seasons | Descriptive | Farmer-seasons with D(m) = 0 and D(S0) = 1 (path divergence under persistence). | For S0. |
| Deadweight share of payments share of expenditure (0–1) | Secondary | Share of payments made in farmer-seasons in which the same farmer also participates in the paired control (synthetic counterfactual). | Nothing paid, or S0. |
| Deadweight payments MU | Descriptive | Payments in farmer-seasons that would also be participating under the paired control. | For S0. |
| Payment Gini (all farmers) index (0–1) | Secondary | Gini of cumulative payments over all farmers, zeros included. | Nothing paid. |
| Payment Gini (recipients) index (0–1) | Secondary | Gini of cumulative payments among farmers paid at least once. | Nobody paid. |
| Share of farmers paid share of farmers (0–1) | Secondary | Share of farmers receiving a positive payment at least once. | Never. |
| Net financial position of participants MU per farmer over the horizon | Secondary | Mean over farmers who ever participated of Σ(payments − practice costs incurred). Excludes non-monetary perceived benefits. | Nobody participated. |
| Participants with non-negative net financial position share of participants (0–1) | Secondary | Share of ever-participants whose payments cover their practice costs. | Nobody participated. |
| Payments to farmers already above the lowest S3 threshold at baseline share of expenditure (0–1) | Secondary | Share of payments received by farmers whose baseline ground cover q0 already meets the lowest absolute S3 threshold (diagnoses rewards for baseline levels). | Nothing paid. |
| Mean ground-cover gain ground-cover fraction | Secondary | Mean over farmers of q(i,T) − q0_i (true ground cover). | Never. |
Intervals are 95% percentile-bootstrap intervals over independent Monte Carlo repetitions (seeded, reproducible); they respect the bounds of shares and quantify simulation noise only. Results are reported as effect sizes with intervals; no significance labels are used, and expenditure, budget utilisation and inequality indices are never used to declare a "leading" mechanism. Undefined values are never replaced by zero.
Parameter dictionary
No parameter is empirically calibrated. "Hypothetical" values are modelling assumptions whose influence is examined in the sensitivity design (E3) where a range is given.
| Symbol | Name & definition | Unit | Default | Sensitivity range | Evidence |
|---|---|---|---|---|---|
| α_i | Baseline participation propensity Intrinsic tendency to maintain ground cover, absorbing unobserved preferences and constraints. Influence: Higher μ raises participation under every mechanism and the control; reduces additionality (more deadweight). |
logit (dimensionless) | TN(μ=−2.0, σ=1.0; [−6, 2]) | μ ∈ [−3, −1] | Hypothetical |
| B_i | Perceived benefit of ground cover Farmer's perceived agronomic benefit (e.g. erosion control, soil moisture, trafficability), normalised. Influence: Raises participation; interacts with β_B. |
index [0, 1] | TN(0.5, 0.15; [0, 1]) | μ ∈ [0.3, 0.7] | Hypothetical |
| C_i | Additional seasonal cost of maintaining cover Extra cost per season (seed, mowing, water competition, management). Influence: Higher costs lower participation and raise the reward needed for additional participation. |
MU per season | TN(80, 25; [10, 200]) | μ ∈ [40, 120] | Hypothetical |
| s_i | Individual incentive sensitivity Multiplier of β_R for farmer i. Influence: Spreads the response to rewards across farmers; affects payment concentration. |
dimensionless | TN(1.0, 0.25; [0.1, 2.0]) | σ scaled by h | Hypothetical |
| q0_i | Baseline inter-row ground cover Ground-cover fraction under conventional (tillage/herbicide) management. Influence: Determines who reaches absolute S3 thresholds without improvement (baseline qualifiers). |
fraction [0, 1] | TN(0.35, 0.10; [0.05, 0.80]) | correlation with C via r | Hypothetical |
| g_i | Attainable ground-cover gain qmax_i = min(1, q0_i + g_i): cover reachable under sustained participation. Influence: Larger gains raise S2/S3/S3R rewards for sustained participants. |
fraction | TN(0.30, 0.10; [0.05, 0.60]) | — | Hypothetical |
| D(i,0) | Initial participation Participation status before season 1. Influence: With η > 0, initial participants are more likely to continue; they receive non-additional payments. |
binary | Bernoulli(0.10) | — | Hypothetical |
| β_B | Benefit coefficient Utility per unit of perceived benefit. Influence: Scales the influence of perceived benefits. |
utility per index unit | 2.0 | via B̄ range | Hypothetical |
| β_C | Cost coefficient Utility per unit of normalised cost C/M. Influence: Scales cost deterrence; β_R/β_C is the money-equivalence of rewards. |
utility per M | 1.5 | via C̄ range | Hypothetical |
| β_R | Reward coefficient (incentive sensitivity) Utility per unit of normalised expected reward R_exp/M. Influence: Main driver of the response to every incentive. |
utility per M | 1.5 (= β_C) | [0.5, 3.0] | Hypothetical |
| ρ | Experience effect Perceived benefit increase after participating in the previous season. Influence: Weak persistence channel. |
index units | 0.10 | — | Hypothetical |
| η | Persistence strength (habit / switching cost) Utility bonus for continuing last season's practice; equivalently a switching cost of η/β_C·M MU. Influence: Raises continuation and sustained participation; favours mechanisms that sustain participation over time. |
utility units | 2.0 | [0, 4] | Hypothetical |
| H | Expectation horizon Seasons over which a farmer anticipates rewards along a path of continued participation. Influence: Larger H raises the anticipated value of accumulation-based rewards (S2, S3, S3R) relative to S1. |
seasons (integer) | 3 | {1, …, 5} | Hypothetical |
| φ | Expectation discount Weight per season on anticipated future rewards within H. Influence: Lower φ approaches myopia. |
fraction | 0.9 | — | Hypothetical |
| π0 | Initial payout expectation Payout ratio expected before any payment is observed. Influence: Affects season-1 participation and early over-subscription under binding caps. |
fraction | 1.0 | [0.5, 1.0] | Hypothetical |
| k0 | Prior practice of initial participants Improvement steps applied to initial participants' starting ground cover. Influence: Raises payments to initial participants under S2/S3/S3R (deadweight). |
seasons | 1 | — | Hypothetical |
| M | Monetary reference Scale used to normalise costs and rewards in utility. Influence: Changes the meaning of β_C and β_R only. |
MU | 100 | — | Normalisation |
| h | Heterogeneity scale Multiplier of the standard deviations of α, B, C and s. Influence: More heterogeneity widens participation and payment dispersion. |
dimensionless | 1.0 | [0.5, 1.5] | Hypothetical |
| r | Cost–baseline correlation Gaussian-copula correlation between C_i and q0_i. Influence: Changes who qualifies for absolute S3 tiers and the cost profile of participants. |
correlation | 0 | [−0.5, 0.5] | Hypothetical |
| γ | Cover establishment rate Share of the gap to qmax closed per participating season. Influence: Faster establishment raises early S2/S3/S3R rewards. |
fraction per season | 0.35 | [0.15, 0.55] | Hypothetical |
| δ | Cover degradation rate Share of the gain above q0 lost per non-participating season. Influence: Higher δ penalises interrupted participation under accumulation-based mechanisms. |
fraction per season | 0.25 | [0.10, 0.50] | Hypothetical |
| σ_v | Verification error SD of the measurement error of verified ground cover. Influence: Noise matters near S3/S3R thresholds. |
fraction (SD) | 0.02 | — | Hypothetical |
| F | S1 fixed reward Flat payment per verified participating season. Influence: Level of S1; varied jointly with others through λ. |
MU per season | 100 (= M) | — | DesignChoice |
| k, cap | S2 rate and cap Payment per unit of verified ground-cover gain over q0; per-season cap. Influence: Level of S2. |
MU per cover unit; MU | 333.33; 200 | — | DesignChoice |
| θ_j → R_j | S3 absolute tiers Reward of the highest absolute ground-cover threshold reached. Influence: Pays baseline qualifiers (farmers with q0 ≥ 0.45) without improvement. |
fraction → MU | 0.45→50, 0.55→100, 0.65→150 | — | DesignChoice |
| θ'_j → R'_j | S3R relative tiers Reward of the highest threshold of verified gain q̂ − q0 reached. Influence: Pays only improvement; removes baseline windfalls. |
fraction → MU | 0.10→50, 0.20→100, 0.30→150 | — | DesignChoice |
| λ | Common reward scale Multiplier of all reward amounts (thresholds unchanged). Influence: Determines the expenditure range over which matched comparisons are possible. |
dimensionless | {0.25, 0.5, 0.75, 1, 1.25, 1.5, 2, 2.5, 3} | {0.5, 1, 1.5, 2, 3} in E3 | DesignChoice |
| T | Horizon Number of seasons. Influence: Longer horizons favour accumulation-based rewards. |
seasons | 12 | — | DesignChoice |
| N | Population size Number of synthetic farmers. Influence: Precision only. |
farmers | 250 (E2), 200 (E3) | precision check only (E4) | DesignChoice |
| R | Repetitions Independent Monte Carlo repetitions. Influence: Precision only. |
count | 100 (E1, E2, E4), 20 per point (E3) | — | DesignChoice |
| Budget | Nominal budget cap Maximum expenditure per farmer over the horizon (E1); uncapped in E2/E3. Influence: Binding caps ration payments pro rata. |
MU per farmer | Low 200 / Medium 400 / High 800; uncapped | — | DesignChoice |
| X | Expenditure targets for matching Actual expenditure per farmer at which mechanisms are compared. Influence: Outcome differences are reported per target. |
MU per farmer over horizon | 100, 200, 300, 400 (primary 200) | — | DesignChoice |
| k_s | Sustained-participation threshold Minimum consecutive participating seasons counted as sustained. Influence: Defines endpoint P2. |
seasons | 4 | — | DesignChoice |
| K, seed_LHS | Latin Hypercube design Number of design points and design seed. Influence: Resolution of RQ3 analysis. |
points; integer | 64; 20270101 | — | DesignChoice |
| B_boot | Bootstrap resamples Resamples for percentile intervals. Influence: Interval precision only. |
count | 1000 (500 within E3 points) | — | DesignChoice |
Verification, plausibility checks and empirical validation
- Verification (does the code implement the specification?): automated tests, including analytical checks, metamorphic relations (v2 ≡ v1 under the memoryless specification; λ = 0 ≡ control; identical mechanisms ⇒ zero matched difference; βR = 0 ⇒ no mechanism effect) and golden reproduction tests for v1.0.0.
- Plausibility checks (does the model behave sensibly?): monotone responses to costs, benefits, propensity, persistence and incentive sensitivity; inspection of structural biases (parity profile, payments to baseline qualifiers, deadweight).
- Empirical validation (does the model reproduce real observations?): not performed. No farmer data were used.
Limitations
- All behavioural and population parameters are hypothetical; results describe the model under these assumptions.
- No interaction between farmers, no land-market, weather, price or policy shocks, no strategic behaviour towards verification.
- Ground cover is one observable indicator; it does not measure erosion, biodiversity or yield effects.
- Administrative, monitoring and verification costs are not included in expenditure; performance verification (S2, S3, S3R) is likely more costly than participation verification (S1).
- Counterfactual additionality and deadweight are defined within the synthetic model (paired control run), not observed.
- The sensitivity design covers 11 factors over hypothetical ranges; other assumptions (functional forms, βB, βC, ρ, σv, thresholds) are fixed.
- Floating-point reproducibility is guaranteed for the same model version, code version and .NET runtime.
Reproducibility
- Each experiment stores its immutable configuration (JSON, including the model version), a SHA-256 fingerprint, the master seed and the code version (git commit; "-dirty" if built from uncommitted changes). Current build:
40177a25d7a0ff4b6056582704ac5a33c138b0b4. - Experiments are executed by the engine of the model version they declare; v1.0.0 records are reproduced by the archived v1 engine, never re-interpreted by v2. Imports of unsupported versions are rejected.
- Random numbers: SplitMix64-based seed derivation and counter-based draws, xoshiro256** sequences; algorithms and test vectors are published in
docs/METHODOLOGY_V2.md. - LHS designs are fully determined by (points, factor ranges, design seed); bootstrap intervals are seeded.
Verified references
- Müller, B., Bohn, F., Dreßler, G., Groeneveld, J., Klassert, C., Martin, R., Schlüter, M., Schulze, J., Weise, H., Schwarz, N. (2013). Describing human decisions in agent-based models – ODD+D, an extension of the ODD protocol. Environmental Modelling & Software 48, 37–48. https://doi.org/10.1016/j.envsoft.2013.06.003Used for: Structure of docs/ODD_D_PROTOCOL.md.
- Grimm, V., Railsback, S.F., Vincenot, C.E., et al. (2020). The ODD protocol for describing agent-based and other simulation models: A second update to improve clarity, replication, and structural realism. JASSS 23(2), 7. https://doi.org/10.18564/jasss.4259Used for: Model description standard.
- Marino, S., Hogue, I.B., Ray, C.J., Kirschner, D.E. (2008). A methodology for performing global uncertainty and sensitivity analysis in systems biology. Journal of Theoretical Biology 254(1), 178–196. https://doi.org/10.1016/j.jtbi.2008.04.011Used for: Latin Hypercube Sampling and PRCC (experiment E3).
- Blackman, D., Vigna, S. (2021). Scrambled linear pseudorandom number generators. ACM Transactions on Mathematical Software 47(4), 36:1–36:32. https://doi.org/10.1145/3460772Used for: Sequential generator xoshiro256** used for populations, LHS and bootstrap.
- Steele, G.L., Lea, D., Flood, C.H. (2014). Fast splittable pseudorandom number generators. OOPSLA '14, 453–472. https://doi.org/10.1145/2660193.2660195Used for: SplitMix64 mixing for seed derivation and counter-based draws.
- Guzmán, G., Fereres, E., Giráldez, J.V., Gómez, J.A. (2009). Conference abstract, ASA-CSSA-SSSA Annual Meetings, Paper 55723 (cover crops in olive orchards of southern Spain). https://a-c-s.confex.com/crops/2009am/webprogram/Paper55723.htmlUsed for: Qualitative scenario context only: cover crops promoted as an alternative to bare soil kept by tillage or herbicide.
- Gómez, J.A., Guzmán, G. (2021). EGU General Assembly 2021, abstract EGU21-606 (cover crops vs tillage in an olive orchard, 2008–2019). https://meetingorganizer.copernicus.org/EGU21/EGU21-606.htmlUsed for: Qualitative context only; the authors caution against extrapolating plot results to real-world conditions. No parameter is derived from it.
No reference is used to derive a numeric parameter value.
Archived model v1.0.0
The methodology of v1.0.0 is retained for historical records produced with it. v1 results remain reproducible with the archived engine and are labelled accordingly throughout the platform.
Show the v1.0.0 methodology
Purpose
AgriNudgex is a reproducible agent-based simulation environment for comparing digital incentive mechanisms that aim to encourage sustainable agricultural practices. The initial application scenario is olive farming (e.g. practices such as cover cropping or reduced tillage in olive groves), but nothing in the model is crop-specific: farmers, practices, costs and performance are represented by generic, normalised quantities.
Research questions
- RQ1. How do alternative digital incentive mechanisms influence the simulated adoption of sustainable agricultural practices?
- RQ2. How do incentive mechanisms differ in cost-effectiveness and reward distribution equity?
- RQ3. How sensitive are their comparative outcomes to farmer characteristics, budget constraints, and behavioural assumptions?
Simulation model
Each farmer i is a heterogeneous agent with a baseline adoption propensity αi, perceived practice benefit Bi, additional adoption cost Ci, individual incentive sensitivity si, baseline and potential sustainability performance q0i, qmaxi, an initial adoption status and its current and previous decisions. In each period t = 1…T, the probability of adopting is logistic:
Normalisation: B is an index in [0, 1]; costs and rewards are in abstract monetary units (MU) and enter utility divided by the monetary reference M (default 100 MU), so that βC and βR are measured per M. The farmer-specific reward coefficient is βR·si.
Expected versus actual rewards
Decisions use an expected reward formed before the decision; payments are the actual rewards computed after performance verification and budget rationing:
The expected reward depends only on the farmer's own state and on the payout ratio realised in the previous period (adaptive expectations, π(0) = 1). Entitlements depend only on the farmer's own verified outcome. Hence there is no circular dependency between one farmer's decision and others' current decisions or the current period's budget rationing.
Within-period sequence
- Form expected reward Rexp(i,t) from information available at t − 1.
- Compute U(i,t) and P(i,t); adopt if a common random number u(i,t) < P(i,t).
- Update true performance (improvement towards qmaxi if adopting, decay towards q0i otherwise).
- Verify performance with additive measurement noise.
- Compute mechanism entitlements; apply the period budget cap by pro-rata scaling.
- Publish the realised payout ratio π(t) for the next period.
Incentive mechanisms
- S0 — No financial incentive (control).
- S1 — Fixed reward F per period for every farmer with verified adoption (optionally above a minimum performance).
- S2 — Performance-based: min(cap, k·max(0, q̂ − q0)), proportional to verified improvement over the farmer's own baseline.
- S3 — Tiered: the reward of the highest performance threshold reached by verified performance.
Full definitions, default parameters and entitlement curves are on the Incentive Mechanisms page.
Experimental design
- Population N ∈ {100, 250, 500}; horizon T = 12 periods; 100 independent repetitions per configuration cell.
- Budget scenarios Low / Medium / High = 200 / 400 / 800 MU per farmer over the horizon (2, 4, 8 reference rewards).
- Incentive sensitivity Low / Medium / High: βR = 0.75 / 1.5 / 3.0 (×0.5, ×1, ×2 of βC).
- Full factorial: 3 × 3 × 3 = 27 cells × 4 mechanisms × 100 repetitions = 10,800 runs (preset “Full factorial design”).
- Common random numbers. For repetition r, the synthetic population and all decision/verification draws are derived from (master seed, r) only. All mechanisms and all cells of a repetition therefore face identical farmers and identical random draws; populations are nested across N (the first 100 farmers of N = 250 are the N = 100 population). Mechanism differences are estimated as paired differences.
Metrics
| Metric | Unit | Definition | Undefined when |
|---|---|---|---|
| Final adoption rate | share of farmers (0–1) | Share of farmers adopting in the final period T. | Never. |
| Mean adoption rate | share of farmers (0–1) | Average over periods 1..T of the per-period adoption share. | Never. |
| Adoption improvement vs control (final) | percentage points | Final adoption rate minus that of S0 in the same configuration cell and repetition (paired, common random numbers). | For S0 itself (not applicable). |
| Adoption improvement vs control (mean) | percentage points | Mean adoption rate minus that of S0 in the same configuration cell and repetition. | For S0 itself (not applicable). |
| Additional adopter-periods | farmer-periods | Σ_t adopters(m,t) − Σ_t adopters(S0,t) in the same cell and repetition. | For S0 itself (not applicable). |
| Total incentive expenditure | MU | Sum of rewards actually paid over the horizon (after budget rationing). | Never. |
| Cost per additional adopter-period | MU per farmer-period | Total expenditure divided by additional adopter-periods versus control. | When additional adopter-periods ≤ 0 (no incremental adoption), and for S0. |
| Budget utilisation | share of budget (0–1) | Total expenditure divided by the total programme budget. | When the budget is zero. |
| Reward Gini (all farmers) | index (0–1) | Gini coefficient of cumulative rewards across all farmers, zeros included (0 = equal, →1 = concentrated). | When no rewards were paid (e.g. S0). |
| Reward Gini (recipients only) | index (0–1) | Gini coefficient of cumulative rewards among farmers who received any reward. | When nobody received a reward. |
| Share of farmers rewarded | share of farmers (0–1) | Share of farmers who received a positive reward at least once during the horizon. | Never. |
| Mean performance gain | performance index units | Mean over farmers of (final true performance − baseline performance). | Never. |
Across repetitions each metric is summarised by the mean, sample SD, a 95% t-confidence interval for the mean, the median, min/max and the 2.5/97.5 percentiles. Undefined run values are excluded from these statistics and counted separately — they are never replaced by zero. Cost-effectiveness is additionally reported as the pooled ratio Σ expenditure / Σ additional adopter-periods, which is undefined when the pooled increment is not positive.
Confidence intervals quantify Monte Carlo uncertainty of the model output only. They do not reflect uncertainty in parameter values or model structure.
Parameters & units
| Symbol | Name | Unit | Default | Role |
|---|---|---|---|---|
| α_i | Baseline adoption propensity Intrinsic tendency to adopt, capturing unobserved preferences. Drawn per farmer from a truncated normal. | logit (dimensionless) | TN(−2.0, 1.0; [−6, 2]) | Agent attribute |
| B_i | Perceived practice benefit Normalised perceived agronomic/environmental benefit of the sustainable practice. | index [0, 1] | TN(0.5, 0.15; [0, 1]) | Agent attribute |
| C_i | Additional adoption cost Extra cost of applying the practice in a period. Enters utility normalised by M. | MU per period | TN(80, 25; [10, 200]) | Agent attribute |
| s_i | Individual incentive sensitivity Scales the population reward coefficient β_R for farmer i (heterogeneous responsiveness to money). | multiplier (dimensionless) | TN(1.0, 0.25; [0.1, 2.0]) | Agent attribute |
| q0_i | Baseline sustainability performance Performance index before the programme; reference for S2 improvement. | index [0, 1] | TN(0.35, 0.10; [0.05, 0.80]) | Agent attribute |
| qmax_i | Potential sustainability performance Performance level approached under sustained adoption. | index [0, 1] | min(1, q0_i + TN(0.30, 0.10; [0.05, 0.60])) | Agent attribute |
| D(i,0) | Initial adoption status Adoption status before period 1. | binary | Bernoulli(0.10) | Agent attribute |
| β_B | Benefit coefficient Weight of perceived benefit in utility. | utility per index unit | 2.0 | Behavioural |
| β_C | Cost coefficient Weight of normalised cost in utility. | utility per M | 1.5 | Behavioural |
| β_R | Reward coefficient (incentive sensitivity level) Weight of normalised expected reward. Medium equals β_C (one MU of expected reward offsets one MU of cost); Low/High are ×0.5/×2. | utility per M | Low 0.75 · Medium 1.5 · High 3.0 | Experimental factor |
| ρ | Experience effect Increase in perceived benefit after adopting in the previous period. | index units | 0.10 | Behavioural |
| M | Monetary reference Scale used to normalise costs and rewards in the utility function. | MU | 100 | Normalisation |
| γ | Improvement rate Share of the gap to potential closed in an adopting period. | fraction per period | 0.35 | Dynamics |
| δ | Decay rate Share of the gain above baseline lost in a non-adopting period. | fraction per period | 0.25 | Dynamics |
| σ_v | Verification noise Measurement error of performance verification. | index units (SD) | 0.02 | Dynamics |
| F | S1 fixed reward Flat payment to each qualifying adopter. | MU per period | 100 (= M) | Mechanism |
| q_min | S1 minimum performance Optional performance requirement for S1. | index [0, 1] | 0 (adoption suffices) | Mechanism |
| k | S2 performance rate Nominal parity calibration: k = M / E[qmax − q0] = 100 / 0.30, so a farmer reaching the mean potential gain is entitled to M per period. | MU per index unit | 333.33 | Mechanism |
| cap | S2 reward cap Upper bound on the S2 reward per farmer and period. | MU per period | 200 | Mechanism |
| θ_k, R_k | S3 tiers Thresholds on verified performance and associated rewards; the middle tier pays M. | index → MU per period | 0.45→50 · 0.55→100 · 0.65→150 | Mechanism |
| T | Horizon Number of decision periods (abstract cycles, e.g. seasons). | periods | 12 | Design |
| N | Population size Number of synthetic farmers. | farmers | 100 · 250 · 500 | Experimental factor |
| Budget | Programme budget Total budget = per-farmer budget × N, i.e. 2, 4 or 8 reference rewards per farmer over the horizon. | MU per farmer over horizon | Low 200 · Medium 400 · High 800 | Experimental factor |
| R | Repetitions Monte Carlo repetitions per configuration cell. | independent runs | 100 | Design |
| seed | Master random seed Root of all derived random streams. | integer | user-defined | Design |
TN(μ, σ; [a, b]) denotes a normal distribution truncated to [a, b] (rejection sampling).
Assumptions
- Adoption is a binary decision taken anew each period; persistence arises only through the experience effect ρ on perceived benefit and through performance dynamics.
- Farmers do not interact: no social learning, peer effects or network diffusion are modelled.
- Farmers know their own performance dynamics and form expectations from the previous period's payout ratio (adaptive expectations); they do not anticipate future budget exhaustion.
- Adoption is perfectly verifiable; performance is verified with unbiased Gaussian noise.
- All costs and rewards are in an abstract monetary unit; no discounting, risk aversion, liquidity constraints or transaction costs.
- The budget is enforced per period with carry-over (or as a single pool), with pro-rata rationing when entitlements exceed the cap. Administrative and verification costs of the programme are not included in expenditure.
- Default parameter values are stylised modelling choices for a generic sustainable practice. They were not estimated from data and were not tuned to favour any mechanism. Default reward levels follow a transparent nominal-parity rule (see Mechanisms).
Limitations
- No empirical calibration or validation: outputs describe the model, not real farmers. Do not interpret them as estimates of real-world programme effectiveness or causal effects.
- The performance index is a single abstract dimension; real sustainability outcomes are multi-dimensional and partly unobservable.
- Absence of social interaction, learning from others, land heterogeneity, weather and price shocks, and strategic behaviour (e.g. gaming the verification).
- Comparative rankings can change with parameter values; the platform's sensitivity analysis covers budgets, incentive sensitivity and population size, and other assumptions can be varied through custom experiments, but the parameter space is not exhaustively explored.
- Confidence intervals and “distinguishable” flags are descriptive and uncorrected for multiple comparisons.
- Floating-point results are reproducible for the same model version and .NET runtime; bit-level identity across different CPU architectures is expected but not guaranteed.
Reproducibility
- Every experiment stores its complete configuration (JSON), model version (v1.0.0), master seed and a SHA-256 fingerprint of the scientific configuration.
- Random numbers come from a platform-independent counter-based generator (SplitMix64 mixing) and a local xoshiro256** generator, not from the .NET runtime's
System.Random; parallel execution does not affect results. - Experiments can be re-run with one click, exported as JSON and re-imported in the Simulation Studio; the “Verify reproduction” button re-executes stored runs and compares them with the database.
- Agent-level traces for any run can be regenerated on demand from the configuration.
Scientific integrity
The platform distinguishes three kinds of statements: assumptions (documented on this page and in the parameter dictionary), simulation outcomes (produced only by completed runs and always labelled SYNTHETIC) and real-world evidence (which this platform does not produce). No result, chart or dashboard value is hard-coded; empty states are shown until a simulation has completed.