NetLogo banner

 Contact Us

 Modeling Commons

 User Manuals:


NetLogo User Community Models

(back to the NetLogo User Community Models)


by Guido Fioretti (Submitted: 02/25/2010)

[screen shot]

Download VacancyChains
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.)


Vacancy chains are a means of resource allocation alternative to markets or other forms of competition. Vacancy chains take place if the resource is sufficiently specific and the information sufficiently restricted for there being only one applicant to the resource. In fact, if there are two or more applicants a competition sets in, and eventually a market may arise in order to manage this competition.

Quite often, organizations restrict information and require specificity in order to allocate resources by means of vacancy chains. For instance, positions can be made very specific and information on available positions can be made hardly available so careers happen because the retirement of a high-ranked official triggers a chain of promotions among his subordinates. Another instance may be the way the most expensive and unique houses are allocated. Similarly, vacancy chains have been observed among hermit crabs lining up for occupying empty shells. Decentralized allocation of problems among robots can also be achieved by means of vacancy chains.

The vacancy chains model considers a set of positions ordered in strata. If a vacancy is produced, the corresponding position is occupied by agents from lower strata. Thus, vacancy chains propagate from upper to lower strata.


The model landscape represents positions in an organization. Each position is characterized by an "elevation" representing the stratum to which it belongs - strata may represent levels in a hierarchy, size of houses or shells, etc. The positions of stratum zero represent the surrounding competitive arena. The highest stratum is white, the lowest stratum is black, intermediate strata are depicted according to different shades of grey.

Vacancies appear as green areas. If they find just one neighbor exactly one stratum lower than them, they diffuse down the ladder leaving a yellow stripe behind them. Thus, vacancy chains appear as yellow worms with a green head.

As soon as a vacancy finds two or more neighbors exactly one stratum lower than itself, the vacancy chain stops. This is the point where competition begins. It may happen within an organization, or at the border between an organization and the surrounding market.

Vacancy chains may be influenced by the size of organizations, as well as by extent of their connections. This model allows to build "walls" in organization space that halt the propagation of vacancy chains. Walls generate islands of larger portions of positions eventually linked by tiny bridges, mimicking the formation of network organizations.


The button "Setup Positions" assigns positions to strata. The slider "n-walls" selects the number of walls that separate positions from one another.

The number of strata is set by means of the slider "n-of-strata". The distribution of strata is chosen by means of the selector "strata-distribution", which can be:
1) "hierarchical": A hierarchy characterized by an exponential distribution of position, i.e. exponentially more positions have been assigned to lower strata;
2) "inverse": An inverted hierarchy characterized by an exponential distribution of positions, i.e. exponentially more positions have been assigned to upper strata;
3) "linear": A linear organization characterized by a uniform distribution, i.e. there are just as many positions in the lower as in the upper strata;
4) "lean": A hierarchy characterized by an exponential distribution of the upper positions and a poisson distribution of the lower strata, i.e. such that middle positions are far less than in the hierarchy produced by an exponential distribution.

The slider "starting stratum" allows to select the stratum where vacancies will be created. The button "Setup Vacancies" creates vacancies at the desired stratum. An error message is issued if the starting stratum is larger than the number of strata.

The button "Go" creates vacancy chains. Chains form depending on the size of the neighborhood that observes a vacancy. The model allows to select a neighborhood of 4, 8 or 24 positions around a vacancy.

If the "verbose?" option is selected, the model writes on the Command Center which vacancies are forming chains, and how long they are. Note that an isolated vacancy is a chain of length 1.

The button "iterate" repeats the sequence "Setup Positions" - "Setup Vacancies" - "Go" a number of times specified by "times". At the end, the following information is written on the command center:
- The percent of chains of each length;
- The number and percent of chains of length greater than one.
All information is averaged over the number of runs specified by "times".


The larger the neighborhood, the more likely that an agent able to fill a vacancy will found. However, the larger the neighborhood, the more likely that two or more agents able to fill a vacancy are found. Thus, large neighborhoods lengthen or shorten chains depending on starting stratum and organizational form.

The functioning of the model is clearest if the number of strata is small, i.e. 2 or 3. Then, it is easy to see that even if positions of the required level are available in the neighborhood of a vacancy, the chain stops if the neighborhood entails more than one such vacancy.


Depending on organizational form, certain configurations of parameters are such that the proportion of chains of length greater than one increases with the size of the neighborhood, others are such that the proportion of chains of length greater than one decreases with the size of the neighborhood. A few configurations are such that the proportion of chains of length greater than one increases when the neighborhood increases from 4 to 8, decreases when the neighborhood increases from 8 to 24. The first two regions correspond to connected areas in parameters space, whereas the third region is a thin border between them.


This model focuses on vacancy chains as a means for resource allocation. However, even after a vacancy chains loses this function to a market or some other form of competition, it can still be tracked. A model that would also allow for resource allocation by competition would enable the user to observe vacancy chains even after they lost their function as a means for the allocation of scarce resources.


The procedure "form-chains" calls itself recursively. It forms chains by moving vacancies down positions of decreasing elevation.


This model is thoroughly described in:

Guido Fioretti
A Model of Vacancy Chains as a Mechanism for Resource Allocation
Journal of Mathematical Sociology, 34 (1) 2010: 52-75.

This model was built by:

Guido Fioretti
University of Bologna
Department of Management Science

(back to the NetLogo User Community Models)