Ecology · Verhulst, 1838
Explosive on paper, S-shaped in a finite world.
Population growth calculator
Exponential growth is \(N(t) = N_0 e^{rt}\); logistic growth adds a ceiling, \(N(t) = \dfrac{K}{1 + \left(\frac{K - N_0}{N_0}\right) e^{-rt}}\), where \(K\) is the carrying capacity.
What is population growth?
A population is just a count of how many individuals there are, of rabbits, bacteria, people, anything that breeds. Population growth is the story of how that count changes over time, and it comes in two basic shapes.
The first is runaway growth. If every individual leaves behind the same number of offspring, then the more you have, the more get added each round. Two become four, four become eight, eight become sixteen. This is exponential growth, and it starts slow and then becomes staggeringly fast. A pond weed that doubles daily can look harmless for weeks and then cover the whole pond in a day or two.
The second shape is what actually happens in the real world, because the world runs out of room. Food, space and water are limited, so as a population grows, life gets harder and growth slows down. Eventually births and deaths balance and the number levels off at a ceiling set by the environment. That ceiling is called the carrying capacity, and the growth curve on the way there is a smooth S.
The calculator at the top lets you set the starting number, how fast it grows, and the ceiling, and it draws whichever curve you choose. The same two shapes describe everything from a bacterial colony in a dish to the number of humans on Earth.
Exponential versus logistic growth
Model a population's size \(N\) as a smoothly changing quantity. The simplest rule is that its rate of change is proportional to its current size: each individual contributes the same per-capita growth. Written as a differential equation,
\[ \frac{dN}{dt} = rN, \]
where \(r\) is the per-capita growth rate. Solving it gives exponential growth, \(N(t) = N_0 e^{rt}\). The population doubles every \(\ln 2 / r\) units of time, no matter how big it is, which is why exponential curves feel so explosive.
Nothing grows exponentially forever. The fix is to make the growth rate fall as the population approaches a maximum \(K\), the carrying capacity. Pierre Verhulst's logistic equation does exactly that:
\[ \frac{dN}{dt} = rN\left(1 - \frac{N}{K}\right). \]
When \(N\) is small the bracket is near 1 and growth is almost exponential; as \(N\) approaches \(K\) the bracket shrinks to zero and growth stops. The solution is the S-shaped logistic curve, rising fastest at the halfway point \(N = K/2\) and flattening onto \(K\). This single equation captures the whole life story of a resource-limited population, and the calculator plots both models so you can see where they diverge.
The logistic equation and carrying capacity
Two regimes, one crossover
The logistic model interpolates between two behaviours. Near \(N \ll K\) it is exponential with rate \(r\); near \(N \approx K\) the deviation \(x = K - N\) decays exponentially as \(\dot x \approx -r x\), so the approach to the ceiling is also exponential but downward. The inflection point at \(N = K/2\) is where the growth rate \(dN/dt = rK/4\) is maximal, and it marks the crossover between the accelerating and decelerating phases.
r-selection and K-selection
The two parameters name two life strategies. r-selected species maximise \(r\): many cheap offspring, fast reproduction, boom-and-bust in unstable habitats, think insects or weeds. K-selected species live near \(K\): few, well-provisioned offspring and strong competition in stable, crowded environments, think elephants or oaks. Most real organisms sit on a spectrum between these poles, and the trade-off shapes their ecology.
Discrete time and chaos
Replace the smooth derivative with a discrete generation step and the logistic map \(N_{t+1} = r N_t (1 - N_t)\) appears. For small \(r\) it settles to a stable value, but as \(r\) increases the equilibrium period-doubles, then, past about 3.57, tips into chaos: deterministic population dynamics that never repeat, the same route to chaos seen across nonlinear systems. The tidy S-curve is only the continuous-time story.
What the model leaves out
The logistic assumes a constant carrying capacity, instant response to density, no age structure and no interactions with other species. Real populations bring time lags (which can drive oscillations), predator-prey coupling (the Lotka-Volterra equations), Allee effects at low density, and environmental variability. Each is an extension of the same starting point, which is why exponential and logistic growth are the first two things any population ecology course teaches.
Related: Epidemics & the SIR Model · Natural Selection · or go back to all topics.