Alessandro Biondi, Giovanni Bissolino, Roberto Marfé

Computer Science and Simulation for Economics

Project work on

"Wealth distribution and rationality."


The applet requires Java 1.4.1 or higher. It will not run on Windows 95 or Mac OS 8 or 9. Mac users must have OS X 10.2.6 or higher and use a browser that supports Java 1.4. (Safari works, IE does not. Mac OS X comes with Safari. Open Safari and set it as your default web browser under Safari/Preferences/General.) On other operating systems, you may obtain the latest Java plugin from Sun's Java site.

created with NetLogo

view/download model file: wealth_distribution.nlogo


This model simulates the distribution of wealth and is based on a simpler one available at the Netlogo library. The aim of our model is to study how wealth inequality can change in a more complex world - analyse the influence of different factors on the wealth distribution - in production structure and rational behaviour of agents.


In this model agents walk around patches where they can work and get wealth, movements are based on rational sight and life-cycle is described with time going on.
In the original model there exists only one activity based on the initial scenario, here we add a second activity completely affected by agents interaction.

We separate the productivity and production features of the activities: the former is partially influenced by agents moves and wealth (in this way we want to design an investment based on evolution of work activity), the latter represents from one point of view the work output and at the same time the job opportunity / wage offered to the agents.
The initial productivity level of the first activity can be set by the user, so the initial scenario can be very different according to the choice made.
At the same time also the second activity begins, but the productivity growth depends only on agents presence in patches.
Production level is function of productivity and represents "lunch" for agents: they need a specific and variable level of work output for tick, that we called "metabolism".
We describe metabolism evolution as a positive function of wealth: in this way we want to represents a wealth increasing life standing.
This model feature can provide a significant change in wealth distribution.

Agents behaviour is based on three elements: vision, direction and movements.
Vision represents the ability to see the better condition available around the present position:
it is affected positively if actual condition is not sufficient with respect to metabolism and in a negative way otherwise.
Direction is the best choice given the vision constraint and the attraction criterion (productivity or production).
Movement mechanism can be chosen by user: it can be fixed, random in the vision constraint or based on a rational criterion.

Life-cycle is described by random life expectancy and children bearing (when parent is yet alive). Inheritance provides a more realistic description of new generations’ wealth distribution: agents get a first share of eredity when they bear and a second one when parent dies, jointly with brothers.
Reproduction is partially affected in a positive way by wealth.

To observe the equality (or the inequality) of the wealth distribution, a graphical tool called the Lorenz curve is utilized.
We rank the population by their wealth and then plot the percentage of the population that owns each percentage of the wealth.

For a numerical measurement of the inequality in the distribution of wealth, the Gini index is derived from the Lorenz curve.
To calculate the Gini index, find the area between the 45 degree line of perfect equality and the Lorenz curve.
Divide this quantity by the total area under the 45 degree line of perfect equality.


Patches sliders: The MAX-FERTILITY and MAX-CAPACITY-PRODUCTION sliders set respectively the maximum amount of the fertility and capacity production in every patch. The DIFFUSION slider reports the level of wealth diffusion in the initial scenario. The PERCENT-BEST-LAND slider determines the initial density of patches that are seeded with the maximum amount of grain (primary sector).

Turtles sliders: The NUM-PEOPLE slider determines the initial number of people. The MAX-VISION slider is the furthest possible distance that any person could see. WEALTH-INEQUALITY sets the variability of the initial wealth distribution. LIFE-EXPECTANCY-MIN is the shortest number of ticks that a person can possibly live. LIFE-EXPECTANCY-MEAN is the mean of life expectancy.

Evolution of patches: With PRODUCTIVITY-WRT-AGENTS chooser the user can set the environment in which simulation runs (one exogenous activity, one exogenous activity and one endogenous activity, one partially exogenous activity and exogenous activity).

Turtle behaviour: The CHOICE-CRITERION chooser allows to set the criterion of agents’ movements between a lunch criterion (sum of grain and labour) and attractivity criterion (sum of fertility and production capacity). The DIRECTION chooser determines the algorithm which agents make decision of direction with. The MOVES-SIZE sets the movement type among fixed, random and rational.
The RATIONAL-VISION switcher determines a change of the vision on the basis of the wealth, that is the latter is affected in a negative way by the former.
The VARIABLE-LIFE-STANDING, NATALITY and INHERITANCE switcher allows to active further features of the turtle behaviour.

GO starts the simulation. The TIME ELAPSED monitor shows the total number of clock ticks since the last setup. The CLASS PLOT shows a line plot of the number of people in each class over time. The CLASS HISTOGRAM shows the same information in the form of a histogram. The LORENZ CURVE plot shows the Lorenz curve of the population at a particular time as well as the 45 degree line of equality. The GINI-INDEX V. TIME plot shows the Gini index at the time that the Lorenz curve is drawn. The LORENZ CURVE and the GINI-INDEX V. TIME plots are updated every 5 passes through the GO procedure. The CLASS MOVEMENTS shows the percentage of crossings among the classes from the agents.


Are class weights equal? Note the role of classes and their variability.

Is the number of agents stable?

Does Gini index converge at same level?

What's the correlation about Gini index and class movements?

Are results sensitive with respect to the initial numbers of agents?

Do changes in initial scenario able to get new permanent results?


Is the rational environment (incentives to choices and movements) able to get results far from Pareto's Law only with one exogenous activity?

Is the rational environment (incentives to choices and movements) able to get results far from Pareto's Law without life-cycle and inheritance implementation?

If all parameters are equal for any agent (also in term of patches opportunities), is wealth inequality decreasing?


Try to design a different ability in work activities between agents.

Try to design agents movements system driven not only by patches but also by others agents.

Try to generate shocks, in model variables, not totally independent, so to create different (temporary and unpredictable) state of the world (or only in same regions).


This model is based on Wilensky, U. (1998). NetLogo Wealth Distribution model.
Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.