Actions, interactions, and important calculations.
We present a platform for stochastic agent-based simulation of the role of labor in the economy (SABLE). The platform facilitates heterogeneous agents: a large number of firms, workers, and banks are represented as individual agents. It allows the agents to have fixed or random reactions to the other agents and to pursue goals through decisions with bounded rationality. Its purpose is to clarify the feedback effects between the individuals as workers and consumers in a complex environment. SABLE is meant to be a quantitative precise tool to express classical, neoclassical and heterodox scenarios and to document their outcomes. In particular, questions regarding policies dealing with minimum wages, unemployment wages, hiring regulation, and the role of finance on unemployment can be studied in a new, interactive, and transparent way, inspired among others by the critical thoughts in.
- complex systems
- agent-based model
- stochastic process
Unemployment is one of the main concerns of any society, because of its effect on economic, social, and political stability of countries. One of its aspects that is relatively well known and explained is job search. The main approach to understand job search is known as search and matching modeling [1, 2]. Search and matching models represent a stochastic process of joining of unemployed individuals and firms. In the existing literature, this joining is called the aggregate matching function , which proved successful at predicting quantitative and qualitative features of employment. The assumption of aggregate matching functions in labor markets has tested using a network configuration model for directed multigraphs in  and the results suggest the need for theoretical frameworks that take into account the structure of labor market frictions.
Also, the models of aggregate matching are often based on a number of assumptions that are specific to a certain case and related with specific market conditions. For example, in , the assumption is that newly created jobs are the most profitable in the market. Such an assumption is less valid if job creation is by new start-ups. Our approach, stochastic agent-based simulation of the role of labor in an economic system (SABLE) is unique in the sense that it allows for testing of any such assumption with relative ease and high efficiency.
Our agent-based stochastic macroeconomic model also includes the interaction between credit and labor markets. Under the assumption that the investment is dependent on the credit, and that the access to credit is dependent of firms performance, it is expected that the credit market plays a very important role in the dynamics of the labor markets. In this respect, particularly the new firms can be credit constrained, as in .
To describe the underlying concept of stochastic agent-based simulations, and its design concepts specific to our method of implementation, we wrote the paper along the general guidelines of . We conclude with several examples of obtained output and their short discussion.
1.1. General approach
Economic heterogeneous interactive agents are on the workbench of an ever-increasing community for already 20 years (at least the age of the Workshop with the same name WEHIA). In parallel with the finance-focused platforms of the LLS  and Santa Fe type , they have been used to create stylized facts in business cycles, power laws of wealth distribution, fractal time series, etc. as shown in [9–11].
In spite of the limitations of agent-based simulations, they are recognized as a new mathematical tool to tackle concrete problems and connect them easily with the data.
The agent-based platform SABLE offers a standard environment for implementing and comparing specific mechanisms focused on problems in the labor market suggested by the empirical observations or the theoretical discourse within the academic or practitioner economics community.
Moreover, SABLE can be perceived as a neutral scaffold to express in a quantitative precise way various scenarios of current or generic economic situations and processes. In particular, it allows illustrating the possible outcomes of implementing the solutions proposed by various neoclassical and heterodox schools to current economic debates.
The basic groups in the current version of the SABLE platform are workers and firms. Each firm and each worker is represented individually, having a bank account, income, and some other specifications. Further entities such as banks, government, and external markets are implemented in the current version as single/representative agents.
The main interactions between real sector firms are supplier-client ones. As such, the firms are related through a “transactions matrix,” which is a microeconomic similar of the Leontief matrix. It is an antisymmetric matrix representing money transfer between firms (in return to products/services).
The speed by which this matrix changes has a crucial effect on the dynamics and resilience of the economy. Too fast changing of the matrix makes the economy unstable, too slow—it makes it vulnerable to external (e.g., financial sector) change, as seen in .
The next important interaction is between firms and workers. It includes two aspects:
Workers as employees: receiving money from the employer firm;
Workers as customers spending their income on buying products.
As such, the workers are crucial in closing the flow/causal chain in the economic system.
Among other things, the double role of the workers allows for very significant feedback loops that dominate the SABLE system: these feedback loops may stabilize or destabilize the system and are a key to understanding how capitalist economy works.
Workers, firms, the bank, and the government interact through a set of routines that include the following:
Workers are employed in firms or unemployed. Correspondingly,
they get a salary from the firm where they work in return for the labor they produce for the firm, or
they get an unemployment wage from the government (for “free”).
Workers spend their income in the market, thus returning money back to the firms.
Firms pay workers in exchange for the labor they get from them.
Besides, they do business with other firms, paying for services and products.
Firms draw income from the sales to their market.
Firms also compete between themselves over their share of the whole market.
Firms get loans from banks and repay them back later.
Taxes are paid by firms and workers to the government.
These relations are summarized in Figure 1.
2. Design concepts
In this section, we describe the previously introduced general features in more detail and we introduce the specifications of the code underlying the platform.
2.1. Time, activity patterns, and activation schemes
The basic sequence of events consists of several operations performed by agents as outlined in Figure 1:
Create new firms.
Initialize/update related parameters (e.g., the “transaction matrix (TM)”).
Update income of each firm according to its market share.
Update the loan portfolios of the firms.
Update the bankruptcy status of firms.
Rescale the relative market shares of the remaining firms accordingly.
Enforce the limits on the effective market share on each firm according to the maximal amount of products and services that it can receive from suppliers.
Introduce new workers and initialize their respective parameters.
Firms hire or fire workers, according to labor requirements and the salaries level.
Enforce the limits on the effective market share on each firm according to its current available labor.
Update workers’ wages: workers get raises or cuts in their wages (according to their employment history and status).
Pay salaries (and unemployment wages).
Workers spend a certain fraction of their income in the market.
Their aggregate spending generates the income for firms at the next time step.
Firms compete between themselves over market share potential (not their effective hold on the market, which is limited by required labor and services of other firms).
Update interest rate.
Other events may take place, such as government intervention at different stages of the above dynamics, according to the desired effect.
According to the above list, one iteration of the platform corresponds to roughly a month of “real-world” economy progress, since salaries and loan returns are paid monthly.
2.2. Interaction protocols and information flows
Generally, interactions between agents are on the individuals’ level, meaning that different decisions and actions are made by each firm and by each worker (on some occasions, the whole pool of firms or workers acts in coordination; e.g., collective labor contracts):
Pairs of firms may agree to particular transactions.
Loans are decided by pairs of firms or banks (according to a set of rules which takes into account the firm’s features, the interest rate, etc.).
The hiring and firing of workers is decided by the firms that employ them.
In the present implementation, workers do not resign of their own volition.
Initial wages are determined by labor initial capability (a given parameter).
Further wages are fixed by previous wages and seniority.
In the present implementation, the end consumer market equals the total labor income (after taxes and interest).
2.3. Levels of randomness
SABLE has a core of random processes, which govern the dynamics of the entire economy as follows:
The initial wealth of the new companies is random.
For each firm, the relevant elements of the transaction matrix may evolve through a random process.
Loans are granted with a certain probability depending on firm income, firm wealth, interest rate, etc.
Hiring, firing, and offered wages have a random element too.
The competition between companies for market shares is decided in a random way (with bias toward the larger companies).
3. Functional specifications
In this section, we describe in detail the implementation of the features discussed above, specifically agents and their interactions. We abstain from giving a full parametric description of each entity since that would flood the reader with a multitude of minor details, and instead we will give a general description, supported with mathematical formulation when essential only.
We will not list the different parameters and their uses, but rather give a more detailed description of the mechanisms underlying the interaction protocols and activities listed earlier.
In Table 1, we list these actions, interactions, and calculations.
|Determines whether employed workers get raises, or|
whether unemployed workers lower their wage.
|Action||Get raise and drop wages|
|Updates the interest rate.||Action||Update interest|
|Generates new firms and workers.||Action||Create new firms and workers|
|Determines whether a firm gets a loan. Size is a fraction|
of the firm’s cash.
|Determines if and how much labor a firm hires or fires.||Interaction||Hire and fire|
|Varies the amount of money transferred between firms.||Interaction||Vary transaction matrix|
|Determine which firms compete over market shares potential,|
and determine the outcome of the competition.
|Calculate how much of the market share potential|
a firm effectively utilizes.
|Calculation||Effective market share|
|Calculate how much income firms get.||Calculation||Firm income|
Now, we briefly describe the mathematics behind each action, interaction, and calculation as applied in our model.
Get raise and drop wages: An employed individual has a probability to increase his wage each step he is employed by a certain percentage of his current wage (get a raise). Vice versa, an unemployed individual has a probability to decrease the wage for which he is willing to work each step that he is unemployed, in order to help himself get a job that is better paying than the unemployment wage.
Update interest: Interest rates may also rise and fall with respect to demand in loans. We apply a single interest rate among all firms in this version of SABLE. Every given time period, the proportion of the total debt is used to rescale the interest rate: if debt is growing, then interest rates will fall and vice versa.
Create new firms and workers: Both growth effects are assumed to be Poisson processes, with a mean related to the initial amount of workers and firms.
Get loan: Table 2 lists a means for determining the likelihood of a firm getting a loan.
|Low income||High income|
|Low cash Low debt||Likely||Very likely|
|High cash Low debt||Unlikely||Likely|
|Low cash High debt||Unlikely||Likely|
|High cash High debt||Very unlikely||Unlikely|
This could be conveniently formulated in probability terms, Pcash and Pincome, which represent the probability of a firm to get a loan regarding its cash and income, respectively.
Since we would like a probability function that rises with income and falls with increase in cash, we propose as follows:
where A and B are parameters. Since Pcash and Pincome should be independent, in general, we begin constructing the probability for a loan with
Next, we must account for the interest rate—when it is high, all firms are less likely to loan money, and so we multiply Eq. (2) by a factor of (1-conf∙I), where conf is a “confidence” parameter and I is the interest rate. Certainly, conf∙I < 1, and the smaller conf is the less impact interest rate has on the probability of getting loans. This results in the following step in the loan probability function:
The last argument to be added is the current debt, since the more indebted the firm, the less likely it is for a bank to increase that debt. Plainly, we multiply Eq. (3) by where C and D are parameters. This gives us the definitive loan probability function:
This formula allows for achieving the desired control over the financing mechanism we have created (by scaling the parameters), through a random process.
Hire and fire: Firms need labor in order to utilize their market share, and do business with other firms. On the other hand, the salaries they pay are a burden, therefore resulting in a search for optimality. We assume that firms attempt to increase or decrease a percentage of currently paid salaries for each step, since the salaries they pay are the only objective measure firms usually have of their labor effectiveness. This too is a random process, where the probability of hiring, firing, or doing neither is controlled through a similar mechanism as in Eqs. (1a) and (1b):
where Ei is a firm-specific parameter. Firing will happen in a similar fashion, leaving a probability for neither effect occurring as well.
Vary transaction matrix: We remind that the transaction matrix represents the trade of products and services between firms. To account for changes in firm behavior, we assume that the absolute values of the transaction matrix vary over time with some probability. However, we maintain the client-supplier relations fixed.
Competition: We model competition between firms through exchange in market shares, MS. Currently our model permits only one-on-one competition between firms.
The larger the market share of the firm, the less likely it is to lose to a smaller firm. So, if we have MSi > MSj as respective market shares, the probability of shares going from firm j to firm i is as follows:
where T is a coefficient. The amount of shares traded is a function of the difference in respective market shares, δ = |MSi – MSj|. Certainly, the total shares of a smaller firm may be traded this way, leaving it totally out of the market. Not all firms compete at any given time step, and the amount of competing firm pairs is a parameter of the model. New firms start without market shares, but to compensate, they always compete when they are created.
Effective market share: If a firm has a certain MSi, then it could only fully exploit a percentage of it due to not having enough products and services traded from other firms, or enough labor. Thus, all firms reach their potential market shares only asymptotically. Here, we implement the feedback between the transferring of money from firms to its peers and to its workers on its effectiveness to draw income from sales. The following equation shows the effective market share of a firm:
The measures of Employed Labori and Products Servicesi are just as they appear—the amount of them a given firm has paid for. Ei and Fi are parameters of efficiency. We should stress here that firms hire and fire labor according to the salaries paid, and not according to the labor procured from each worker, but what really counts on efficiently utilizing market shares is the labor itself.
Firm income: Firms earn (and spend) money through a total of five features, best shown through an equation:
The Market represents the entire flux of money in the economy, either from consumer spending (again, the feedback) or from exogenous sources, such as external markets or government spending. This way, each firm utilizes a certain fraction of the entire economic input. Salaries are straightforward such as the loan returns and the tax reduction. The sum on the transaction matrix represents the trade balance of the firm.
This ends the description of the core features of SABLE.
First, let us show the number of total and active firms at each time step. We see that at first the number of active firms will drop to a semi-stable (or slowly varying) amount, since the initialization is unstable. This result is valid when counting all firms, and when counting only firms that have been active at least several time steps Results are plotted after the initialization of the system is complete (about 50 time steps) (Figure 2):
We plot the results on a 12-step interval to indicate yearly changes.
This result is reasonable enough: if economy is growing, it does not necessarily mean that every firm succeeds, but that the overall number of firms increases. If economy is receding, then new firms may still emerge though their chances of success are low, since even established firms are closing.
Moreover, almost any realistic set of parameters produces more or less the same variation in the number of active firms, while sometimes that number grows or recedes. This is a very robust product of SABLE.
We see that changes in the amount of firms vary mostly in the range between ±5% of the total amount of active firms at that step, meaning that these changes are rather stable: the median is 1.5%, the 80 percentile is 3% (absolute values of change).
For different parameter sets, economy can either grow or shrink, but changes in the amount of active firms remain similar to those depicted above.
We sort the firms according to their capital (cash), earnings (the positive figures from Eq. (8)), the relative amount of employees, and employed labor, at the final step of the simulated run. In order to study that distribution, we plot the results on a log-log scale (Figure 3).
We see that the distribution of the above variables roughly satisfies a power-law distribution. That is reasonable since the large capital accumulation is unavoidable for large firms: our model does not include either shareholders or a financial market where the cash could have been reinvested (except in the expansion of production). The dependence in the lower part might be characterized by another power law: the splitting of the distribution into two parts is expected  but largely exaggerated: most firms are indeed small (in all aspects) and only a few firms should be able to have large funds, income, and labor.
Also, we see that the relative amount of employees (blue dots) and employed labor (red circles) on the right-most plot are strongly correlated in this example.
It is a reassuring feature of SABLE, since this power law in capital accumulation is expected. Similar power-law dependencies in the firms’ financial indicators have been often empirically validated by various authors [14–16] and were spontaneously achieved.
We inspect unemployment rates, and see that it is in the rational vicinity of up to 10% most of the time. There are, however, crises (besides the initialization effects), where unemployment soars, but then returns to low values (Figure 4).
The “peaks” in unemployment result from two effects, which may overlap: a wave of bankruptcies causing several firms to close and fire their workers during the same step, or the closing of major firms.
We see that these crises are highly correlated with the dips in aggregate salaries as expected.
We have truncated the initialization steps, since the unemployment is extremely high and, respectively, very confusing when visualized.
Although it may seem that at some intervals unemployment is going down to zero (when not discussing the peaks), it is in fact just a low percentage: firms constantly go bankrupt and lose their workers, and firms may sometimes fire workers due to financial problems. However, when small firms go bankrupt the global effect on unemployment is usually insignificant because these firms hold a very low percentage of labor.
This small percentage is, however, important because in periods of growth when unemployment is very low new firms still emerge with man-power requirements, which cannot be met without available labor that has been released from current firms.
The slope of the rise in aggregate salaries is a product of input parameters, mainly the probability of giving raises, the raise amount relative to current employee wage, and the growth of new workers. Also, since we have a maximum wage (in the default setting equals 20 times the minimum wage), should that wage be achieved for all current workers further raises would become impossible, and the only growth in the aggregate salaries would be due to the introduction of new workers. This effect is inevitable when regarding sensible labor procedures: if unemployment is low, most people stay at their jobs (or move mostly to better-paying jobs, though it is not part of SABLE). Eventually, a person who stays employed will get a raise, though his/her productive ability remains more or less the same on the scope in which we deal. After enough such raises, his/her salary will exceed his/her labor capability.
Next, we discuss the variation in firms’ debt. In the current version of SABLE, we do not deal with firms’ debt in great detail. In particular, the debt of the firms that are going bankrupt is not being dealt with: it is simply being ignored. This approximation is satisfying for the current level of implementation when our goal is to test the basic functions of economy; however, for a more profound result that can be compared with the empirical analysis , it will be necessary to refine the model. The light blue color indicates bankruptcy, as opposed to the dark blue color which indicates no debt (trivially true for nonexistent firms). The end of initialization is indicated by a thick red horizontal line (Figure 5).
Overall, debt per firm slowly grows in this example (more frequent loans). This happens mostly due to the fact that interest is low, so that firms are expected to get loans. This allows the firms who get loans better chances of success. Then, new firms emerge and get loans before older firms have paid off their current debts, so that momentarily the total debt increases.
Moreover, since more firms are active at each time, the chances that they would loan additional money increase, causing an increase in the normalized debt.
Correlation between behavior in debt and other features has not yet been thoroughly established. However, a preliminary analysis indicates that economy and debt grow together, meaning that when unemployment is low and firms succeed more than they fail—debt increases—and vice versa.
We are also inspecting the number of time steps that firms have been active before going bankrupt. We see that most firms are active for only a single step, and that a very small number of firms live more than 20 steps. This is also quite expected: we do not distinguish between the entrepreneurs and firms; thus the model makes the decision on which of the entrepreneurs starting new businesses will develop until the level of real firms. The growth opportunities are equal for all new firms and not related with the products they are bringing to the market, that is, we are neglecting any industrial classification in this version of the model, that is, the luck is the main ingredient needed to the survival of the small firms and entrepreneurs (similar as in the model of ) (Figure 6).
This result is sensible enough, since most firms eventually will close, and most firms will be short-lived. Generally, it does not mean that older firms are more powerful in terms of available cash or income.
The generic runs we performed until now show that a series of properties of the economic systems and of their models are very nonspecific and do not depend on the details of the implementation:
We obtain relatively stable economies with a number of active firms in the market that fluctuates around an average value corresponding to the economy size, and yet have firms go bankrupt and new firms are created. This is a rather realistic feature of the economy .
The power-law distribution, in particular in the distribution of wealth of the firms, their life span, and the labor they employ, emerges spontaneously without any fine-tuning of the parameters (in particular, this means that most firms are small, and only a few are large).
We reach sensible unemployment levels, with fluctuations in unemployment coupled to the market fluctuations.
In particular, when unemployment is low, wages are higher than the labor they buy, meaning that workers work for more than they are actually worth.
The life span of firms also agrees with the empirical known facts. We obtain a power-law distribution, meaning that most firms are very short-lived, and only a few may stay active for long time periods.
The current ratio of active firms that resulted from the default run agrees with the typical empirical data .
Representing economic reality in a simple computer platform seems to be quite a torturous path toward an elusive target.
However, this effort to capture the essentials of the economic system in a quantitative, intuitive, and conceptually meaningful way is not a void academic exercise. Rather, it offers an interactive and transparent way of revealing the mechanisms that make an economy function, such as the emergence of collective macroscopic phenomena out of individual interactions.
The fact that this is not a barren effort is proven daily by the strong controversies in the news between different economist schools about virtually every social and policy item.
We may hope at some stage to have the quantitative platforms such as SABLE as central participants to these debates by “commenting numerically” and supporting quantitatively the various proposals and verbal arguments raised in the media.
One does not expect a machine to be a definitive judge between the views and principles introduced by different schools or interest groups. Conversely, one can positively expect to check whether the logical conclusions and quantitative relations within a certain theory of narrative add up: presenting simulations that parallel a verbal/policy argument and confirm or contradict a certain position/prediction.
As such, we expect SABLE to contribute to an informed, precise, yet not “academic jargon” analysis: exactly what the society is yearning for in the last years!
At the conceptual level, one may hope to repeat in the economic field the success of natural sciences in the last century: understanding and predicting the macroscopic world (including this time society, economics, collective human behavior) in terms of “microscopic” simple rules acting at the level of the individual agent.