Category Archives: agent-based modeling

Pros & Cons of Agent-Based Modeling

In this post, we will look at the pros and cons of Agent-Based Models (ABM). ABMs are a common modeling tool use in computer simulations and can model some rather highly complex systems with little coding.


One strength of ABM is its ability to model heterogeneous populations. By heterogeneous we mean a sample in which the statistical properties of distribution are the same in different parts of the distributions. This is a key assumption in EBM and there are statistical tests that have to be done to assess that these assumptions are met.

ABM also allows for the discrete models rather than continuous models. Many actions within an ABM environment are “on or off” actions. This means that either they completely happened or they did not happen at all. EBM can have partial actions or outputs that would not make sense in the actual world. However, there are some ways around this through the use of a categorical dependent variable in an EBM. However, even in this situation, the EBM decision to pick on action over another is based on probability which can be less than 100%.

For ABM, another benefit is that the researcher does not need to have an understanding of the aggregate or big picture behavior of the phenomenon. These behaviors emerge from the rules that are developed by the researcher. With EBM, a strong understanding of the aggregate behavior or pattern is needed because statistics generally focus on aggregate patterns and not individual deviations from the aggregation. The exceptions to this my be unsupervised machine learning in which pattern discovery is the primary goal.

This leads to another point in that ABMs can incorporate randomness into the model since they do not know the patterns to expect. EBM tends to be deterministic, making it hard to account for randomness which is literally called error.

Lastly, ABM allows you to see a model develop over time because the data is generated during the simulation. Often, but not always, this is not possible with EBM as the data is already collected prior. this makes it hard to experiment with different scenarios


One of the strengths of ABMs is also their weakness which is that ABMs are not beneficial when dealing with homogeneous data. If the statistics in the distribution are all similar there is no need to identify individual agency or behavior. ABMs are focused on the differences in the individual and how these contribute to system patterns.

ABMs can also be computationally expensive. Each agent is moving about and demanding calculations from the CPU. When this number gets too large it can lead to a computer seriously slowing down. However, as technology improves this is less and less of a concern.

A final criticism of ABMs is there use of free parameters. Free parameters are essentially variables that the researcher must set to a specific value before running the model. In machine learning, these are called hyperparameters. Whether free parameters are a weakness or not is somewhat controversial since all models have certain things they assume in order to run.


This post examined the pros and cons of ABMs. In general, as one famous statistician said, “all models are wrong but some are useful.” This same principle applies to the use of ABMs.

Intro to Agent-Based Modeling

Agent-Based Modeling (ABM) is a computational approach to modeling reality. ABM is not new having a history dating back to the 1960s. What is new is that the average computer often will possess the needed computational power to use ABM for modeling purposes. This has led to an explosion in interest in ABMs.

This post will introduce ABM and some terms associated with this field of research.


The term agent-based modeling (ABM) has a lot to it that we need to unpack first. The word “agent” in this context means a computational object that possesses specific actions and behaviors. An example of this might be a car in traffic or birds flying together. These examples will make more sense later.

A model is a description of a process, event, or system. Models are developed to explore a phenomenon because the model can be manipulated to extract understanding. Specifically, a computational model takes inputs (variables) and manipulates the inputs in an algorithm like way. This allows for the prior mentioned experimentation but also for the ability to communicate quantitative results differently than a traditional mathematical equation.

With our knowledge of agents and modeling, we can now say that ABM is a computational model of agents and their interaction with an environment created by the researcher.

More Terms

The rationale behind ABM is the idea of emergence. By emergence, it is meant that when agents interact patterns begin to “emerge.” For example, cars travel together leading to traffic jams and birds fly together in flocks. The pattern of a traffic jam and a flock is only possible when the agents (cars and birds) interact with each other in each system.

Emergence can be seen from two different perspectives. Integrative emergence is the observer knowing the behavior of individual agents but trying to determine patterns or see the “big picture” of the system. For example, you know how cars drive in traffic but you want to understand the patterns of a traffic jam.

Differential emergence is the opposite. It involves the observer knowing the general pattern or big picture but wanting to determine the behavior and actions of individual agents. For example, you know the pattern of a traffic jam but want to learn how individual cars drive in a traffic jam.

A common error people make when looking for emergence is something called deterministic-centralized mindset. This view holds there is no randomness in a pattern and that there is some form of a controller of the pattern. For example, someone is responsible for the traffic jam, or there is a leader among the birds flying in a flock. From these two examples, you can see that it is more common for people to err on the side integrative emergence in that they see individuals responsible for the patterns rather than the system.

Pros & Cons

ABM allows people to explore the complex phenomenon in a hypothetically way. It is possible to generate large amounts of data in a computationally cheap way. In addition, many people find the results of an ABM to be easier to understand because knowledge of calculus is not required. The removal of math seems convenient but equations offer a compact explanation that ABM is not able to duplicate making this a disadvantage.

Among supporters of ABM, there is a small tendency to over-promise the capabilities. There is an argument that the development of ABM is similar to the switch from Roman to Arabic numbers during the Middle Ages. This is unlikely to be a fair comparison because the switch in number systems had a tremendous practical influence in everyday life whereas ABMs might be useful for scholarly like people but not a more practical person such as a plumber or entrepreneur.


ABMs allow researchers to experiment with various scenarios in a highly cost-efficient way. Modeling system with agents provides an approximation of reality that was not possible before. All approaches to uncovering reality have their flaws. However, ABMs providing a unique contribution to research today.