HURLAB-v0 (HUman Resource Laboratoy):
 An Agent-Based Model
    Posada, Marta; Martín-Sierra, Celia; and Perez, Elena (2017) 'Effort, Satisfaction and Outcomes in Organisations' Journal of Artificial Societies and Social Simulation 20 (2) 9. doi: 10.18564/jasss.3418
Preliminary version: Marta Posada, Celia Martín-Sierra, and Elena Pérez. 11th Artificial Economics Conference. Porto (Portugal) 2015
Description (using ODD Protocol) of HURLAB-0 model
OVERVIEW
PURPOSE
HURLAB-0 (HUman Resource LABoratory-version 0) is an agent-based model to link Human Resource Management and performance within different formal organisational structure frameworks. It is inspired on Guest’s (1997), and, in order to model the boxes of Guest’s (1997) model, we have based on previous ABMs research (Dal Forno and Merlone 2002, Dal Forno and Merlone 2004), and on HRM empirical research (Griffeth et al. 2000).
Our purpose is to analyze: (i) the emergence of an organisational culture and its relationship with formal organisational structures; (ii) the reduction of voluntary turnover by selecting effective HRP.
REFERENCES:
Dal Forno, A., Merlone, U. (2002): A multi-agent simulation platform for modeling perfectly rational and bounded-rational agents in organizations, Journal of Artificial Societies and Social Simulation 5 (2): 1460-7425
Dal Forno, A., Merlone, U.: (2004) Personnel Turnover in Organizations: an Agent-Based Simulation Model, Nonlinear Dynamics, Psychology, and Life Sciences 8 (2): 205-230.
Guest, D.E. (1997). 'Human resource management and performance: a review and re-search agenda'. lnternational Journal of Human Resource Management, 8: 263-276.
ENTITIES, STATE VARIABLES AND SCALES
HURLAB-0 is populated by two types of bounded-rational agents: employees and organization.
PROCESS OVERVIEW AND SCHEDULING
HURLAB-v0 interface:
 
        
        Relationship interface- process overview:
 
        Relationship process overview- procedures- variables:
 
        to setup ;------------------------------------------------------------------------------------------------------------------------------------------------------------------
              clear-all
              setup-jobs ;; to inicializate the jobs (job 0, ....job m-1)
              create-structure-formal
              setup-workers                                 ;; to inicializate the workers (worker m, ....worker n+m)
              link-workers-TO-jobs                          ;; to assign jobs (level and wage) to workers and place workers on patches
              if (formal-organizational-configuration = "strong matrix" or formal-organizational-configuration = "balanced matrix")  [create-team]
              calculate-staff-characteristics
              reset-ticks                              ;;  Resets the tick counter to zero
              end
to go ;------------------------------------------------------------------------------------------------------------------------------------------------------------------
              while [ticks < time]
              [
              involuntary-turnover-decisions
              voluntary-turnover-decisions
              staffing-requirements 
              setup-new-workers
              update-empty_jobs-with-workers
              update-workers-variables
              calculate-staff-characteristics
              tick   ; advances the tick counter by one and updates all plots
              ]
              stop 
              end
DESIGN CONCEPTS
■  Emergence (a summary of emergent phenomena from the interaction of the agents).
            Effort (from the interaction between employees), Performance and Satisfaction (from the interaction between employees and organisation)
■ Adaptation (how the agents adapt their behaviour to their and their environments current state)
            Employees adapt their effort intensity by conisdering both their behaviour (null, shrinkind, averager, comparator, replicator, null). For more details see: Dal Forno and Merlone (2002)
■  Fitness/Objectives (a summary of the agents' goals)
            The goal of the organization is both to obtain a high organisation-performance dismissing the  low-performance employees, and to retain high-performance employees.
■ Prediction (how the agents predict the consequences of their decisions), Neither the organisation nor the employees predict the consequences of their decisions, only observe their consequences
■  Sensing (environmental variables perceived by the agents, which might include their own variables)
            Human Resource Management practices influences the employees' individual satisfaction.
■ Interactions, stochasticity (if present, and the reasons for it). The interactions between employess take within formal organization structures (functional, balanced matrix and strong matrix). When employees are grouped into teams, the interactions take place dependeding on the leadership (egocentered and democratic)
■ Collectives (whether the agents are grouped socially) and Observation (how data are gathered from the model)
DETAILS
INIZIALIZATION
By the interface and by random generation
■ INPUT DATA
 
   
             
          
          
            ■ SUBMODELS
■ DEFINE ORGANIZATION STRUCTURE
ask patches [set pcolor white]
                  create-jobs number_of_jobs 
                  [ set shape "circle"
                  set color black
                  set size 0.2]
 
            ■ CREATE STRUCTURE FORMAL
                create links between jobs
              
          
          
            ■ SET UP WORKERS
                  set number_of_workers number_of_jobs
                  ;--------------------------------- 
                  set-default-shape workers "person" ;; 
                  create-workers number_of_workers                ;; to create the workers: worker n, worker n+2,....worker m
                  [ 
                  ;-------------------------imput variables
                  define-demograhic-workers-variables        ; workers variables are randomly generated
                  define-professional-workers-variables
                  ;-------------------------endorsement 
                  define-endorsements
                  calculate-E_list                ;calculating initial value of the endorsement 
                  ;-------------------------behaviour
                  set behaviour population ;INITIAL HOMOGENEOUS POPULATION
                  ;-------------------------outcomes
                  define-effort
                  define-individual-satisfaction
                  define-individual-performance
                  define-color 
                  ]
                
                       
          
            ■ LINK WORKERS TO JOBS
                set i 0
                  set j number_of_workers
                  ;;***************LINKS WORKERS TO JOBS ***************************** 
                  while [i < number_of_jobs] 
                  [ask worker j [set level [job_level] of job i
                  set area [job_area] of job i
                  set department [job_department] of job i
                  set project_manager [job_project_manager] of job i
                  setxy ([xcor] of job i) ( [ycor] of job i )  
                  create-link-to job i
                  ] 
                  set i i + 1
                  set j j + 1]
              
            ■ CREATE TEAM
                create-the-team-mebers
                  calculate-team-performance
                  team-star
                ;-------LINKS IN WHOLE
                  if team-leadership = "democratic" [team-whole]
              
                    
            ■ INVOLUNTARY TURNOVER DECISIONS
                ask workers with [effort < firing-level]
                  [heritage_&_replacement_from_die_workers_TO_empty_jobs
                  die];;------------------------------------------ if effort < x, employee is dismissed by the organization
                  
                  set turnover_involuntary_percent turnover_involuntary / number_of_workers * 100
              
          
          
            ■ VOLUNTARY TURNOVER DECISIONS
                ask workers with [individual_satisfaction  < satisfaction-to-stay ]
                  [heritage_&_replacement_from_die_workers_TO_empty_jobs
                  die];;------------------------------------------------------------ if e_value < 0, employee leaves the organization
                  
                  set turnover_voluntary_percent turnover_voluntary / number_of_workers * 100
              
          
          
            ■ STAFFING REQUIREMENTS
                create list with empty jobs
              
          
          
            ■ SET UP NEW WORKERS
                set up workers
              
          
          
            ■ UPDATE EMPTY JOBS WITH WORKERS
                new-workers-on-empty-jobs
              
          
          
            ■ UPDATE WORKERS VARIABLES
                 update-demographic-variables   ;update age, children and, therefore, satisfaction
                  if structure_formal = 1        ;update effort and performance
[ supervisor-effect
update-effect-star
if team-leadership = "democratic" [update-effect-whole]
]
                
              
          
          
            ■ CALCULATE STAFF CHARACTERISTICS
                effort avarege, performance average, satisfaction average and others
              
            