Portfolio
DataQuilt
Open Source Projects
Musings
Hybrid System Dynamics × ABM to simulate real go-to-market growth - quarter by quarter.
A configurable, industry-agnostic model that maps sectors, products, capacity, and pricing to two revenue channels (enterprise anchors + direct/material). Run fast scenarios, see realistic delivery-driven revenue, and turn insights into a roadmap.
You can install the local app (and edit it to suit your requirements) over here -
https://github.com/dessentialist/growth_model
Why SD + ABM beats spreadsheets
Spreadsheets are great for static tables; growth is a dynamic system.
- Real feedback & delays: Stocks/flows with explicit lags model how leads → requirements → deliveries actually move over quarters - no brittle offset formulas.
- Discrete clients, not fractions: Accumulate-and-fire agents create whole clients and phased ramps, avoiding spreadsheet compounding and “0.3 of a customer” artifacts.
- Shared capacity, correctly: Both channels contend for the same per-product cap via a single Fulfillment Ratio, so trade-offs show up where they should.
- Quarter-true revenue: Uses delivery flow × price this quarter (not cumulative stocks), preventing double-counting common in tab-based rollups.
- Reproducible scenarios: Externalized inputs, override echoes, and run logs beat copy-pasted sheets and hidden formula drift.
- Faster iteration: Validate → Save → Run lets you test three scenarios in minutes without refactoring dozens of linked tabs.
Why it’s different
- Inputs-driven, not hard-coded: Configure sectors, products, prices, and lags without touching code.
- Realistic client dynamics: Discrete “accumulate-and-fire” client creation prevents fake compounding.
- Shared capacity realism: Both channels contend for the same per-product capacity via a Fulfillment Ratio ≤ 1.
- Quarter-true accounting: Revenue = this quarter’s deliveries × price (no double-counting).
- Fast, reproducible scenarios: Validate → Save → Run with override echoes, tailed logs, and suffixed KPI CSVs.