Bass model: projecting adoption without turning a curve into a certainty.
Evidence status
What was reproduced, and what it does not prove.
The educational specification and fixture are verified. The Python run reproduces 7,395 new adopters within numerical tolerance, and rejects a null potential, a cumulative figure beyond capacity or a coefficient out of domain. This result does not validate a market forecast.
- Technical specification of the Bass calculator, specification in French (opens in a new tab)
v1, 31 August 2026 · CC BY 4.0 · specification in French · Method document written by marketing-mix.net. The figures are illustrative: they are not market measurements.
Key distinctions
Three conditions before calculating.
A declared potential market
The parameter m is not the total population. It corresponds to the possible adopters within a defined perimeter, period and offer.
Two aggregate mechanisms
p represents an adoption independent of the observed cumulative total; q represents a diffusion tied to the share already adopting. These parameters describe; they do not identify a causality.
A forecast to be confronted
The curve must be compared with a holdout, with launch scenarios and with the operational constraints before any allocation.
Method
Building a controllable forecast in four steps
- 01Define adoption
Set unit, product, area, period and adoption event; a trial, a purchase and an active user are not interchangeable.
- 02Estimate p, q and m
Use a sufficient cumulative series, publish the estimation method and check the sensitivity to the start-up and to the market potential.
- 03Project period by period
Compute the new adopters, update the cumulative total and keep the parameters, dates and versions that produced each scenario.
- 04Validate and revise
Measure the error on a period not used, compare alternative models and re-estimate when price, channels or competition change.
Conditional adoption projection
Enter p, q, the potential m and the cumulative adopters A. The calculation blocks if the parameters leave their domain.
Projection conditional on the four parameters entered.
A following period entirely conditional on the parameters
Illustrative example: p = 0.03; q = 0.38; potential m = 100,000; cumulative adopters A = 15,000.
New adopters = [0.03 + 0.38 × (15,000 / 100,000)] × (100,000 − 15,000) = 7,395.
The 7,395 adopters constitute a projection of the declared scenario, not a commercial objective nor a guaranteed forecast.
Acceptance conditions
What must be true to act.
- 01
Block the calculation if p or q leaves [0; 1], if m is zero or if the cumulative total exceeds m.
- 02
Publish the definition of adoption, the period, the potential market and the estimation method.
- 03
Compare the out-of-sample error and the sensitivity to m before any capacity decision.
- 04
Revise the model when a change of price, channel, offer or competition breaks the continuity of the series.
Limits
What this analysis does not prove.
- The model aggregates individuals and does not directly represent the heterogeneity of segments.
- The parameters p and q are not universal constants transferable from one launch to another.
- A curve that fits well in sample does not guarantee a good forecast.
- Stock, distribution and communication constraints stay outside the base model.
References
