HomeArticlesPopulation Dynamics

Population Dynamics: Logistic Growth and Predator-Prey Cycles

From a single species levelling off at its carrying capacity to two coupled species locked in a permanent boom-bust cycle.

mysimulator teamUpdated June 2026≈ 8 min read▶ Open the simulation

Exponential growth cannot last

The simplest population model, dN/dt = rN, grows a population without bound at rate r. Real environments do not allow that — food, space and predators cap how many individuals can survive. The logistic growth model adds that cap directly into the equation, using a carrying capacity K:

dN/dt = r * N * (1 - N/K)
when N << K: growth is nearly exponential, dN/dt ~ r*N
when N -> K:  growth rate -> 0, population levels off
when N > K:   dN/dt < 0, population declines back toward K
live demo · populations oscillating between growth and decline● LIVE

The S-curve and why K matters

Plotted over time, logistic growth traces an S-shaped curve: slow start, accelerating rise while resources are abundant, then a bend as competition for food and space intensifies, and a plateau at K, the maximum population the environment can sustain indefinitely. K is not fixed in nature — a drought, a new food source, or habitat loss can shift it up or down mid-simulation, and the population then grows or shrinks toward the new ceiling.

Adding a second species: Lotka-Volterra

A single logistic equation describes one species in a static environment. Real ecosystems couple species together, and the classic case is a predator and its prey. The Lotka-Volterra equations model both populations simultaneously:

dPrey/dt     = a*Prey - b*Prey*Predator
dPredator/dt = d*Prey*Predator - c*Predator
a = prey growth rate,        b = predation rate
c = predator death rate,     d = predator growth per prey eaten

Why predator-prey systems cycle instead of settling

Unlike single-species logistic growth, Lotka-Volterra does not settle to a fixed point under the basic equations — it cycles. Abundant prey lets predators multiply; more predators eat down the prey population; fewer prey starves the predators; predator numbers fall; prey rebounds; the cycle repeats. The two populations are permanently out of phase, with predator peaks trailing prey peaks. This lag is why real predator-prey pairs like lynx and snowshoe hare, tracked in Hudson's Bay Company fur records for over a century, show these boom-bust cycles rather than converging to a stable coexistence.

What breaks the idealised cycle

The pure Lotka-Volterra model assumes unlimited prey growth in the predator's absence and instantaneous, frictionless response — assumptions real ecosystems violate. Adding a carrying capacity to the prey's own growth term, or a saturating predation rate (a predator can only eat so fast even with abundant prey, the functional response), damps the oscillation toward a stable equilibrium instead of an endless cycle. This is why ecologists treat the basic Lotka-Volterra pair as a starting qualitative model, not a quantitative prediction — it explains why cycles exist, less precisely how large or how long each one will be.

Frequently asked questions

What happens to a population once it reaches carrying capacity?

Under the logistic model, growth rate falls to zero once N equals K because the (1 - N/K) term vanishes — births and deaths balance and the population holds steady at K, unless the environment itself changes and shifts K up or down.

Why do predator and prey populations cycle instead of reaching a stable balance?

In the basic Lotka-Volterra equations there is a built-in time lag: predators only decline after prey has already become scarce, and prey only recovers after predators have already declined. That lag produces oscillation rather than convergence to a fixed point — predator peaks trail prey peaks by roughly a quarter cycle.

Does real-world data actually show Lotka-Volterra style cycles?

Yes, the clearest example is the roughly decade-long boom-bust cycle between Canada lynx and snowshoe hare populations recorded in Hudson's Bay Company fur-trading records, which closely matches the qualitative shape predicted by the coupled predator-prey equations, though the amplitude and period depend on details the idealised model leaves out.

Try it live

Everything above runs in your browser — open Population Dynamics and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.

▶ Open Population Dynamics simulation

What did you find?

Add reproduction steps (optional)