NetLogo banner

NetLogo Publications
Contact Us

Modeling Commons

Beginners Interactive NetLogo Dictionary (BIND)
NetLogo Dictionary

User Manuals:
Farsi / Persian


NetLogo User Community Models

(back to the NetLogo User Community Models)

[screen shot]

If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".(The run link is disabled for this model because it was made in a version prior to NetLogo 6.0, which NetLogo Web requires.)

Please send comments/suggestions to


This simple model reflects Granovetter's (1978) idea of how the bandwagon effect emerges. He takes a riot as an example of the phenomenon. Bandwagon is usually described as the tendency to adopt a technique, innovation, behavior, thought, process, or attitude because of its popularity or, that is the same, because that is what the sheer number of peers are doing. According to Granovetter, bandwagon emerges through the idea of a “threshold” level. This is, for the individual, “the proportion of the group he would have to see join before he would do so” (Granovetter 1978, p. 1422). He also specifies that the “threshold is simply that point where the perceived benefits to an individual of doing the thing in question […] exceed the perceived costs” (p. 1422). Imagine 100 individuals and that “there is one individual with threshold 0, one with threshold 1, one with threshold 2, and so on up to the last individual with threshold 99. […] The outcome is clear and could be described as a ‘bandwagon’ or ‘domino’ effect” (1424).

Default settings of the model (i.e., randomize = off) show a pattern of bandwagon diffusion (or effect) that reflect Granovetter's idea. If you switch 'randomize,' to the 'on' position, random thresholds are assigned to agents and the model significantly deviates from the standard Granovetter's. These "deviated" models are meant to be better approximations of what happens to real bandwagon phenomena.


At the beginning, all agents in the model are green, with one exception: one agent is red. The red agent has threshold 0 and it is the one showing a behavior that can be imitated by other agents. On every tick, the agent with a threshold that equals the number of red agents (i.e., that already joined the bandwagon), automatically joins the bandwagon and turn red. When using default setting (randomize = off), thresholds are 'unique;' every agent has a threshold that is different from that of other agents. To get this easyly done, these thresholds are the same as the agent 'who' number. Therefore, default always repeats itself even when you click the layout button (that allows agents to move on your screen).

A significantly different pattern may be observed when the default is abandoned. This is as simple as switching the randomize to 'on.' This assignes turtles with random thresholds (via normal distribution that has mean and standard deviation that derive from the number of agents in the system). Why randomize? Simply because in a real-world situation (a) we do not know threshold levels (even our own threshold is somehow a mistery althought social psychology may help us understand), and (b) it may be that some have very similar threshold levels. Anthough relevant, these are not the only differences from the default/Granovetter's.
Each agent joins the bandwagon depending on how many agents they are able to observe. The slider 'vicinity' let agents vary their perception of what is going on around them. The assumption for this setting is that people are not always aware of everything that is goin on around them, or there are only few behaviors/ideas/innovations that are interesting or relevant to them (i.e., levels of attention vary).

These differences count for a significant number of deviations from the initial hypotheses. Agents turning red are heavily affected by original assumptions.


Here is a short description of the buttons, sliders, etc.:

Setup: let's get started! [sometimes, you have to hit that twice to see circles instead of turtles… I do not know why…]

Go: there are two go buttons. The button 'go (one step)' takes the model one step further (one tick), while the 'go (continuum)' repeats the go command forever… or until all agents turn red, or until you click the button again.

Layout: this makes agents move.

Individuals: the number of individuals in the model (everybody is green but one).

Randomize: when it is 'off,' agent's threshold is the same as the who number for that agent. When it is 'on,' thresholds are assigned randomly to agents.

Vicinity: how far goes the 'sight' or 'observational ability' of the agent.

Link-rioters: when it is 'on' red turtles link (and group) together.

Monitors have been inserted to check whether the commands are doing what they are supposed to do and to give an idea of the numbers behind the model.


While running the model, users may notice that agents on the default settings (Granovetter's) always repeat themselves although their location in the space is different. This is one of the points that makes that example unrealistic. Randomization helps noticing fairly different behaviors. It may be interesting that randomization brings more uncertainty as bandwagon will not always emerge (as it is in the standard/default settings). What does it take for bandwagon to emerge? What is that triggers the bandwagon effect?

The model helps to show that the level of connectedness, or the social awareness of single agents, is necessary for any social imitation mechnisms to spread in a given system. The more individuals are aware of what others are doing/thinking, the more likely it is that bandwagons emerge. Of course, this is a mere statistical concept, since we are not making any assumptions on the motives that lead agents to social imitation.


Three basic things that could be done are: (a) change the number of individual in the system and observe what happens, (b) turn the 'link-rioters' on, (c) move the 'vicinity' slider to set the level of social 'awareness.'


We can modify this model to include possibilities for different starting conditions. For example, we can:
(a) have more than one agent with threshold = 0 in the standard/default setting, maybe with a slider that sets the initial number of red agents;
(b) have different conditions on which thresholds are associated to agents;
(c) set different rules for how the turtles move in the space;
(d) create utilitarian motives for joining the bandwagon, and study how thresholds and motives interact/depend on other conditions of the system;
(e) …


Features that are in this model are very simple and they come from a slight modification of existing models. Am I victim of bandwagon myself?!?


Models related to this are:
Virus on a network (Library)
WSN by Qasim Siddique (Community)


Here are some of the references that inspired the model's logic:

Abrahamson E, Rosenkopf L (1997) Social network effects on the extent of innovation diffusion: A computer simulation. Organization Science 8(3):289–309.

Chiang YS (2007) Birds of moderately different feathers: Bandwagon dynamics and the threshold heterogeneity of network neighbors. Journal of Mathematical Sociology 31:47–69.

Fiol CM, O’Connor EJ (2003) Waking up! mindfulness in the face of bandwagon. Academy of Management Review 28(1):54–70.

Granovetter M (1978) Threshold models of collective behavior. American Journal of Sociology 83(6):1420–1443.

Secchi D (2010). Extendable Rationality. New York: Springer.

Secchi D, Bardone E (2009) An organizational model of bandwagon. Working Paper No. 1, College of Business Administration, University of Wisconsin–La Crosse.

Wilensky, U (1998) NetLogo Wolf Sheep Predation model. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.

(back to the NetLogo User Community Models)