Alberto Lioy, Flavio Stanchi

Computer Science and Simulation for Economics

Project work on

"Labour market."


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.

powered by NetLogo

view/download model file: labour_market.nlogo


The model is a simulation of an economy seen from the SUPPLY SIDE, composed of a certain number of industries (or sectors) and workers who seek work.
The main aim of the model is to show that WAGE BARGAINING CAN CREATE BUSINESS CYCLES in an economy, assuming that the demand perfectly fits the supply.


When the model is set up workers and industries are randomly placed. Workers move around the world and when they find themselves close to an industry they go in and compare their requested wage with the wage level offered by the industry, deciding whether to work there or not.
The core of the model is the WAGE BARGAINING EQUATION. It describes a positive relation between the wage level and the sectoral (or global) employment, plus a fixed component called labour cost.
After starting, the model has a 10 year period of settlement before showing the long-term trend.
An important feature is the complex system of employment dynamics, which uses colors to create sectors and specialised workers.


With the "setup" button we create the world in which agents interact, and also the initial value of the variables.
The button "step" moves the model for one tick (one month).
The button "go" starts the simulation, and if the "halt" switch is on the model stops after 100 years (after 1200 ticks); else, it continues until user stops it.
In the main window there are four sliders
(i)labour_cost (sets the fixed share of salaries AND the base level of wages)
(ii)acceptable_wage (sets the initial base wage level)
(iii)n.labour_force (sets the number of workers)
(iv) (sets the number of industries in the economy)
and three switches
(v)centralised_bargaining (if turned on, wage bargaining is done on the global level of unemployment instead of using separated values of sector unemployment)
(vi)rigidity (if turned on, wage bargaining is made each 2 years instead of each month, i.e. nominal wage rigidity is inserted)
(vii)goverment_benefits (if turned on, there are benefits for workers specialised in a dead sector)

And now the monitors and graphs
l_coefficient : shows the current value average share of the employment for each sector (employment rate/number of sectors)
growth : shows the current value of economic growth, on an annual base
sectoral_stddev : plots the evolution in time of the standard deviation between sector values of unemployment each month (the monitor shows the current value)
employment_stddev_mean : plots the MEAN of the standard deviation of unemployment over time (the monitor shows the relative value),
unemployment_rate : plots the course over time of the unemployment rate of the economy
(the two monitors show resepectively the current value and the mean over time)
employment_rate : plots the course over time of the employment rate of the economy
(the relative monitor shows the current value)
average wage : plots the mean of wage level of sectors over time (the two monitors show resepectively the current value and the mean over time)


While the model runs, you can take a look in two different ways.
The first way is to look at the world's representation (when you do, we recommand to slow down the model down a little bit) to see how the workers get a job, starting from a situation where everybody is unemployed and with no specialisation. When a worker gets a specialisation it changes his color to his sector's color, and you can follow the evolution of employment by watching the numbers on the industries (sector employed). When a worker is employed he is "hidden" inside the industry; when he is fired (because the company can't afford paying him the wage he wants) he appears on the map again and you can follow him while he's seeking a new job.
The second way is to look at the graphs' evolution over time to see how the model behaves from a macroeconomic point of view.


To make experience with the model you can try different combinations of sliders and switches to change the initial settings.
Interesting experiments can be made introducing one new feature while the model is already running.


A good extension of the model could be made introducing consumption and production, with each sector producing a different good and workers consuming a humper of goods in order to live.
Another good idea could be creating a parameter which measures the length of a business cycle, in order to compare it in the different configurations.


Uphill is used to attract workers into industries when they are on a neighboring patch.


We freely took little inspiration from the work of Alberto Canuto, Federica Capanna, Stefano Cumino, whose model with trade unions can be found at


O.Blanchard, "Macroeconomics", Prentice Hall;
W.Carlin-D.Soskice, "Macroeconomics: Imperfections, Institutions and Policies", Oxford University Press.