HomeArticlesSociety & Economics

The Voter Model and Schelling Segregation: How Local Rules Produce Global Order

Two simple lattice models, no leaders and no plan, and yet consensus and segregation both emerge — reliably — from purely local rules.

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

The voter model: copy your neighbour, nothing else

Place an opinion — say, red or blue — on every cell of a 2D lattice at random. At each step, pick a random cell and have it simply adopt the opinion of one randomly chosen neighbour. That's the entire rule; there is no persuasion, no argument, no idea of which opinion is "better." Run it long enough on a finite grid and something striking happens: the whole lattice converges to a single colour, purely by random drift. Whichever colour happens to get a local numerical edge tends to keep growing that edge, because a cell surrounded by more of one colour is statistically more likely to copy that colour next, and that small self-reinforcing bias eventually snowballs into total consensus with no one ever deciding to persuade anyone.

live demo · opinions spreading on a lattice● LIVE

Noisy voter: adding a little independent randomness

The classic voter model always dies into a frozen, unanimous state, which is not a great model of real opinion dynamics — real populations keep fluctuating. The noisy voter model fixes that by giving each agent a small, fixed probability of flipping to a random opinion regardless of what its neighbours think, representing independent-minded individuals, new information, or simple noise. That tiny amount of randomness is enough to prevent the system from ever locking into one absorbing state; instead it settles into a fluctuating steady state, with the population share of each opinion oscillating around some average value forever, closer to how real public opinion polls actually behave over time.

Schelling segregation: nobody wants to be isolated, everybody gets separated

Economist Thomas Schelling's 1971 model asks a different question with the same lattice machinery. Place two types of agents ("red" and "blue" households) randomly on a grid with some empty cells, and give every agent one simple preference: it is content if at least a threshold fraction of its occupied neighbours share its type, and unhappy — willing to move to a random empty cell — otherwise. Crucially, that threshold can be modest: an agent happy with just 30% same-type neighbours is not asking to live in a segregated neighbourhood at all, only to avoid being a small isolated minority. Yet when every agent in the grid follows that same mild rule simultaneously, letting unhappy agents relocate step after step reliably produces sharply segregated clusters — patches that are nearly 100% one type — even though nobody in the model ever wanted, or asked for, that outcome.

Schelling step, for each occupied cell c:
  same = count of occupied neighbours matching c's type
  total = count of all occupied neighbours
  if total > 0 and same / total < threshold:
      move c to a random empty cell     // "unhappy" -> relocate
  # threshold of just 0.3-0.4 (a MINORITY preference) is enough to
  # tip the whole grid into near-total segregation after enough steps

Two very different rules, one shared lesson

The voter model and Schelling's model encode almost opposite social behaviours — pure imitation versus a mild preference for similarity — yet both are textbook examples of emergence: a striking, often counter-intuitive global pattern (total consensus, or near-total segregation) arising purely from simple, local, individually reasonable rules, with no central coordination and no one intending the aggregate outcome. That is precisely why these lattice models remain foundational in sociophysics and urban economics decades after they were introduced — they show how thin a gap can lie between "everyone is being individually reasonable" and "the group ends up somewhere nobody chose."

Frequently asked questions

Does the voter model always reach consensus?

On a finite lattice, yes — the classic voter model always ends in one absorbing state where every agent shares the same opinion, purely by random drift, because there's no restoring force pulling the system back toward a mix once one opinion starts to dominate. On an infinite 1D or 2D lattice, however, the model reaches only local consensus in ever-growing patches and never a single global one; only in three or more dimensions can a persistent mixed state survive indefinitely.

What is the key surprise in Schelling's segregation model?

Schelling showed that even a mild individual preference — wanting just, say, 30% of your neighbours to share your type rather than a majority — is enough to produce almost complete neighbourhood segregation once everyone acts on it simultaneously. No individual agent wants full segregation, and no discriminatory intent is required in the model at all; the stark outcome emerges purely from many people making small local adjustments in response to each other's moves.

What is the difference between the classic voter model and the noisy voter model?

The classic voter model has agents purely copy a random neighbour, which always drifts to one absorbing consensus state. The noisy voter model adds a small independent probability that an agent spontaneously switches to a random opinion regardless of its neighbours, which prevents the system from ever fully locking in and instead produces a fluctuating steady state where the population share oscillates around some average value indefinitely.

Try it live

Everything above runs in your browser — open Voter Model & Schelling Segregation and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.

▶ Open Voter Model & Schelling Segregation simulation

What did you find?

Add reproduction steps (optional)