Follow your curiosity

What discovery has been shared with you?

Start with one fact. Explore it, go deeper, then follow whichever branch catches your imagination.

Choose subjects for a surprise

Exploring any topic

Begin your discovery

Your next discovery is one click away.

Choose one or more subjects above, or leave Any Topic selected and let curiosity decide.

Environmental Science

Agent-Based Modeling of Residential Segregation Dynamics

Quick fact

In 1971, economist Thomas Schelling used a simple checkerboard model with coins to show that if people prefer to have at least one-third of their neighbors like themselves, the final pattern becomes almost completely segregated—even though no individual desires total segregation.

Why this is interesting

Imagine moving to a neighborhood where you'd be happy even if only a third of your neighbors were like you. Would you expect that neighborhood to end up highly segregated?

Read the full explanation

Understanding Agent-Based Modeling of Residential Segregation Dynamics

Think of a city as a large grid of cells, each representing a house. Each house is occupied by an agent—a person of one of two groups (say, red and blue). Each agent has a preference: they are happy if a certain proportion of their immediate neighbors (the eight surrounding cells) belong to the same group. For example, a threshold of 30% means an agent would stay even if only 3 out of 10 neighbors are like them, but they will move to an empty cell elsewhere if their same-group neighbors fall below that. This is the only rule: move whenever unhappy. The model iterates over time: unhappy agents randomly relocate to vacant spots, and others may then become unhappy as the composition of blocks changes. This cycle repeats until a stable pattern emerges. The startling result is that even with very tolerant thresholds, the simulation ends up with large clusters of same-group agents, forming distinct neighborhoods. The key is to see that segregation is an unintended, emergent consequence of a local rule: individuals are not seeking to live in a completely uniform world—they just have a mild preference to avoid being a tiny minority.

A deeper explanation

The mechanism behind this is an iterative feedback loop. Start with a random distribution. Some agents will be unhappy because their immediate neighborhood lacks enough same-group neighbors. When they move, they leave a vacancy, potentially making a previously happy neighbor unhappy if that neighbor also relied on the same-group presence. They also create a new cluster in their destination, attracting more of the same group and perhaps triggering a chain reaction. This is how small individual biases create a snowball effect. The formal model uses a threshold rule (e.g., a preference for at least 30% same-group) and a relocation rule (move to nearest or random vacant cell). The simulation runs repeatedly until no agent is unhappy. The result is a classic example of emergence: a global pattern (segregation) that is not directly coded but arises from local interactions. It also demonstrates the concept of a tipping point—once a neighborhood falls below a certain proportion, the outmigration accelerates, leading to rapid resegregation. Understanding this model is crucial because it challenges the intuitive assumption that segregation must result from strong discriminatory preferences or institutional policies. It shows that even relatively tolerant individuals can collectively produce outcomes they did not consciously intend, which has profound implications for urban planning and housing policy. Agent-based models like this are used in modern social simulation to test hypotheses and design interventions, allowing us to explore the consequences of different preference rules, network structures, or policy levers (e.g., zoning regulations, affordable housing placement) in a virtual environment before real-world implementation.

Keep FACTREE close

Internet access is required. Updates arrive when you reopen or reload the app. You may need to sign in again in the installed app.