BAMM (Bayesian Analysis of Macroevolutionary Mixtures) is a program for modeling complex dynamics of speciation, extinction, and trait evolution on phylogenetic trees.


BAMM is oriented entirely towards detecting and quantifying heterogeneity in evolutionary rates. It uses reversible jump Markov chain Monte Carlo to automatically explore a vast universe of candidate models of lineage diversification and trait evolution. BAMM and associated methods have been described and extended in several publications (PLoS ONE 2014 , Nature Communications 2013 , Systematic Biology 2014, and Evolution 2015). BAMM is a command line program written in C++. Post-run analysis and visualization is performed using the R package BAMMtools.

Response to BAMM critique

A comprehensive response to a recent critique of BAMM has now been published in Systematic Biology . We provide a detailed response to all major claims from the PNAS article.

  • Download Dryad data files that accompany our paper.
  • Get a pdf of our Supplementary Information directly (text and figures) without downloading the full Dryad data package.
  • Tools for crafting your own performance assessment of BAMM are provided here .

The debate is best conducted in peer-reviewed literature

We encourage vigorous scientific debate on the theoretical foundations and performance of BAMM and other methods. However, these issues are extremely technical and we believe that this discussion is best conducted in the peer-reviewed literature. Social media (Twitter, blog posts, etc) is not, in our view, the ideal platform for discussing complex issues that require careful attention to mathematics, algorithms, and/or software implementations. We will not, in general, use social media to respond to non-peer-reviewed critiques. Nonetheless:

  • We welcome user feedback and questions on the BAMM Google Groups page.
  • Bug reports can be submitted to our GitHub project site.
  • Specific concerns can be submitted directly to Dan Rabosky <drabosky@umich.edu>.

Recent changes

We’ve made a number of changes - some major - to both BAMM and BAMMtools that significantly improve performance and reliability. If you have used a previous version of BAMM or BAMMtools, we recommend installing the latest version.

  • BAMMtools now computes the prior analytically for the compound Poisson process model; there is thus no need to simulate the prior distribution of the number of shifts. More on this here.
  • BAMMtools 2.1+ uses branch-specific marginal odds ratios to identify credible sets of shift configurations. More about why we made this change here.
  • Users can now use BAMMtools to test whether BAMM is correctly computing likelihoods (see here).
  • Some important bug fixes are documented here.
  • Comprehensive overhaul of BAMM’s C++ core for transparency and extensibility
  • Metropolis coupled MCMC implemented by default to facilitate convergence. The MC3 is described here.

Take a look at a new webpage that explains some of the intricacies of phylorate plot interpretation.

Please see the Changes page for more information.

Concerns about the reliability of BAMM

Please see our page for DIY BAMM validation, with guided exercises to illustrate how you can test whether diversification inferences with BAMM are reliable.


The development of BAMM is funded by the National Science Foundation.