The GreenOS EBITDA simulation runs 120 monthly periods (10 years, 2025–2034) with a phased farm deployment schedule: 6 farm pairs × 5 acres = 30 total acres by Month 152. Within the 10-year horizon, Farms 0–7 (40 acres) begin construction; Farms 0–5 (30 acres) reach full capacity.
Farm pair synchronization is a key structural feature. Each pair consists of a “lead” farm (18-month ramp) followed by a “lag” farm 6 months later (12-month ramp). Both reach full capacity on the same month — the synchronization point. This was reverse-engineered from the Excel CEAPlan monthly series and validated to within 0.04% of Excel output.
The Monte Carlo simulation samples 6 stochastic variables —
- KGM^2 yield
- Retail mix
- Retail price
- Food-service price
- Variable cost multiplier
- Schedule delay
It then runs the full 10-year model for each iteration. The result is a probability distribution of outcomes rather than a single forecast.
Reading the Dashboard
The dashboard runs 150 Monte Carlo iterations each time you click
Run Simulation. Each iteration draws random values for 6 uncertain variables and runs the full 10-year model, yielding a Year 7 EBITDA and implied valuation.
Sidebar sliders control the kgm2 yield and retail mix distributions (mean and std). Change these to test scenarios. Scenario buttons (Conservative/Base/Optimistic) preset all four slider values at once.
Configure exposes the deeper model constants — pricing, energy costs, labor, SGA, debt, and uncertainty parameters for the non-slider stochastic variables.
Tab: Economics — Primary scatter chart of oz sold vs. EBITDA, colored by retail mix quartile. Valuation reference lines show the EBITDA level required for each valuation threshold.
Tab: Sensitivity — Scatter of each major driver vs. EBITDA with correlation coefficient.
Tab: Distributions — Histograms of EBITDA, valuation, retail mix, and oz sold.
Tab: Risk — Cumulative distribution of valuation outcomes + tornado chart of driver correlations.
Input Parameters
kgm2 Yield (slider) — Kilograms of leafy greens per square meter of growing area per year. Base assumption: 80 kgm2. Benchmark maximum: 85 kgm2 (the capacity constant is calibrated at this level). Each iteration samples from Normal(mean, std), clipped to [60, 100].
% Retail Channel (slider) — The fraction of ounces sold to retail (vs. food service). Retail commands $0.515/oz vs. food service $0.297/oz — a 73% premium. This is the most impactful revenue lever because it affects both price and some variable cost components.
Retail & FS Price (Configure) — The base prices per oz for each channel. The simulation adds normally-distributed noise around these values each iteration (std configurable), reflecting market price uncertainty.
Variable Cost Multiplier (Configure std) — Scales all variable COGS (cultivation, packaging, transport) by a sampled multiplier around 1.0. A multiplier of 1.15 means all variable costs are 15% above the base calibration.
Schedule Delay (Configure std) — Shifts all farm online dates forward by a sampled number of months. Zero mean; std defaults to 3 months. Maximum delay clipped to 12 months.
Interpreting the Simulation Results
Economics Tab — Scatter Chart: Each dot is one scenario. X-axis = annual oz sold in Year 7 (kOz); Y-axis = EBITDA ($K). Color = retail mix quartile (darker green = more retail). Dot size ∝ retail mix fraction. Annotation = kgm2 value sampled. Horizontal dashed lines show the EBITDA level implied by each valuation threshold.
Sensitivity Tab: Shows the correlation between each stochastic input and EBITDA across all scenarios. A steep slope and tight cluster means high correlation = dominant driver. A flat or scattered cloud means low correlation = secondary driver.
Distributions Tab: Shows the full frequency distribution of each key output and input. The EBITDA and Valuation histograms show how spread-out outcomes are. A tight distribution means outcomes are predictable; a wide distribution signals high uncertainty.
Risk Tab: The CDF chart shows the probability of falling below each valuation level. The colored zone shows High Risk (<$150M), Caution ($150M–$300M), and Target (>$300M). The tornado chart ranks drivers by their Pearson correlation with EBITDA — the dominant driver deserves management focus and capital allocation priority.
Farm Deployment Schedule
Pair Synchronization
Lead (18mo ramp) + Lag (6mo later, 12mo ramp) → both full capacity at same month
The 8 farms modeled in the 10-year horizon deploy as 4 synchronized pairs:
- Farm 0 (M56, 18mo) + Farm 1 (M62, 12mo) → full at M73
- Farm 2 (M74, 18mo) + Farm 3 (M80, 12mo) → full at M91
- Farm 4 (M92, 18mo) + Farm 5 (M98, 12mo) → full at M109
- Farm 6 (M110, 18mo) + Farm 7 (M116, 12mo) → full at M127
The schedule delay stochastic variable shifts all farm online dates forward by a sampled number of months (0–12 months, normally distributed with std=3mo). A 6-month delay shifts all farms by 6 months, which pushes some Y7 production into Y8.
Months 1–55 are the pre-production phase (SGA = $40K/month startup rate). Year 7 (Months 73–84) is the primary KPI period — the first year with at least 10 effective acres in full production.
Strategic Use of the Simulator
Investor fundraising — Show how value is built through phased farm deployment, which assumptions drive the $300M+ outcome, the probability distribution of valuations, and what management must execute. Probability framing is more credible than a point forecast — investors understand Monte Carlo analysis.
Board reporting — Update retail mix and yield assumptions quarterly with actuals. Track whether the probability of $300M+ valuation is increasing or decreasing. Compare scenario outcomes to actual farm ramp performance.
Operations planning — If kgm2 yield is the dominant driver, agronomic investments (lighting, CO₂, nutrition protocols) have the highest financial ROI. If retail mix dominates, sales and account development should receive priority capital. The tornado chart on the Risk tab shows which lever matters most in each scenario.
Farm schedule optimization — Test the impact of different construction delay assumptions. A 6-month delay shifts Year 7 production but not Year 10 production — delays hurt NPV more than they hurt the long-run asset value. Use this insight to prioritize permitting and construction timelines.
Model Assumptions (params.py)
The deterministic model uses the scalar assumptions below — the full parameter set from params.py (Greenswell Growers), calibrated from the Greenswell CEA Strategic Roadmap. The Monte Carlo simulation samples six of these stochastically (kgm² yield, retail mix, retail & food-service price, variable-cost multiplier, and schedule delay); the rest are held fixed.
Raw parameter sheet: greenos_simulation_params.csv
Simulation Scope
| Parameter | Value | Unit | Notes |
|---|---|---|---|
n_months |
120 | months | 10-year horizon |
start_year |
2025 | year | Model start date |
Yield / Capacity
| Parameter | Value | Unit | Notes |
|---|---|---|---|
kgm2 |
80 | kg/m²/yr | Base operating yield assumption |
kgm2_benchmark |
85 | kg/m²/yr | Do not change — model constant |
capacity_koz_per_eff_acre |
1124 | kOz/eff-acre | At benchmark kgm2; derived empirically from CEAPlan rows 13–14 |
ramp_months |
18 | months | Linear ramp from 0 to full capacity after go-live |
Revenue
| Parameter | Value | Unit | Notes |
|---|---|---|---|
retail_price |
0.515 | $/oz | Price to Greenswell as producer — retail channel |
fs_price |
0.297 | $/oz | Price — food service channel |
retail_mix |
0.5 | fraction | Share of volume sold to retail (0 = all FS, 1 = all retail) |
Variable COGS ($/oz sold)
| Parameter | Value | Unit | Notes |
|---|---|---|---|
cultivation_retail |
0.04562 | $/oz | Calibrated from CEAPlan rows 35–37 |
cultivation_fs |
0.04435 | $/oz | Calibrated from CEAPlan rows 35–37 |
packaging_retail |
0.09898 | $/oz | Mix² formula per original Excel |
packaging_fs |
0.01331 | $/oz | Mix² formula per original Excel |
transport_retail |
0.028 | $/oz | Retail channel only |
Fixed COGS ($/acre/month, $k)
| Parameter | Value | Unit | Notes |
|---|---|---|---|
electricity_k_per_acre |
26.923 | $k/acre/mo | From Energy-Water sheet |
natgas_k_per_acre |
1.8 | $k/acre/mo | From Energy-Water sheet |
water_k_per_acre |
3.846 | $k/acre/mo | From Energy-Water sheet |
managed_services_k_flat |
30 | $k/mo | Flat monthly fee — not per-acre |
Labor — Direct Production
| Parameter | Value | Unit | Notes |
|---|---|---|---|
prod_salary_k |
5.97 | $k/mo/head | Monthly cost per production headcount |
prod_headcount_base |
5 | heads | Baseline headcount |
prod_headcount_per_5acres |
2 | heads | Additional heads per 5-acre increment above baseline |
pkg_salary_k |
5 | $k/mo/head | Packaging labor cost per head |
SG&A ($k/month)
| Parameter | Value | Unit | Notes |
|---|---|---|---|
sga_base_k |
350 | $k/mo | Fixed base once in production |
sga_per_acre_k |
18 | $k/mo/acre | Incremental per acre online |
sga_startup_k |
40 | $k/mo | Pre-production months (acres_online = 0) |
Depreciation
| Parameter | Value | Unit | Notes |
|---|---|---|---|
depreciation_k_per_acre |
30 | $k/acre/mo | From CEAPlan R67; applied once farm is online |
Debt
| Parameter | Value | Unit | Notes |
|---|---|---|---|
initial_debt_k |
1000 | $k | Seed loan; excludes farm construction capital raises |
annual_interest_rate |
0.05 | rate | 5% annual interest |
debt_term_months |
360 | months | 30-year term |
Capital Investment (Capital Budget Components, Apr 2025)
| Parameter | Value | Unit | Notes |
|---|---|---|---|
construction_months_a |
18 | months | Lead farm build lead time before online date |
construction_months_b |
6 | months | Lag farm build lead time (site prep done by Farm A) |
capex_farm_a_k |
34491 | $k | Farm A total CapEx — includes land ($2,500K), growing system, structure, MEP, packaging, IT, admin |
capex_farm_b_k |
30337 | $k | Farm B total CapEx — no land; same depreciable scope |
Capital Funding per Farm Pair (CEAPlan R158 / R159)
| Parameter | Value | Unit | Notes |
|---|---|---|---|
capex_equity_per_pair_k |
50000 | $k | Equity raised at Farm A construction start — CEAPlan R158: Equity (TO RE and HERE) |
capex_debt_per_pair_k |
15000 | $k | LT construction debt drawn at Farm A start — CEAPlan R159: LT Debt/Bridge |
capex_debt_rate |
0.05 | rate | Annual interest rate on construction loans (5%) |
capex_debt_term_months |
180 | months | 15-year amortization on each construction loan tranche |
Source: params.py — Greenswell CEA Simulation Parameters. Values calibrated from Greenswell CEA Strategic Roadmap_4_13_25.xlsx.