An experiment in growth prediction
Three points, many futures
A curve can fit three early measurements perfectly and still give a very uncertain forecast. Change the measurements a little and the predicted growth limit can change enormously.
Small measurement errors. Very different curves.
Draw one value from each of three normal distributions, then fit a logistic curve through the three values. Repeat 100 times. All three distributions have the same standard deviation.
Move a point. Watch the forecast change.
Use the sliders or enter precise values. You can also drag the three dots vertically on the graph. The times stay equally spaced at 0, 1 and 2.
The graph uses the same ceiling as the experiment above. Curves continue beyond the visible area. A large predicted limit may take much longer than time 16 to approach.
A perfect fit is not a reliable forecast.
Three exact points can determine a logistic curve when a valid fit exists. Three noisy points early in growth are not enough to predict its limit reliably. More measurements, especially around and beyond the bend in the curve, help constrain the forecast.
How the calculation works
The reference is a logistic curve with limit L = 100, growth rate k = 0.5 and midpoint t₀ = 4. Its values at times 0, 1 and 2 are about 11.9203, 18.2426 and 26.8941. We use those values as the three distribution means and independently add normal measurement error with the chosen shared standard deviation. The default deviation of 0.5 is only 0.5% of the reference limit. A deviation of zero repeats the means without measurement error. Samples are never sorted, filtered or redrawn to force a fit.
y(t) = L / (1 + exp(−k(t − t₀)))
L = [y₁²(y₀ + y₂) − 2y₀y₁y₂] / [y₁² − y₀y₂]
For an increasing logistic curve, we require 0 < y₀ < y₁ < y₂ < L and k > 0. We then calculate k from the change in log(L/y − 1) between adjacent times. A sample that fails these conditions has no finite increasing logistic fit in this model.
When y₁² is close to y₀y₂, the denominator is almost zero and the estimate of L is very sensitive. At equality, the three points lie on an exponential curve and there is no finite logistic limit. The software treats a relative difference below 10⁻¹² as that boundary. The plots use linear axes, so choosing “All fitted limits” can compress the early observations when a limit is very large.
The experiment illustrates sensitivity within the logistic model. It does not imply that literally any curve is possible, or that every three-point dataset admits a logistic fit.