Helen Jackson

Analytic and Research Support

Agent-based model: Schelling model of urban segregation

Overview: The Schelling model is one of the best-known examples of an agent-based model. The grid is a city, with the two colours representing households of different groups. Pale squares are empty houses. The city starts randomly mixed. Households are happy if at least half of their eight neighbours are in the same group as themselves. Each iteration, up to six random households who do not meet this condition move. Even with a marked tolerance for others, distinct segregated neighbourhoods emerge.


Interpretation: The Schelling model is intended to demonstrate that even mild individual preferences for neighbours similar to oneself can cause social segregation on ethnic or class lines on the city scale. The key point is that the households in the model are not intolerant and do not wish to live surrounded only by people like themselves – they are happy if up to half of their neighbours belong to the other group. Nevertheless, despite their willingness to live in mixed neighbourhoods, over time the city evolves into distinct blocks where many people live only amongst their own group.

Further details: This is a demonstration of a JavaScript object-oriented model.

The city is constructed on a torus (doughnut-shape), rather than a two-dimensional grid. This means that there are no edges or corners and all households have eight neighbours, which makes both the rules of the model and programming simpler. Note that occasionally households may be unable to move due to a lack of suitable empty properties.