Agent-based modeling (ABM) is an approach to studying complex dynamic problems by observing the interactions among autonomous actors (agents) that make up a system. It is broadly recognized that complex phenomenon, such as markets, competition and business in general, have outcomes that are not always easily predicted.

For example, a customer engages in a transaction. That alone is not all that interesting. But faced with a multitude of products all vying for the customer's purchase, demonstrating the outcome of customer decisions in aggregate becomes a bit more tricky. Given the fact customers are not homogeneous, competitive product offerings change and overall external factors have reverberating effects, even the market for a relatively simple good or service becomes a complex phenomena in itself.

Traditional methods to attempt to model markets typically take a "top-down" approach; that is they look at the outcomes in totality and try to break down the components that lead to these results. Conversely, ABM methods are bottoms-up. They simulate behavior by allowing the individual components, or actors, within a model to act according to their own rules based on programmed instructions that simulate these behaviors.

In the customer example above, a traditional approach to modeling a product in this market would be to take sales data for the product, as well as data for the competitive products, and calculate out a market share. Using these data as well as external data sources, a marketing model could then attempt to break down the components of demand by relevant factors such as gender, age, ethnicity, geography, etc....

ABM methods, in contrast, re-create the model environment and the actors involved. A simulation can be created through programming a set of autonomous actors to represent customers and the products they may choose. Customer agents may have instructions that govern their purchase habits, including frequency and quantity of purchase, maximum price willing to pay as well as more qualitative characteristics including aesthetic preferences, values and beliefs. The products themselves can be represented as a different set of agents with their own unique corresponding values of price, quantity (packaging size), aesthetics (color, shape, look, feel, etc...) and values (brand positioning). Even more, these products can have input controls so that an observer may interact with freely each product to adjust settings under a variety of different scenarios. Finally, this simulation can be made dynamic by adding movement of customers in relation to products and measuring within each customer the progress each product makes towards achieving that customer's threshold required for making a purchase. The result is an interactive simulation where variety of scenarios can be tested and potential market outcomes observed with graphic detail.