HomeArticlesBiology & Life

Population Waves: An Invasion's Range Boundary as a Travelling Front

A species dispersing and multiplying across a landscape advances its range at a strikingly predictable, constant speed — until the Allee effect gets involved.

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

Range expansion looks a lot like a chemical front

When a species is introduced into new territory — deliberately, accidentally, or as climate shifts a habitat's boundary — its occupied range typically doesn't grow chaotically. It advances as a coherent front: a boundary between "colonised" and "uncolonised" territory that moves outward at a speed that stays remarkably constant once the initial transient settles down. This is the same mathematics that governs autocatalytic chemical fronts, which is fitting, since it was Ronald Fisher who wrote down the governing equation first, in 1937 — not for chemistry, but to study how a genetically advantageous trait spreads spatially through a population.

The model on a 2D grid

Population density n(x, y, t), tracked continuously over a 2D landscape, obeys the Fisher-KPP reaction-diffusion equation:

∂n/∂t = D · ∇²n  +  r · n · (1 - n/K)

n(x,y,t) = local population density
D        = dispersal coefficient — how far individuals wander per unit time
r        = intrinsic per-capita growth rate (at low density)
K        = carrying capacity of the local habitat

The growth term is logistic: population grows fastest when density is low relative to the carrying capacity, and levels off as it approaches K — the standard model for reproduction limited by finite resources. Dispersal is treated as diffusion: individuals move via a random walk of local movements (foraging, seeking territory, offspring settling nearby), and over many individuals and many small movements this random walk behaves, in aggregate, just like diffusion of a chemical concentration.

live demo · a population front advancing across a 2D grid● LIVE

The speed, and Skellam's muskrats

Just as with the chemical front covered elsewhere on this site, the leading edge of a Fisher-KPP population wave — where density is low and growth is essentially unhindered by the carrying capacity — sets the propagation speed:

v = 2 · √(D · r)          (speed of range-boundary advance)

The ecologist J.G. Skellam tested exactly this prediction in a landmark 1951 paper, using historical records of muskrats spreading across Central Europe after a small number escaped a fur farm in Bohemia in 1905. He found that the total area occupied grew almost perfectly linearly with time — precisely what a constant-speed radial front predicts (area of a circle scales as the square of its radius, and if the radius grows linearly with time, area grows as time squared; Skellam actually tracked the square root of area, which did grow linearly). This was one of the first quantitative confirmations that a reaction-diffusion model, developed for entirely different reasons, could describe a real, messy ecological invasion.

When low density is a disadvantage: the Allee effect

Plain logistic growth assumes per-capita growth rate is highest when density is lowest — the newly-arrived pioneers at the very front of the wave should, in principle, reproduce fastest of all, since they face no crowding. Many real populations violate this: at very low density, individuals may struggle to find mates, lose the benefits of group foraging or predator defence, or suffer inbreeding — collectively called the Allee effect. A strong Allee effect means per-capita growth is actually reduced, or even negative, below some threshold density.

// logistic growth (plain Fisher-KPP): fastest growth at LOW density
growth(n) = r · n · (1 - n/K)

// Allee-modified growth: growth suppressed or negative below threshold A
growth(n) = r · n · (n/A - 1) · (1 - n/K)      // strong Allee effect, 0 < A < K

This single change to the growth term has a real consequence for the front. In plain Fisher-KPP, the front is pulled: its speed is entirely determined by the linear growth rate at the very front tip, where density is vanishingly small (which is exactly the 2√(Dr) linearisation argument used above and in the reaction-front article). With a strong Allee effect, growth at very low density is negative or zero, so the extreme leading edge cannot sustain itself — the front becomes pushed instead, meaning its speed is set by the bulk profile behind the tip rather than the tip alone, and it generally advances more slowly than the pulled-front formula would predict, or can fail to advance at all if the Allee threshold is high enough relative to the carrying capacity.

Why this distinction matters for conservation

The pulled-vs-pushed distinction is not academic. It directly informs both invasive-species management (a small, low-density founding population of a pushed-front invader may fail to establish at all, or spread far more slowly than naive diffusion-based forecasts predict, changing the urgency and strategy of intervention) and reintroduction ecology for endangered species (small reintroduced populations facing an Allee threshold may need a minimum founding group size to avoid extinction at the range edge, regardless of how favourable the surrounding habitat is). The same equation that predicts a species' spread also, with one added term, predicts when spread quietly fails.

Frequently asked questions

Does the invasion speed formula v = 2√(Dr) actually match real data?

Remarkably well as a first approximation. J.G. Skellam's 1951 study of muskrats spreading across Europe after their introduction found the area occupied grew roughly linearly with time, exactly as expected for a wave advancing at constant radial speed — a striking early confirmation that Fisher-KPP-style dynamics can capture real ecological range expansion, not just idealized diffusion.

What is the Allee effect and why does it matter here?

It's when a population's per-capita growth rate is reduced, or even negative, at low density — from difficulty finding mates, reduced group defence, or similar effects — instead of growth being highest exactly where density is lowest, as plain logistic growth assumes. A strong Allee effect changes the leading edge's dynamics enough that the front speed is no longer set by the simple linear analysis, turning a "pulled" front into a "pushed" one with a generally slower, differently-scaling speed.

Is population spread really the same mathematics as a chemical reaction front?

Yes, at the level of the governing equation — both are reaction-diffusion systems where a locally saturating growth process competes with spatial dispersal. Fisher himself was studying gene spread through a population, not chemistry, when he wrote down the equation in 1937. The specific interpretation of D (random dispersal vs. molecular diffusion) and r (reproduction rate vs. reaction rate) differs by field, but the mathematics and the resulting v = 2√(Dr) scaling are identical.

Try it live

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

▶ Open Population Wave simulation

What did you find?

Add reproduction steps (optional)