Dynamic systems, emergent behavior, and segregation

How individual preferences can produce unintended consequences

I love behavioral economics in all its forms and flavors, from game theory to social psychology. Computational social science is a flavor that I find incredibly fascinating — it enables us to leverage modern techniques to understand age-old patterns of behavior.

Word of caution: this newsletter is about to get really nerdy really quickly, yet it only brushes the surface of this expansive topic 🤓

Thomas Schelling’s seminal paper, Dynamic Models of Segregation, not only happens to be one of my favorite pieces of work but is also foundational to the field of computational economics.

The canonical “Schelling model” is a simple but elegant agent-based model that shows how individuals (i.e. agents) might self-segregate even when they have no preference for doing so. And in light of the racial tension that our country has witnessed since its founding but that has reached a fever pitch over the past year, I found it timely to revisit this research.

But first, a primer on agent-based modeling

Agent-based modeling is a computational technique for simulating the behaviors and interactions of individuals, or “agents”. It can be used to model everything that involves the interaction of individuals within dynamic systems, from the spread of diseases to traffic flow.

These models feature autonomous “agents” who all act according to relatively simple rules. Interestingly, these simple rules that agents act upon at a local level can give rise to complex global patterns of behavior that are not present in the system’s individual parts. This phenomenon is referred to as emergent behavior — in Schelling’s words, agents have “micro-motives”, and the emergent pattern is a “macro-behavior”.

How the Schelling model works

In Schelling’s model, there is a population consisting of two types of individuals (i.e. agents) — each is type X or type O. The two types represent an immutable characteristic like race, native language, etc. These agents are initially randomly placed into locations of a neighborhood that can be represented by cells on a grid. Cells can be occupied or empty, as shown below.

The fundamental constraint driving the model is that all agents share a threshold t that represents the minimum proportion of other agents of the same type (X or O) that an agent wants as neighbors. As such, if an agent discovers that fewer than t of its neighbors are of the same type as itself, it is “unsatisfied” with its current location and is compelled to move.

The model features “rounds” where agents who are not satisfied can move to any vacant location in the grid. All unsatisfied agents must move within the same round, and after that round is complete, a new round begins where dissatisfied agents can once again move to new locations in the grid. These rounds continue until all agents in the neighborhood are satisfied with their location — i.e. the proportion of neighbors that are the same type as an individual agent is > threshold t.

This is very difficult to conceptualize through words and math, so I’d highly recommend checking out the Parable of Polygons site (one of the coolest open-source projects ever, IMO) for a highly intuitive visual walkthrough of the model’s mechanics.

The results of the model

The Schelling model shows how over time, local preferences of individual agents can produce a global pattern that none of them necessarily intended. You can see this visually in the example below, where t is 50% — agents move around until half of their neighbors are of the same type as they are, eventually creating large segregated enclaves.

Example from https://ncase.me/polygons/ — you can see how from the beginning (left) to the end (right) of the simulation, the “neighborhood” becomes much more segregated

Moreover, there is a compounding effect in each subsequent round that is difficult to show through a static snapshot — agents who fall below their preference threshold move to more homogenous parts of the grid, causing previously satisfied agents to fall below their thresholds and move as well. Over the long run, this accelerates the growth of segregated regions at the expense of more heterogeneous ones.

This may seem like a somber conclusion, but the silver lining is that when we demand diversity, we eradicate global patterns of segregation. In the example below, t is still 50%, but there is an additional condition where agents move if t > 80% — i.e. if more than 80% of their neighbors are of the same type as them. Over many rounds of the simulation, segregation within the neighborhood asymptotes at a low proportion.


Though the Schelling model is simple, there are several important parables at the heart of it, including:

  • Global dynamics can occur independently of local preferences — the dynamics of a system are more deterministic of an end result than individual preferences are

  • Segregation can still occur even if we’re comfortable with difference; its underpinnings are already present in any system where individuals want to avoid being a minority in their own local area

  • Being uncompromising about demanding diversity reverses these inevitable dynamics

The Schelling model is clearly an oversimplified interpretation of the world, but its baffling simplicity is also its main attraction. It facilitates explainability by reducing the complexities of the world into a chessboard of fractions and binary actions.

I’m planning to dive deeper into other topics within this space in future newsletters. Feel free to message me with any reactions to this article as well as any recommendations for future pieces!