Math
Verhulst Logistic S-Curve Growth & Carrying Capacity formula (EXP & LN)
Model bounded market adoption and population saturation via P(t) = K / (1 + ((K - P0)/P0) * EXP(-r * t)) and solve for the K/2 peak-growth inflection time.
A constant-capacity logistic growth scenario
The model assumes constant carrying capacity K and intrinsic rate r. For r>0 and0<P0<K, the curve approaches K and has peak instantaneous growth at K/2. It does not establish a real market’s total addressable size or account for changing conditions. Parameters here are supplied, not fitted to data.
This exercise accepts t>=0, r>=0 and0<=P0<=K with K>0. P0=0 and P0=K are constant equilibria; r=0 is also constant. These cases have no unique interior inflection. If P0>K/2, the formal inflection time is negative: the midpoint occurred before the chosen time origin.
| S-Curve Parameter | Cell | Market Adoption Input | Logistic Output |
|---|---|---|---|
| Initial Users (P0) | B2 | 1,000 users | At t = 0 -> P(0) = 1,000 |
| Carrying Capacity / TAM (K) | B3 | 50,000 users | Midpoint inflection = 25,000 users |
| Intrinsic Growth Rate (r) | B4 | 0.50 per year (continuous intrinsic rate) | Inflection time = LN(49)/0.5 = 7.78 yrs |
| Forecast Horizon (t) | B5 | 8.0 years | P(8) = 26,350.93 users (Just past peak!) |
Closed-form Verhulst Logistic S-Curve level P(t)
The level is a continuous model estimate, rounded for display. r=0.5 per year is not a guaranteed50% annual increase: the instantaneous proportional rate also depends on P/K. A displayed rounded value of K at a long horizon does not mean the interior trajectory reaches K at a finite time.
=IF(OR(COUNT(B2:B5)<>4,B3<=0,B2<0,B2>B3,B4<0,B5<0),"Invalid inputs",IF(B2=0,0,ROUND(B3/(1+((B3-B2)/B2)*EXP(-B4*B5)),2)))Time to reach S-curve midpoint inflection (P = K / 2)
The logarithmic expression applies only for r>0 and0<P0<K. It returns0 at P0=K/2 and a negative time if the initial level is already above the midpoint.
=IF(OR(COUNT(B2:B5)<>4,B3<=0,B2<0,B2>B3,B4<0,B5<0),"Invalid inputs",IF(OR(B2=0,B2=B3,B4=0),"No interior inflection",ROUND(LN((B3-B2)/B2)/B4,2)))Try the example
Use the original values or change them to test your understanding.