PUBLIC BACKTEST · REPRODUCIBLE

Verify the math.

Holon’s whole claim is that you don’t have to trust it. Every run is a pure function of (scenario, seed), so a result is a scientific object — re-runnable, hash-verifiable, and open to inspection. This page is the receipt for the diffusion core: the table below is computed livefrom the engine’s own diffusion code, and every input is public — documented coefficients from the diffusion literature, scored against the textbook closed-form curve. Checkable independently, not a number to take on faith.

01 · THE DIFFUSION CORE

The hazard form reproduces textbook Bass.

The adoption hazard in engine/sim.ts λ = 1 − exp(−Δt·(p + q·F)) — should, in its homogeneous mean-field limit, collapse onto the closed-form Bass model. We run it on the documented fitted coefficients of five classic products and score the gap against the analytic solution. No knob is tuned per product; the only inputs are the published p and q.

Productp (innovation)q (imitation)HorizonPeak · engine / analyticMAPE
Colour TV0.0210.58318 periodst* = 6 / 5.50.94%
B&W TV0.0650.33518 periodst* = 5 / 4.10.36%
Cellular phones0.0080.42120 periodst* = 10 / 9.21.13%
Cable TV0.00000610.501240 periodst* = 23 / 22.63.50%
Microwave oven0.0180.33722 periodst* = 9 / 8.30.64%
MAPE band across all products0.43.5%

The peak-adoption tick t* lands within a fraction of a period of the analytic ln(q/p)/(p+q), and the cumulative curve tracks the closed form to a 0.43.5% mean absolute percentage error. The residual is pure time-discretization, not a modelling gap.

Coefficients are documented fitted values from the diffusion literature (Bass, Management Science 1969; Sultan, Farley & Lehmann, JMR1990). The closed-form Bass curve is textbook — score our engine’s output against it yourself; the inputs are public and the formula is in any diffusion textbook.

02 · WHAT THIS PROVES

And what it doesn’t.

It proves the core is honest math.The discretized hazard is not an approximation of convenience — it recovers the analytic diffusion curve to sub-percent error. When Holon deviates from a Bass curve, it’s the role friction, the detractors, the firm layer, and the graph doing it on purpose — never a numerical artifact.

It does not prove the full engine is accurate for your product. These coefficients are category-level annual diffusion params, not per-tick community-response hazards; this is a validation of the solver, not a forecast. A certified per-account accuracy figure — fit to your cohort, holdout MAPE published — is a separate tier, and the fitting harness is built and waiting for a real dataset.

03 · PUBLIC PRICE-CHANGE CASES

One frozen model, heterogeneous real outcomes.

The engine is calibrated to the populationprice-churn curve, never to a single case. These documented public outcomes deliberately do not all line up — each is one sample of a wide distribution, shaped by grandfathering, contract length, switching cost, and communication. That spread is the point: a price move alone isn’t a verdict, the moderators are.

CaseHikeActual churnWhy it landed there
Netflix 2011+60%33%B2C, sudden, no grandfathering, poor comms
Nutshell+15%8%flat, full grandfather, annual contracts
Athenic+30%3%ROI-led, phased, grandfathered
Proper+80%5%value-led, partial grandfather
Baremetrics+250%6%managed, high switching cost, phased

We show the public actuals, not a single engine number to anchor on. The honest reading: a worst-case botched hike runs high (the WTP cliff over-shoots, and B2C is more elastic than the B2B city), and permanent-grandfathering cases read low. The engine fits the population curve, not any one case.

The full validation scorecard — price-churn curve, gross-logo retention by segment, net dollar retention, bundling overtake — lives on the methodology page. The reasoning behind it is in Field Note 01.