WHAT BREAKS FIRST
Fig. A — full disclosure

Methods & assumptions

The landing page says the assumptions are on the table. This is the table. If you think a number below is wrong, email me — I'll either defend it with a reason or change it and note the change here.

A.1 — what one run does

The simulation loop

Each of the 2,000 runs simulates 36 months. Every run first draws its own version of your inputs from noisy distributions (below), because your guesses are guesses. Then, month by month: new customers arrive, a fraction churns, and — the part most models skip — customers you don't have the hours to support mostly leave. The result is that run's ARR at month 36. The histogram is all 2,000 results; the spaghetti chart shows 60 of the paths.

A.2 — distributions

How your inputs get noised

InputDistributionSpread (σ)Why
Monthly churnlognormal around your guess, clamped 0.2%–60%0.45Founders' churn guesses are usually off by half; lognormal keeps it positive and right-skewed like real churn data.
Acquisition / monthlognormal around your guess0.50Acquisition is the least predictable input, so it gets the widest spread.
Hours / customerlognormal around your guess0.35Support load varies less than growth, but heavy customers exist.
Pricefixed at your inputPrice is the one thing you fully control, so it isn't noised. The lever table varies it for you.

Lognormal draws use mean × exp(σZ − σ²/2) so the mean of the distribution equals your input rather than drifting above it.

A.3 — constraints

The rules that kill runs

A.4 — limitations

What the model does not know

Breaks First is a stress-test, not a forecast. It's for killing fragile ideas cheaply, not for predicting the future of good ones.

A.5 — the boring but binding part

Refunds & licence