ideology
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
Ideological domination in organisations
WHAT IS IT?
This model simulates the impact of individual staff members' ideologies on organisational dynamics. It explores how differing ideologies among staff with varying levels of influence affect the overall distribution of ideologies. The model provides insight into how, over time, one ideology can become dominant in an organisation.
HOW IT WORKS
Agent types: - Senior staff: These agents have higher influence (randomly set between 60 and 100) - Other staff: These agents have lower influence (randomly set between 0 and 40)
Rules and behaviours: - Movement: Agents move randomly within a 2D grid to simulate office interactions. - Interaction: ---- Different ideologies: An agent’s happiness decreases by 1 when they encounter another agent with a higher influence and a different ideology. ---- Same ideology: An agent’s happiness increases by 1 when interacting with another agent sharing the same ideology. - Turnover: Agents whose happiness falls below the threshold set by the user leave the organisation and are replaced by new agents (of the same type) with randomly assigned properties.
Environment: - The model operates in a 2D grid environment representing an office space where agents can move and interact with each other.
HOW TO USE IT
Sliders:
- senior-staff
: Controls the number of senior staff members.
- other-staff
: Controls the number of other staff members.
- happiness-threshold
: Sets the minimum happiness level required for an agent to remain in the organisation.
- senior-left-ratio
: Controls ratio of left senior staff members.
- senior-right-ratio
: Controls ratio of right staff members.
- other-left-ratio
: Controls ratio of left other staff members.
- other-right-ratio
: Controls ratio of other staff members.
- The remainder will be designated as 'centre'.
Buttons:
- Setup
: Initialises the model by creating the specified number of senior and other staff members, and assigns their properties.
- Go
: Starts or continues the simulation. If set to "Forever", the simulation runs continuously; otherwise, it advances one time step per click.
Monitors:
- turnover count
: Tracks the total number of staff who have left the organisation.
- # total left wing
: Tracks the total number of staff who have 'left' ideology.
- # total right wing
: Tracks the total number of staff who have 'right' ideology.
- # total centre
: Tracks the total number of staff who have 'centre' ideology.
THINGS TO TRY
- Adjust the number of senior and other staff members using the sliders to examine their effects on organisational stability and employee happiness.
- Modify the happiness threshold to observe changes in staff turnover and overall dynamics.
- Experiment with different ideological distributions to see how various starting conditions affect the model’s outcomes.
THINGS TO NOTICE
- Ideological shifts: Observe changes in the distribution of ideologies over time as staff interact with each other.
- Initial ideologies: Consider how different initial distributions of ideologies impact the model’s behaviour.
- Organisation size: Observe how the size of the organisation impacts ideological shifts.
RELATED MODELS
- Segregation Model: Examines how agents with different preferences create patterns of segregation.
THOUGHTS AND POSSIBLE EXTENSIONS
At the minute, I think the interactions could be improved. It seems unlikely that the senior staff would be dominated by one ideology and the general staff would be dominated by other, but this is possible within this model: when there's a high proportion of other staff, the model seems to stabilise in that way. Further work is needed to address this.
As well as this / relatedly, I'd be interested in extending the model to investigate the effect of the dominant ideology on what new staff members are recruited. I imagine that, once an ideology is dominant, new staff members are more likely to have that ideology. This would therefore be interesting to explore when I extend the model.
Thank you for reading!
Comments and Questions
;; Ideological dominance in organisations ;; globals globals [ turnover-count senior-left-prop ;; proportion of left ideology senior staff senior-centre-prop senior-right-prop other-left-prop other-centre-prop other-right-prop ] ;; agents turtles-own [ ideology ;; "left", "centre", or "right" influence ;; 0-10 happiness ;; 0-10 to-be-replaced? ;; boolean for marking turnover ] ;; setup procedure to setup clear-all set turnover-count 0 ask-user-for-proportions setup-turtles ;; plot setup set-current-plot "ideology distribution over time" set-plot-y-range 0 (senior-staff + other-staff) create-temporary-plot-pen "left" ;; define the pen for 'left' set-plot-pen-color red create-temporary-plot-pen "centre" ;; define the pen for 'centre' set-plot-pen-color grey create-temporary-plot-pen "right" ;; define the pen for 'right' set-plot-pen-color blue reset-ticks end to ask-user-for-proportions ;; get proportions from sliders and calculate centre proportion set senior-left-prop senior-left-ratio set senior-right-prop senior-right-ratio set senior-centre-prop 100 - senior-left-prop - senior-right-prop set other-left-prop other-left-ratio set other-right-prop other-right-ratio set other-centre-prop 100 - other-left-prop - other-right-prop ;; ensure the centre proportion is not negative if senior-centre-prop < 0 [ set senior-centre-prop 0 ] if other-centre-prop < 0 [ set other-centre-prop 0 ] show (word "senior staff proportions - left: " senior-left-prop ", centre: " senior-centre-prop ", right: " senior-right-prop) show (word "other staff proportions - left: " other-left-prop ", centre: " other-centre-prop ", right: " other-right-prop) end to setup-turtles ;; create senior staff create-turtles senior-staff [ set shape "circle" ;; set shape for senior set ideology choose-ideology senior-left-prop senior-centre-prop senior-right-prop set influence random-float 40 + 60 ;; random between 60 and 100 set happiness random 11 ;; random between 0 and 10 set to-be-replaced? false ;; initialize to false setxy random-xcor random-ycor colour-based-on-ideology ;; set colour based on ideology ] ;; create other staff create-turtles other-staff [ set shape "square" set ideology choose-ideology other-left-prop other-centre-prop other-right-prop set influence random-float 40;; random between 0 and 40 set happiness random 11 ;; random between 0 and 10 set to-be-replaced? false ;; initialize to false setxy random-xcor random-ycor colour-based-on-ideology ;; set colour based on ideology ] end to-report choose-ideology [left-prop centre-prop right-prop] let r random-float 100 if r < left-prop [ report "left" ] if r < (left-prop + centre-prop) [ report "centre" ] report "right" end to colour-based-on-ideology if ideology = "left" [ set color red ] if ideology = "centre" [ set color grey ] if ideology = "right" [ set color blue ] end ;; go procedure to go ask turtles [ move ] ask turtles [ interact ] check-turnover create-new-turtles ;; update the ideology distribution plot set-current-plot-pen "left" plot count turtles with [ideology = "left"] set-current-plot-pen "centre" plot count turtles with [ideology = "centre"] set-current-plot-pen "right" plot count turtles with [ideology = "right"] tick end ;; turtle procedures to move rt random 360 fd 1 if any? other turtles-here [ setxy random-xcor random-ycor ;; prevent moving into the same cell ] end to interact let neighbour one-of turtles-on neighbors4 if neighbour != nobody [ if [ideology] of neighbour != ideology [ if [influence] of neighbour > influence [ ifelse shape = "circle" and [shape] of neighbour = "square" [ ;; nenior interacts with other staff with different ideology set happiness happiness - 1 ][ set happiness happiness - 1 ;; non-senior interaction - these are the same right now but could be changed ] ] ] if [ideology] of neighbour = ideology [ set happiness happiness + 1 ;; happiness increases for same ideology interaction ] ] end to check-turnover ;; mark turtles for turnover ask turtles [ if happiness < happiness-threshold [ set to-be-replaced? true ] ] ;; remove marked turtles ask turtles with [to-be-replaced?] [ set turnover-count turnover-count + 1 die ] end to create-new-turtles let num-new-turtles (senior-staff + other-staff) - count turtles create-turtles num-new-turtles [ ifelse random-float 1 < (senior-staff / (senior-staff + other-staff)) [ ;; creating senior staff set shape "circle" ;; shape for senior staff set ideology choose-ideology senior-left-prop senior-centre-prop senior-right-prop set influence random-float 40 + 60 ;; random between 60 and 100 ] [ ;; creating other staff set shape "square" ;; shape for other staff set ideology choose-ideology other-left-prop other-centre-prop other-right-prop set influence random-float 40;; random between 0 and 40 ] set happiness random 11 set to-be-replaced? false ;; reset marker to false setxy random-xcor random-ycor colour-based-on-ideology ;; set colour based on ideology ] end
There is only one version of this model, created about 1 year ago by ray morrison.
Attached files
No files
This model does not have any ancestors.
This model does not have any descendants.