BeforeIT.jl: High-Performance Agent-Based Macroeconomics Made Easy
Aldo Glielmo, Mitja Devetak, Adriano Meligrana, Sebastian Poledna
TL;DR
The paper addresses the need for an open, high-performance platform to build macroeconomic ABMs by introducing BeforeIT.jl, a Julia-based implementation of the Poledna 2023 base model. It emphasizes modular design, strong documentation, comprehensive testing, and the ability to run shock implementations and Monte Carlo ensembles, achieving substantial speedups over Matlab and Matlab-generated C code. Key contributions include a transparent, extensible framework with six macro agent classes, a flexible shock mechanism, and cross-language interoperability potential, enabling rapid experimentation and policy analysis. The work aims to foster collaboration, reproducibility, and scalable calibration in macro ABM research, with practical impact for forecasting and scenario analysis. Overall, BeforeIT.jl demonstrates that high performance and usability can coexist in open-source macro ABM tooling, accelerating methodological innovation.
Abstract
BeforeIT is an open-source software for building and simulating state-of-the-art macroeconomic agent-based models (macro ABMs) based on the recently introduced macro ABM developed in [1] and here referred to as the base model. Written in Julia, it combines extraordinary computational efficiency with user-friendliness and extensibility. We present the main structure of the software, demonstrate its ease of use with illustrative examples, and benchmark its performance. Our benchmarks show that the base model built with BeforeIT is orders of magnitude faster than a Matlab version, and significantly faster than Matlab-generated C code. BeforeIT is designed to facilitate reproducibility, extensibility, and experimentation. As the first open-source, industry-grade software to build macro ABMs of the type of the base model, BeforeIT can significantly foster collaboration and innovation in the field of agent-based macroeconomic modelling. The package, along with its documentation, is freely available at https://github.com/bancaditalia/BeforeIT.jl under the AGPL-3.0.
