Scientific documentation · model v2.0.0

About & Methodology

Model v2.0.0 SYNTHETIC DATAno empirical calibration
All farmer data are SYNTHETIC agents generated by the AgriNudgex simulation model. They do not represent real farmers, observed behaviour, or empirical measurements. Results are model outputs conditional on stated assumptions and are not evidence of real-world effectiveness.

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:

  1. RQ1. How do alternative digital incentive mechanisms influence the simulated adoption (participation) of sustainable agricultural practices?
  2. RQ2. How do incentive mechanisms differ in cost-effectiveness and reward distribution equity?
  3. 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

P(i,t) = 1 / (1 + exp(−U(i,t)))
U(i,t) = α_i + β_B·B(i,t) − β_C·C_i/M + β_R·s_i·R_exp(i,t)/M + η·D(i,t−1)
B(i,t) = clamp[0,1](B_i + ρ·D(i,t−1))
R_exp(i,t) = π(t−1) · Σ_{h=0}^{H_eff−1} φ^h · E_m(1, q̃_h(i,t), q0_i) / Σ_{h=0}^{H_eff−1} φ^h, H_eff = min(H, T−t+1), π(0) = π0
q̃_h(i,t): ground cover after h+1 consecutive participating seasons from q(i,t−1)
D(i,t) = 1[u(i,t) < P(i,t)], u(i,t) = U(0,1) counter-based draw keyed by (decision seed, i, t) — common to all mechanisms and reward scales
q(i,t) = q + γ(qmax_i − q) if D(i,t)=1; q − δ(q − q0_i) otherwise; initial participants start k0 improvement steps above q0_i
q̂(i,t) = clamp[0,1](q(i,t) + ε), ε ~ N(0, σ_v²)
Entitlements with reward scale λ: S1 λF·1[D=1 ∧ q̂≥q_min]; S2 min(λ·cap, λk·max(0, q̂−q0)); S3 λR_j for highest θ_j ≤ q̂; S3R λR'_j for highest θ'_j ≤ q̂−q0
Cap(t) = Remaining(t)/(T−t+1) (∞ if uncapped); Paid = E·min(1, Cap/ΣE); π(t) = ΣPaid/ΣE

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.

MetricRoleDefinitionUndefined when
Horizon-mean participation (P1)
share of farmers (0–1)
PrimaryMean over seasons 1..T of the share of farmers participating.Never.
Sustained participation (P2)
share of farmers (0–1)
PrimaryShare of farmers with at least one spell of ≥ k consecutive participating seasons (k = 4 by default).Never.
Δ horizon-mean participation vs control
percentage points
PrimaryP1(m) − P1(S0), paired within repetition (common random numbers).For S0.
Δ sustained participation vs control
percentage points
PrimaryP2(m) − P2(S0), paired within repetition.For S0.
Initial participation (season 1)
share of farmers (0–1)
SecondaryShare participating in the first simulated season.Never.
Final-season participation
share of farmers (0–1)
SecondaryShare participating in season T (single-season snapshot).Never.
Ever participated
share of farmers (0–1)
SecondaryShare 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)
Secondary1 − continuation probability: probability of stopping after a participating season.No participation in seasons 1..T−1.
Mean consecutive participation duration
seasons
SecondaryMean 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)
SecondaryShare of farmers participating in all T seasons.Never.
Re-adopters
share of farmers (0–1)
SecondaryShare of farmers who start a new participation spell after an earlier spell ended within the horizon.Never.
Re-adoption frequency
events per farmer
SecondaryNumber of re-adoption events divided by N.Never.
Actual expenditure per farmer
MU per farmer over the horizon
SecondaryRewards 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)
DescriptiveActual expenditure ÷ nominal budget cap.Uncapped budget, zero budget, or S0.
Cost per additional participant-season (per-run ratio)
MU per participant-season
SecondaryExpenditure ÷ 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
DescriptiveFarmer-seasons with D(m) = 1 and D(S0) = 0 in the paired control.For S0.
Displaced participant-seasons
farmer-seasons
DescriptiveFarmer-seasons with D(m) = 0 and D(S0) = 1 (path divergence under persistence).For S0.
Deadweight share of payments
share of expenditure (0–1)
SecondaryShare 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
DescriptivePayments in farmer-seasons that would also be participating under the paired control.For S0.
Payment Gini (all farmers)
index (0–1)
SecondaryGini of cumulative payments over all farmers, zeros included.Nothing paid.
Payment Gini (recipients)
index (0–1)
SecondaryGini of cumulative payments among farmers paid at least once.Nobody paid.
Share of farmers paid
share of farmers (0–1)
SecondaryShare of farmers receiving a positive payment at least once.Never.
Net financial position of participants
MU per farmer over the horizon
SecondaryMean 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)
SecondaryShare 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)
SecondaryShare 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
SecondaryMean 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.

SymbolName & definitionUnitDefaultSensitivity rangeEvidence
α_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.003
    Used 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.4259
    Used 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.011
    Used 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/3460772
    Used 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.2660195
    Used 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.html
    Used 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.html
    Used 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.

All farmer data are SYNTHETIC agents generated by the AgriNudgex simulation model. They do not represent real farmers, observed behaviour, or empirical measurements. Results are model outputs conditional on stated assumptions and are not evidence of real-world effectiveness.

Research questions

  1. RQ1. How do alternative digital incentive mechanisms influence the simulated adoption of sustainable agricultural practices?
  2. RQ2. How do incentive mechanisms differ in cost-effectiveness and reward distribution equity?
  3. 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:

P(i,t) = 1 / (1 + exp(−U(i,t)))
U(i,t) = α_i + β_B·B(i,t) − β_C·C̃_i + β_R·s_i·R̃exp(i,t)
C̃_i = C_i / M ; R̃exp(i,t) = Rexp(i,t) / M
B(i,t) = clamp[0,1](B_i + ρ·D(i,t−1))

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:

Rexp(i,t) = π(t−1) · E_m(D=1, q̃(i,t), q0_i), q̃(i,t) = q(i,t−1) + γ·(qmax_i − q(i,t−1)), π(0) = 1
D(i,t) = 1[u(i,t) < P(i,t)], u(i,t) ~ U(0,1) common across mechanisms
q(i,t) = q(i,t−1) + γ·(qmax_i − q(i,t−1)) if D(i,t)=1 ; q(i,t−1) − δ·(q(i,t−1) − q0_i) otherwise
q̂(i,t) = clamp[0,1](q(i,t) + ε), ε ~ N(0, σ_v²)
Cap(t) = Remaining(t) / (T − t + 1) [per-period rule with carry-over]
Paid(i,t) = E_m(i,t) · min(1, Cap(t) / Σ_j E_m(j,t)) ; π(t) = Σ Paid / Σ E_m

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

  1. Form expected reward Rexp(i,t) from information available at t − 1.
  2. Compute U(i,t) and P(i,t); adopt if a common random number u(i,t) < P(i,t).
  3. Update true performance (improvement towards qmaxi if adopting, decay towards q0i otherwise).
  4. Verify performance with additive measurement noise.
  5. Compute mechanism entitlements; apply the period budget cap by pro-rata scaling.
  6. 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

MetricUnitDefinitionUndefined when
Final adoption rateshare of farmers (0–1)Share of farmers adopting in the final period T.Never.
Mean adoption rateshare of farmers (0–1)Average over periods 1..T of the per-period adoption share.Never.
Adoption improvement vs control (final)percentage pointsFinal 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 pointsMean adoption rate minus that of S0 in the same configuration cell and repetition.For S0 itself (not applicable).
Additional adopter-periodsfarmer-periodsΣ_t adopters(m,t) − Σ_t adopters(S0,t) in the same cell and repetition.For S0 itself (not applicable).
Total incentive expenditureMUSum of rewards actually paid over the horizon (after budget rationing).Never.
Cost per additional adopter-periodMU per farmer-periodTotal expenditure divided by additional adopter-periods versus control.When additional adopter-periods ≤ 0 (no incremental adoption), and for S0.
Budget utilisationshare 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 rewardedshare of farmers (0–1)Share of farmers who received a positive reward at least once during the horizon.Never.
Mean performance gainperformance index unitsMean 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

SymbolNameUnitDefaultRole
α_iBaseline 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_iPerceived practice benefit
Normalised perceived agronomic/environmental benefit of the sustainable practice.
index [0, 1]TN(0.5, 0.15; [0, 1])Agent attribute
C_iAdditional adoption cost
Extra cost of applying the practice in a period. Enters utility normalised by M.
MU per periodTN(80, 25; [10, 200])Agent attribute
s_iIndividual 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_iBaseline 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_iPotential 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.
binaryBernoulli(0.10)Agent attribute
β_BBenefit coefficient
Weight of perceived benefit in utility.
utility per index unit2.0Behavioural
β_CCost coefficient
Weight of normalised cost in utility.
utility per M1.5Behavioural
β_RReward 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 MLow 0.75 · Medium 1.5 · High 3.0Experimental factor
ρExperience effect
Increase in perceived benefit after adopting in the previous period.
index units0.10Behavioural
MMonetary reference
Scale used to normalise costs and rewards in the utility function.
MU100Normalisation
γImprovement rate
Share of the gap to potential closed in an adopting period.
fraction per period0.35Dynamics
δDecay rate
Share of the gain above baseline lost in a non-adopting period.
fraction per period0.25Dynamics
σ_vVerification noise
Measurement error of performance verification.
index units (SD)0.02Dynamics
FS1 fixed reward
Flat payment to each qualifying adopter.
MU per period100 (= M)Mechanism
q_minS1 minimum performance
Optional performance requirement for S1.
index [0, 1]0 (adoption suffices)Mechanism
kS2 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 unit333.33Mechanism
capS2 reward cap
Upper bound on the S2 reward per farmer and period.
MU per period200Mechanism
θ_k, R_kS3 tiers
Thresholds on verified performance and associated rewards; the middle tier pays M.
index → MU per period0.45→50 · 0.55→100 · 0.65→150Mechanism
THorizon
Number of decision periods (abstract cycles, e.g. seasons).
periods12Design
NPopulation size
Number of synthetic farmers.
farmers100 · 250 · 500Experimental factor
BudgetProgramme budget
Total budget = per-farmer budget × N, i.e. 2, 4 or 8 reference rewards per farmer over the horizon.
MU per farmer over horizonLow 200 · Medium 400 · High 800Experimental factor
RRepetitions
Monte Carlo repetitions per configuration cell.
independent runs100Design
seedMaster random seed
Root of all derived random streams.
integeruser-definedDesign

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.