Agent Based Simulation - Labour Bargaining with Working from Home Preferences 1.0.0
This repository contains an agent-based model (ABM) developed in Python to study labour market matching dynamics with a particular focus on work-from-home (WFH) preferences. The model examines how heterogeneous workers and firms interact in a simulated labour market, exploring how preferences for remote work, wage strategies, and hiring frictions shape overall outcomes such as unemployment, firm strategies, and worker utility.
Key features:
Agent-based structure: Workers are adaptive agents with wage expectations, WFH preferences, job-search strategies, and learning mechanisms. Firms are heterogeneous in size and strategy, offering wages and WFH arrangements, and adapting based on hiring success. The Economy coordinates job ads, applications, hiring, and tracks aggregate indicators.
Work-from-Home bargaining: WFH preferences are explicitly embedded into the matching and offer evaluation process, representing a novel contribution. Trade-offs between wages and flexibility are captured in worker utility functions.
Learning and adaptation: Firms adjust wage multipliers and WFH offers based on hiring outcomes. Workers update expectations and strategies after rejections or unemployment spells.
Simulation modes: Includes an interactive GUI (Tkinter) for single simulations, a headless mode (SLURM-compatible) for large-scale experiments, and a Monte Carlo runner for statistical robustness and reproducibility via seeded randomness.
Outputs: Tracks aggregate unemployment and wage trends, firm strategies by size, worker strategies by experience level, and provides strategy evolution plots, final summaries, and reproducible logs.
Purpose:
This repository is prepared for editorial review of the model as part of ongoing academic research. It accompanies a paper investigating the impact of WFH preferences on recruitment, wages, and labour market dynamics.
Release Notes
Version 1.0 - August 2025
Changes included in this release:
1) Added full Python implementation of the agent-based model.
2) Introduced explicit modelling of work-from-home (WFH) preferences in labour market matching.
3) Implemented adaptive learning for firms (wage multiplier, WFH offers) and workers (wage expectations, job search strategies).
4) Provided two execution modes: GUI-based simulation and headless SLURM-compatible version for large-scale runs.
5) Added Monte Carlo runner for reproducibility and statistical robustness.
Included output generation: unemployment trends, firm strategies by size, worker strategies by experience, logs, and plots.
6) Purpose: Initial release for editorial review and replication of simulation results.