NetLogo banner

 Contact Us

 Modeling Commons

 User Manuals:


NetLogo User Community Models

(back to the NetLogo User Community Models)


by Irshad Faisal (Submitted: 12/14/2010)

[screen shot]

If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".

(You can also run this model in your browser, but we don't recommend it; details here.)


The Exploratron versus Exploitation Dilemma in Innovation

This Netlogo example is meant to accompany Garica (200x), "Uses of Agent-Based Modeling in Innovation/New Product Development Research", Jouranl of Product Innovation Management. This NetLogo Exploration/Exploitation agent-based model has been designed for the observation of how different resource allocation strategies can affect performance and market share in differing consumer markets and competitive environments. It has been proposed that the ecology of competition influences the degree of emphasis of firms on exploration and exploitation activities for producing new products - the greater the competition, the greater the need to exphasize exploration of new technologies (Brenner and Tushman 2003; Ghemawat and Costa 1993).

This model looks at the product development strategy made by innovative firms as they create new products for the marketplace. The makeup of the consumers (early adopters of new technologies vs. late adopters of new technologies) and the number of competitors selling similar products to these consumers will affect the firm's new product development strategies and their subdsequent successes in the marketplace.

See Garcia, Rummel & Calantone "The Exploratron versus Exploitation Dilemma in Innovation: A Complex Adaptive Systems Approach", working paper at for details.


CONSUMERS - Consumers either are early adopters (red) or late adopters (blue). Early adopters will only purchase 'innovative research' products and late adopters will only purchase 'incremental development' products.

Each turn (buying period) consumers randomly select two firms. Based on their buying preference (early adopter or late adopter) consumers buy from the firm which (a) has inventory of their preferred product and (b) has highest market share.

MANUFACTURER - In this model manufacturers compete for consumers by ‘manufacturing’ and ‘selling’ two different types of products, innovative and incremental. The goal of each manufacturer is to determine an innovation strategy, which is the percentage of resources allocated to exploration (innovative) activities and to exploitation (incremental) activities in order to optimize performance.

Before each buying period manufacturers follow one rule (see accompanying article for details) - it (re)allocates funds to exploration or exploitation activites to produce new products based on customer demand. When 'selling' products in the marketspace, if there is a shortage in inventory for innovative products (not enough to cover customer purchase requests) the firm allocates more of its resources to more exploration activities; if it has a shortage of products in meeting customer demand from late adopters it does more exploitation; if there is no shortage, the manufacturer doesn't change its mix of resources. If it has product shortages for both types of customers it looks to see which customers had greater demand and allocates resources to this type of activity.

CONTROL MANUFACTURER - A control manufacturer chooses either an exploration or exploitation strategy and keeps that strategy despite the make up of the customers in the marketplace. Use the control factory to determine which strategies work best in different types of competitive markets places.


‘INITIALIZE’: sets up the model. Clicking on the ‘initialize’ button creates the chosen number of Manufacturer and Consumer agents and randomly places their icons on the agent map. This button also assigns certain characteristics to each of the agents as will be described below.

‘RUN’: starts/stops the model. Clicking the ‘run’ button starts the free running processes of building and buying products. Clicking the button a second time interrupts the process. Any particular run can be started and stopped any number of times but the model can only be initialized when the model is stopped.

‘Command Center’ window: shows the iteration count. The ‘quarter’ was arbitrarily chosen as the unit of cycle time and thus the Command Center window displays: “Quarter xx” where xx is the current cycle count. When the model is initialized, the cycle count starts at ‘Quarter: 0’.


There are two settings for consumers:
a. consumer-population
b. %-early adopters

a. consumer-population
The consumer-population setting allows the user to set the population of consumers from 20 to 1000. Alhough the population could be set much higher, the processing time of the model begins to get slow.

b. %-early-adopters
This setting adjusts the percentage of consumers who only buy innovation (exploration) products. The remainder of the consumer population buys only incremental (exploitative) products. Thus, for instance, if the hybrid automobile market was being simulated, this setting might be set to relatively low percentage early adopters as opposed to a higher setting for a market such as camera-cell phones.


There are three settings for manufacturers:
a. initial-manufacturer-count
b. initial-%-research (global)
c. Manufacturer-adaptiveness (global)
Those manufacturer settings noted as global variables indicate that all the Manufacturers agents have the same setting except the Control Manufacturer (described in next section).

a. initial-manufacturer-count
The initial-manufacturer-count setting allows the user to set the initial number of manufacturers from 2 to 10. This population could represent individual manufacturers or groups of manufacturers. The maximum of ten was chosen so that the performances of all manufacturers could conveniently be viewed simultaneously on the performance bar-charts as will be described later. There is no point in evaluating allocation of resource strategy for a market with only one producer so there is a minimum of two manufacturers.

b. initial-%-research
This setting adjusts the initial percentage of slack resources that manufacturers allocate to exploration type products. This setting does not control the resource allocation for the control manufacturer which has its own setting.

c. Manufacturer-adaptiveness
Manufacturer-adaptiveness refers to the how adapatable (flexible) the firm is to making strategy changes. In the process of consumers buying products, some manufacturers may run out of stock of one kind of product type or the other. When this occurs, the model keeps track of the stocking shortage. When the Manufacturer-adaptiveness setting is greater than 0%, manufacturers change their percentage for exploration allocation based on the differences between stocking shortages to sales ratios for the two types of products. See Garcia, et al. (2004) for greater details. This setting does not affect the resource allocation for the control manufacturer which has its own manual setting


There is one settings for the Control Manufacturer:
a. %-research

The control factory is an agent which does NOT change its allocation strategy throughout the iterations. Its %-research is constant. This allows the user to determine if a particular strategy, for example an all research strategy or 100% initial research, is a winning strategy compared to other strategies.

a. %-research
This setting adjusts the percentage of slack resources that the control manufacturer (only) allocates to exploration type products. This setting does not control the resource allocation for the other (competing) manufacturers. This setting can be changed during the course of a model ‘run’, however, it is difficult to determine on the performance charts when the change was made so this is not advised. It is best changed in-between run starts and stops.


Three charts along the right side of the model’s user interface show the progress of three important sets of data:
a. Market share
b. Relative performance
c. Manufacturer % Research

Each chart is a bar type and shows data for all manufacturers present. The vertical scales are normalized so as to optimize viewing resolution. There are always at least two manufacturer bars and can be up to ten as previously described by the initial-manufacturer-count setting. The Control Manufacturer is always present and is represented by the furthest bar to the left, which is also colored blue. All other Manufacturer bars are black.

a. Market share
This chart shows the running mean of market share for each Manufacturer. The running mean of market share is defined as the accumulation of total sales of a Manufacturer divided by total market sales of all Manufacturers.

b. Relative performance
This chart shows the running mean of performance for each Manufacturer. The running mean of performance is defined as the accumulation of profits from the sales of exploration and exploitation type products, divided by the number of cycles.

c. Manufacturer % Research
This chart shows the relative percentages of resource allocation for all manufacturers as determined by the Manufacturer setting, initial-%-research and the Control manufacturer setting, %-research settings. The chart is not a performance measure but an observation chart useful in seeing how competing manufacturers change their percentages when the Market-adaptability setting is used. If the adaptability setting is not used then this chart simply shows the fixed resource allocation percentages.


a. Research-variance?
This switch enables the research-risk setting. This setting allows for the reality of outcomes from exploration activities – that exploration investments can be risky. Some markets can be more risky than others. Along with added risk comes the possibility of a bigger payoff. Thus the setting range is from 0 to 100% where the zero (0) setting results in no risk with all resources allocated to exploration result in exploration type products. The usefulness of this feature is that it introduces short-term perturbations into the build-buy cycle that can test the sensitivities of performance to risk.

When the switch is off, the research-risk setting is zero.


Run the model with the default settings. Watch how the market share changes for companies taking either a "all research" or "all development" strategy. Which strategy wins in the default mode?


Change the number of consumers, does this change the overall results? Change the % of early adopters, does this change the overall results? Is there a 'tipping point' when it makes sense for a firm to change its strategy?

Change the number of firms competing in the marketspace. Does this change the overall results?

Look at a 'Control Manufacturer'. Under what conditions can the Control Manufacturer beat others using an "all exploration strategy"? Using an "all exploitation strategy"? What can be learned about ecological competition?


One way of extending the model is to add 'contingencies' using multiple switches. What will happen if consumer choice for buying from a manufacturer is related to price, marketshare, and product innovativeness instead of just marketshare alone? How is the model affected if only 50% of slack resources are spent on exploration and exploitation activities. Switches can be added to make these types of environmental changes. See an 'extended model' at


This model makes use of the slider and switch functions of Netlogo.

BehaviorSpace is a tool that allows one to perform experiments with the programmed model. (For more information on how to use BehaviorSpace refer to the Tool menu of any Netlogo model). This feature automatically runs a model many times, systematically varying the model's settings over a designated range of values. BehaviorSpace automatically varies the slider and switch ranges/settings to run 'experiments'. Simulations are run repeatedly where the tool varies the parameters and switch settings in order to observe the effects of the model’s behavior to these changes. This process of varying settings is called ‘parameter sweeping’ or ‘sensitivity analysis’. It allows exploration of the model's "space" of possible behaviors, and helps determine which combinations of settings or types of configurations under which the model best performs in multi-dimension parameter space defined. For this model, the ‘BehaviorSpace’ feature of NetLogo allows the user to map performance and market share in the space modeled by the control sliders and switches. The results of each simulation run are recorded in an Excel file allowing for future statistical analysis. This feature coupled with any statistical package provides for a potentially extremely effective modeling technique for this complex issue. (Netlogo Help Menu 2004)


Multi-player Prisoners Dilemma


This Netlogo example is meant to accompany Garica (200x), "Uses of Agent-Based Modeling in Innovation/New Product Development Research", Jouranl of Product Innovation Management.

To refer to this model in academic publications please use: Garcia, Rosanna and Paul Rummel(2004) Netlogo, Exploratron/Exploitation Dilemma in Innovation Model,

(back to the NetLogo User Community Models)