Logistic Population Growth

Also known as Verhulst equation · sigmoid growth · carrying capacity model · S curve population · density dependent growth · logistic curve

N(t)=K1+KN0N0ertN(t) = \frac{K}{1 + \dfrac{K - N_0}{N_0}\,e^{-rt}}
individuals
individuals
individuals

Enter your known values, leave one input blank, and solves for the missing one. Try different units for next level excitement!

Learning zone

Exponential growth cannot last, because nothing has infinite food. Pierre-François Verhulst wrote down the fix in 1838, in a direct reply to Malthus: let the per-capita growth rate fall linearly as the population approaches a ceiling K, and the runaway exponential turns into an S. Early on, when N is far below K, the brake barely engages and the curve is exponential. At exactly K/2 the population is growing as fast as it ever will — that is the inflection point, and it is why maximum sustainable yield in fisheries is traditionally taken at half the carrying capacity. After that the brake takes over and the curve flattens onto K without ever quite arriving.

The solved form on this page is the integral of Verhulst's differential equation, and it is worth reading as three separate pieces. K sets the ceiling. The ratio (K − N₀)/N₀ sets where on the S you start: a population beginning at a hundredth of capacity has that ratio at 99, and spends a long time in the flat early stretch. And r sets how fast you travel along it. Starting 50 animals toward a capacity of 1,000 at r = 0.3 per year, after ten years you have 514 — the population has just crossed its halfway inflection and is growing as fast as it ever will.

Solving backwards is where the page earns its keep. Given two censuses and a growth rate you can recover K, which is the parameter nobody can measure directly; given K and two counts you can recover r; given all the parameters you can ask how long the recovery takes. Watch what happens as N approaches K in those inverse brains: the logarithm blows up, and the time to reach 99% of capacity is enormously more than the time to reach 90%. That is not a numerical artefact, it is the model telling you it has stopped being informative up there.

Three honest cautions. The model treats population as a continuous quantity, which is why an answer of 513.9 animals is not a bug — it is a smooth curve fitted to a lumpy world, and you should round it yourself and not too confidently. Real populations overshoot, oscillate and crash; the logistic has no time lag in it, and adding one turns the same equation into a source of chaotic behaviour, which is exactly what Robert May demonstrated with the discrete version in 1976. And K is rarely constant: carrying capacity moves with rainfall, season and management, so a fitted K is a description of the years you fitted it to.

The logistic also travels well beyond ecology, which is worth knowing because it means you will meet it wearing other hats. The same curve is the epidemic curve of an SIR outbreak in its early and middle life, the adoption curve for a technology, the autocatalytic reaction, and — with the axes renamed — the logistic function at the heart of logistic regression. If you have already met it in one of those places, everything you know transfers: K is the total addressable population, r is how fast word gets around, and the inflection at K/2 is the moment the growth rate peaks and the headlines start saying the worst is over.

Logistic Population Growth
N(t)=K1+KN0N0ertN(t) = \frac{K}{1 + \dfrac{K - N_0}{N_0}\,e^{-rt}}
KK/2N0tN(t)time
Where
  • NN= Population at time t (individuals)
  • KK= Carrying capacity (individuals)
  • N0N_0= Starting population (individuals)
  • rr= Intrinsic growth rate (1/yr)
  • tt= Elapsed time (yr)