Schelling’s Segregation Simulation

Schelling’s Segregation Model is a simple model showing the difference between micro and macro effects with regards to population distribution. The model is used to explain population distribution within cities. It is by no means a complete model, but does allow for some discussion regarding why we see segregation within densely populated cities and allows some conclusions to be drawn that might seem contradictory to popular belief.

The basic model represents opposites of a characteristic in the general population. My model is making use of reds and blues to visually represent the segregation. White is open city blocks / households / areas. Red and blue can represent, rich and poor, black and white, old and young, etc. The concept is based on the prelude that people will move from a neighbourhood if there are not enough of their type in the neighbourhood.


The model will start with 40% of the area populated by “blues” and 40% by “reds”. The remaining 20% is open space that the agents can move to. Initially the similarity threshold is set to 70%. This means that we should expect a high initial average unhappiness of about 80-85%. Seeing as blues and reds are randomly distributed, we get an average neighbour similarity around 50%.


  • Distribution – slider for defining the ratio of red – blue – empty space when running setup
  • Similarity Threshold – percentage of neighbours that must be similar to satisfy the household
  • Setup – randomly distributes the 200×200 grid into the ratios specified
  • Start / Stop – start or stop the simulation (simulation will automatically stop when unhappiness = 0%)

Explanation of the Model

There is only one rule. I will move if there are not enough neighbours like me and stay if there are. The below two tables show how, with a threshold of 30% similarity, people will make a choice as to whether to move or stay. This is the micro action that has impact on the macro system.

Like 1
Unlike 5
Total 6
Ratio Like 1/6
Percentage 16.6%
Threshold 30%
Result Move
Like 3
Unlike 4
Total 7
Ratio Like 3/7
Percentage 42.9%
Threshold 30%
Result Stay

Graph Explanation

The left-hand graph shows how the average similarity of the neighbours behaves over time. The average similarity is the summation of all the agents “like neighbour ratios”, divided by the amount of agents evaluated. The right-hand graph is the level of average unhappiness in the system over time. It is the amount of unhappy agents (does not satisfy the threshold) divided by the amount of agents in the system.

Interesting Macro Effects

  • The less available space there is, the more the segregation can be seen.
  • 30% likeness threshold results in average similarity of around 75%
  • 50% likeness threshold results in average similarity of around 95%
  • 70% likeness threshold results in average similarity higher than 95%
  • 80% and higher the system does not converge and we have around 50% average similarity

Logical Conclusions

  1. The model is biased, as you begin with 50% similarity and then start moving to neighbourhoods you prefer. This implies that you will always expect to see a higher average similarity after a few iterations, no matter the similarity threshold,, as only the unhappy people move.
  2. A racist society (80% racist and higher) should not be able to segregate, as they will constantly be unhappy and relocating (ceteris paribus).
  3. Some of the setups can result in a effective ways to generate terrain distribution for 2D maps.