Skip to contents

BRREWABC (Batched Resilient and Rapid Estimation Workflow through Approximate Bayesian Computation, pronounced “brew abc”: /bruː ˌeɪ.biːˈsiː/) : an R package designed to facilitate inference through a parallelized Approximate Bayesian Computation Sequential Monte Carlo (ABC SMC) algorithm. This package streamlines the process of conducting Bayesian inference for complex models by implementing efficient parallelization techniques.


The algorithm used corresponds to an Approximate Bayesian Computation approach using a Sequential Monte Carlo sampler. This iterative algorithm enhances the basic ABC algorithm by incorporating two main steps: weighted resampling of simulated particles and a gradual reduction in tolerance. Similar to the ABC rejection approach, a prior distribution is defined, aiming to estimate a posterior distribution. In ABC-SMC, this estimation is achieved sequentially by constructing intermediate distributions in each iteration, converging towards the posterior distribution.

The specific implementation used in the package improves upon Del Moral et al. (2006) original algorithm 1 in three ways:

  • an adaptive threshold schedule selection based on quantiles of distances between simulated and observed data 2 3
  • an adaptive perturbation kernel width during the sampling step, dependent on the previous intermediate posterior distribution 4 5
  • and the capability to use multiple criteria simultaneously.


  • Parallelized ABC SMC: Conduct inference using an Approximate Bayesian Computation Sequential Monte Carlo algorithm, parallelized for enhanced computational efficiency.
  • Flexible Model Specification: Easily specify complex models.
  • Customizable Settings: Fine-tune algorithm parameters to suit specific modeling needs and computational resources.
  • Scalable: Utilize parallel computing capabilities to handle large datasets and complex models with ease.
  • Comprehensive Documentation: Detailed documentation and examples to guide users through package functionality and usage.


You can install the development version of BRREWABC from GitHub with:

# install.packages("devtools")


For a basic example, see the Get Started section.

Getting help

# Access package documentation
help(package = "BRREWABC")


Contributions to BRREW-ABC are welcome! If you encounter any issues, have feature requests, or would like to contribute enhancements, please feel free to contact us.

Project status

This project is constantly evolving, according to needs and suggestions, at a pace that depends on the time that can be devoted to it.

Authors and acknowledgment

BRREW-ABC was developed by Gaël Beaunée thanks to the advice of a number of people, many thanks to them.


If you encounter any issues, please feel free to contact us.